Aymen - Senior iOS Developer
Ref : 161112C001-
92150 SURESNES
-
Ingénieur de développement, Développeur (33 ans)
-
Totalement mobile
-
Bientôt freelance
Expérience professionnelle
RATP [Depuis Août 2020]
RATP est un acteur majeur dans le secteur du transport publique en France,
spécialement à Paris. Des millions de franciliens utilisent l’application RATP
pour faire de la recherche itinéraire, consulter les alertes sur leurs trajets
ou réserver des VTC ou trottinettes dans le cadre du programme Mobility-as-aService (MaaS) et la monétisation de l’application.
Tâche effectuées
- Conception et développement du module de réservation MaaS
- Refactos pour le passage d’un monolite à une app modulaire
- SDKiastion de l’application
- Améliorer les transitions dans l’application
- Développement d’un module de Scan QR code
- Développement d’un module d’Advertising basé sur GoogleAds
- Validation UI/UX avec l’équipe de design
- Code Review
- Amélioration de la testabilité de l’application : 49% Code Coverage
- Rebranding de la marque RATP en BonjourRATP
- Monétisation de l’application
- Gestion des consentements
- Intégration des espaces publicitaires.
- Sortie du référentiel local.
- Automatisation des Script de livraison.
Stack technique
- Clean Archi. (Coordinators-based)
- Swift 4.x -> 5.x
- Unit testing : XCTest
- CI & CD : GitLab, Fastlane, Custom Scripts
- CoreData, Push-Notification, SPM, GoogleMaps, Design System, Google Maps,
GoogleAds, TagCommander, Apple Tracking Transperancy.
- GitLab, GitFlow
Equipe : 12 développeurs organisés en Feature-Team (Scrum Agile)
RENAULT DIGITAL [Mars 2018 - Mai 2020]
Au cours de cette mission, j’ai travaillé principalement sur l’application
mobile MyRenault - le produit digital phare du constructeur automobile en ce
moment - elle permet à l’utilisateur de se connecter à son espace Renault pour
bénéficier d’un ensemble de fonctionnalités spécifiques à chaque voiture telles
que la programmation de recharge et la consultation du niveau de batterie pour
les voitures électriques, ou encore l’historique de la maintenance et
l’activation du climatiseur pour les voitures thermique.
Tâche effectuées
- Développement des modules connectés à la voiture
- Migration vers Swift 5.1
- Génération des modules transverses
- Refactoring de l’architecture
- Validation UI/UX avec l’équipe de design
- Code Review
- Amélioration de la testabilité de l’application : 39% Code Coverage
- Préparation de la marque blanche de l’application
Stack technique
- Architecture Apple MVC + isolation de la couche service
- Swift 4.x -> 5.x
- Unit testing : XCTest
- CI & CD : Jenkins, Fastlane, SwiftLint
- CoreData, PromiseKit, Push-Notification, IoT, CocoaPods, GoogleVision,
GoogleMaps, DarkMode, Google Maps, Face-ID
- GitLab, GitFlow
Equipe : 12 développeurs organisés en Feature-Team (Scrum Agile)
BNP Paribas [Novembre 2016 - Février 2018]
Au cours de cette mission, j’ai travaillé principalement sur 2 l’applications:
* LeoCare, c’est une application d’assurance voitures et logement On-Demand qui
offre à l’utilisateur une expérience 100% mobile et 100% digitale.
* MobileBanking, il s’agit d’une application modulaire qui permet à
l’utilisateur de gérer son compte bancaire et de suivre les actus de sa banque.
Tâche effectuées
- Mise en place de l’architecture du projet
- Développement d’un module de visio-conférence
- Développement d’un module de gestion de compte utilisateur
- Développement d’un module d’actualités génériques
- Code Review
- CI & CD : Jenkins, Fastlane, SwiftLint
Stack technique
- Architecture MVVM
- Swift 4.x
- Unit testing : Quick & Nimble
- Realm, SwiftRx, SaaS, RealTime, VisioConférence, Pods interne
- SwiftLint, GitLab, GitFlow
Equipe : 7 développeurs (Scrum Agile)
DIGIT-U [Août 2013 - Octobre 2016]
Il s’agit d’une expérience très enrichissante chez une agence de développement
web et mobile. Nous avons accompagné plusieurs startups à réaliser leurs
produits chose qui m’a permis de participer aux différentes phases de
réalisation d’un produit digital; de la spécification des besoins fonctionnels
et non-fonctionnels jusqu’à la mise en production et la TMA corrective et
évolutive.
J’ai participé à la conception et au développement de 9 applications mobiles
dont 4 en tant que Lead Developer d’une équipe de 8 développeurs en Scrum Agile.
Aussi, j’avais des contributions à la mise en place des process de qualités
ainsi qu’au développement des modules réutilisables afin que l’entreprise ait un
coût de développement compétitif sur le marché.
1. LIRIS-Connect
C’est une application IoT basée sur BLE (Bluetooth Low Energie) qui permet de :
• Visualiser les données des capteurs Bluetooth (LIRIS) en temps réel
• Configurer les capteurs Bluetooth
• Télécharger les données stockées sur le capteur
• Envoyer les données téléchargées à un serveur distant
• Localiser les stations sur le terrain
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module de communication avec le capteur BLE
- Développement du system login Face-ID
- Développement du module gestion des données offlines
- Code Review
Stack technique
- Architecture Apple MVC
- Swift 4.x
- Unit testing : XCTest
- Realm, CoreBluetooth, Face-ID, temps réel, Cocoapods
- CI & CD : Jenkins, Fastlane, SwiftLint
2. Bee The Move (BTM)
C’est un réseau social, outil d’aide à la décision et une plateforme e-commerce.
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module d’actualités interactifs
- Développement du module de connexion via les réseaux sociaux
- Développement du module de création des évènements
- Validation UI/UX
- Code Review
Stack technique
- Architecture Apple MVC
- Swift 3.x -> 4.x
- Unit testing : XCTest
- Realm, Socket.io, SaaS, RealTime, Face-ID, temps réel
- SwiftLint, GitLab, GitFlow
3. TootSweet
Il s’agit d’une application qui permet à l’utilisateur de connaître les bons
plans de sortie autour de lui sur Paris
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module d’actualités interactifs
- Validation UI/UX avec l’équipe de design
- Développement du module de connexion via réseau sociale
- Développement du module de création des évènements
- Code Review
Stack technique
- Architecture MVP
- Swift 1.x -> 3.x
- Unit testing : XCTest
- Realm, Design minimaliste, Cocoapods, Mutlti-threading, Offline data
- SwiftLint, Hound, GitLab, GitFlow
4. Fidelito
L’application permet de localiser les bons plans d’autour de l’utilisateur en
Suisse: les meilleurs commerçants, artisans, thérapeutes...
Elle permet aussi d’effectuer des réservations et de gérer un espace favoris.
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module des recherches localisées des partenaires
- Développement du module de gestion des favoris
- Mise en production sur le store
- Livraison pour les Beta-testeurs via Crashlytics
Stack technique
- Architecture VIPER
- Swift 4.x
- Unit testing : XCTest
- Realm, Alamofire, Social login, Cocoapods, Apple Maps
5. L’Agora
C’est une application destinée principalement pour les fanatiques du cinéma.
Elle présente la grille de programmation hebdomadaire de l’espace culturel
L’Agora
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module de consultation de la grille hebdo des films/events
- Mise en production sur le store
- Validation UI/UX avec l’équipe de design
- Livraison pour les Beta-testeurs via Crashlytics
Stack technique
- Architecture Apple MVC
- Swift 3.x -> 4.x
- Unit testing : XCTest
- Realm, Alamofire, Adaptative layout, Cocoapods
6. Babybrains
Il s’agit d’une application destinée aux mamans qui permet d’afficher des
conseils journaliers selon l’âge de leurs bébés configuré préalablement
Tâches effectuées
- Mise en place de l’architecture du projet
- Développement du module des conseils personnalisables
- Développement du module de Push-Notification
- Mise en production sur le store
- Livraison pour les Beta-testeurs via Crashlytics
Stack technique
- Architecture Apple MVC
- Swift 3.x -> 4.x
- Unit testing : XCTest
- Realm, Alamofire, Social login, Cocoapods, Apple Maps
7. Youpi Connect
Il s’agit d’une application qui met à la disposition des résidents des immeubles
une plateforme interactive sur le fonctionnement des services généraux de leur
immeuble en temps réel
Tâches effectuées
- Développement du module de gestion du profil utilisateur
- Mise en production sur le store
- Livraison pour les Beta-testeurs via Crashlytics
- CI & CD : Jenkins, Calabash
Stack technique
- Architecture Apple MVC
- Swift 1.x -> 2.x
- SQLite, Alamofire, Adaptative layout, Cocoapods
8. Love’n Touch
Il s’agit d’un projet qui s’inscrit dans le cadre des applications de rencontre.
Elle permet aux utilisateurs d’effectuer une recherche géo-localisée, répondre à
des quizz télépathiques et gérer leurs espaces personnels.
Tâches effectuées
- Développement du module de gestion du profil utilisateur
- Mise en production sur le store
- Livraison pour les Beta-testeurs via Crashlytics
Stack technique
- Architecture Apple MVC
- Swift 1.x
- SQLite, Alamofire, Autolayout, Cocoapods
- NodeJS, MongoDB
9. Digital Mall
C’est une application générique et personnalisable qui permet de présenter les
boutiques, les produits populaires des Malls et Show-room
Tâches effectuées
- Développement d’un module générique de gestion des boutiques
- Livraison pour les Beta-testeurs via Crashlytics
- Brainstorming sur l’architecture du projet
Stack technique
- Architecture Apple MVC
- Swift 1.x
- CoreData, Alamofire, Autolayout, Cocoapods
Formation
2011 - 2014 Diplôme national d’Ingénieur en Informatique
École Nationale d’Ingénieur de Carthage
2009 - 2011 Cycle préparatoire Math-Physique
Institut Préparatoire aux Etudes d'Ingénieurs El Manar (IPEIM)
2009 Diplôme Baccalauréat en Mathématique
Compétences techniques
Langages natives : Swift (depuis 1.0), Java (Android)
Base de données mobile : SQLite, Realm (depuis 0.7), ORMLite
UI/UX design mobile : Photoshop CC, Illustrator CC
Sketching : Sketch, Marvel
Gestion de version : Git, SVN
Plateforme de livraison : Crashlytics, TestFlight
Back-End : NodeJS, JEE6
Méthodologie : Agile (Scrum)
Gestion de projet : JIRA, Redmine