
Amine Bensalah
iOS Senior Developer
Salaire / Taux journalier
Paris, France
Freelance
Peut venir sur site
Expertises
Langues
À propos
Introduction
🚀 Développeur Mobile Freelance (iOS & Android) & Backend PHP Symfony Freelance spécialisé dans le développement mobile natif (iOS avec Swift, Android avec Kotlin/Java) et backend avec PHP Symfony. J’accompagne mes clients dans la conception, le développement et l’évolution de leurs applications mobiles et web, avec une approche centrée sur la performance, l’expérience utilisateur et la robustesse technique. Grâce à mon expertise full-stack mobile + backend, je suis capable de gérer un projet de
Expérience de travail
Expert iOS/macOS/Cli Swift/Objective-C/C Développer
Senior iOS/Swift DeveloperFreelance
juin 2024 - Présent
2 ans 5 mois
Paris, France
* Développement et maintenance de l'application Securrity de Netatmo. Responsibilities: * Développement de l'application Security en Swift/SwiftUI/Flux architecture * Développement des packages additionnels à l'application & l'entreprise * Développement des outils interne Robot/Automatisation/CI/CD/Documentation * Participation au développement des produits avec les PM's et les Designers en Agile * Mise en place de la documentation des package en utilisant Swift-cli/Docc * Architecture des flows d'installations (Utilisation Protocol Bonjour, Création d'applications client/serveur TCP/UDP/USB, HomeKit) * Mise en place de la clean architecture sur les modules utilisés, CameraKit, InstallerKit, PersonKit, Auth, LoginKit, DesignSystemKit, PersonKit, NotificationKit, FluxKit, d'autre ... * Expert Gitlab, gitlab-ci, intégration des informations sur les tests unitaire avec junit, code-coverage information et code-coverage avec corbertura pour un affichage graphique des lignes couvertes ou pas directement sur une Merge-Request, Utilisation de l'api pour des releases automatique en utilisant les normes. Achievements: * Développement de nouvelles fonctionalité & Fix de bugs. * Mise en place de tests unitaires et ui-tests. * Mise en place de la documentation technique. Utilisations de patterns évolué, utilisation de SwiftMacro + SwiftPlugin, Utilisation de Swift avec des API en C, Utilisation de toutes les features de Swift, Migration vers Swift 6, Mise en place de Async/Await d'une manière structuré. Utilisation de Swift-Package-Manager sur tous les packages de l'entreprise, même pour faire du Swift sur Linux. Chez Netatmo on exploite vraiment tous le potentiel du langage Swift, avec des patterns que l'on ne trouve pas ailleurs, c'est vraiment une expériences enrichissante
Expert iOS Swift/Kotlin KMP Senior Developpeur
La francaise Des Jeux - Parions sport en ligne
janv. 2023 - Présent
3 ans 10 mois
Paris, France
• Participation aux développements des applications “Parions Sport En Ligne” & “ZEbet” • Mise à jour de l’application en Swift & Kotlin (KMM partie commune entre iOS & Android). • Développement des nouvelles fonctionnalités avec TCA (Redux) & SwiftUI & Clean Architecture & Modularisation. • Maintien de l’application, résolutions des bugs, ajout des tests unitaires, refacto. • Mise en place des nouveaux modules avec Swift Package Manager afin de sortir du framework commun KMM. • Mise en place d’une Documentation technique en Markdown & Docc (Code Style, Explications des fonctionnalités complexe, Démarrage du projet, Onboarding des nouveaux développeurs, Conception technique schema UML & Miro, Configuration ZEbet, Utilisation des Assets, migration de CocoaPod à SPM, SwiftFormat). • Mise en place d’atelier de conception technique afin de faciliter et de documenter les mises à jour ou la création des nouvelles fonctionnalités (Barre de recherche, Modules, Scoreboard, Mon Historique) • Relecture du code via des merges requests GitLab. • Mise en place de Xcode-Gen pour générer le xcodeproj ainsi que de partager du code entre plusieurs applications ZEbet. • Participation au processus Agile de l’équipe mobile. • Utilisation de Instrument afin d’analyser la mémoire, la batterie & les requêtes réseaux.
Freelance Senior iOS & API Backend for mobile app
Intech Consulting
mai 2018 - Présent
8 ans 6 mois
Région de Paris, France
Expert IOS/Objective-C Senior Developpeur
Le Monde
mai 2022 - déc. 2022
8 mois
Paris, France
• Participation au développement des applications du groupe Le monde (Le monde, La matinale, Télérama, Courrier International et Le HuffPost) • Création de l’application “Le HuffPost” • Développement des nouvelles fonctionnalités, maintien des applications, résolutions des bugs, ajout des tests unitaires. • Mise en place des modules qui sont utilisés par les différentes applications du groupe. • Relecture du code via des pull request GitHub. • Participation au processus Agile de l’équipe mobile
Developpeur IOS Senior
Deezer
avr. 2021 - avr. 2022
1 an 1 mois
Paris, France
• Intégration de Google Cast dans l’application Deezer 360 (Développement d’une surcouche avec test unitaire & test ui) • Mise à jour du Deezer Player avec le sdk de SONY 360 (Langage C & Obj-C++) mise en place des test unitaires • Participation au développement de sdk’s en interne/extern de Deezer, mise en place de test unitaire, utilisation massive de SPM (Swift-Package-Manager) • Mise en place d’une Sample Application afin d'implémenter les sdk’s utilisation de SwiftUI & Combine & Injection Dependence & Clean Architecture • Relecture du code via des pull request GitHub, • Equipe internationale, communication & meeting & documentation en Anglais.
Developpeur IOS Senior
Qonto
oct. 2020 - mars 2021
6 mois
Paris, France
• Développement des nouvelles fonctionnalités, maintien de l’application, clean architecture MVP-C, résolution des bugs, ajout des tests unitaires et tests UI, • Mise en place de tooling Xcode Gen & Fastlane Match & Test Plan & Swift format & Git Hook & Merge Request Templates & Changelog automatisé, mise à jour de l’automatisation du CD (Continuous Delivery) GitLab-Ci. • Développement de widget pour iOS 14 avec un Intent de configuration du widget. • Relecture du code via des MR GitLab, • Participation à un grand projet avec une équipe internationale, communication & meeting & documentation en Anglais.
Developpeur IOS Senior
Kolibree, a Baracoda company
avr. 2020 - sept. 2020
6 mois
Paris, France
• Développement des nouvelles fonctionnalités, maintien de l’application, architecture MVVM avec RxSwift, résolution des bugs, ajout des tests unitaires, • Développement d’une nouvelle application totalement indépendante pour l’Apple watch avec SwiftUI & Combine & Redux • Développement en modules afin de partager le code entre iPhone & la Watch • Relecture du code via des PR GitHub, • Participation à un grand projet avec une équipe international, communication & meeting & documentation en Anglais, j’ai beaucoup appris en terme de développement et de travail en équipe. Nous avons développé une application pour l’apple watch en un mois.
Developpeur IOS Senior
Vestiaire Collective
oct. 2019 - avr. 2020
7 mois
Paris, France
• Développement d’une nouvelle feature (le fil d’actualité) en MVVM avec 96% de test coverage, maintenance de l’application, mise à jour, fix de bugs, fix retain cycle. • Mise en place des bonnes pratiques (règle de codage (swift-lint), règle de formatage (swift-format), documentation du code, maintien d’un wiki sur GitLab) • Relecture du code via des MR GitLab, mise en place de Danger afin d’avoir certaine règle d’acceptation pour une merge request, • Mise à jour de Intégration continue et du déploiement continue avec Bitrise, Fastlane, • Participation à un projet magnifique avec une équipe internationale, communication & meeting & documentation en Anglais.
Developpeur IOS Senior
Allianz France
juin 2018 - sept. 2019
1 an 4 mois
Paris, France
• Développement d'applications iOS, watchOS en (Swift & Objective-C), maintenance et correction des bugs, ajout de nouvelle fonctionnalité, optimisation de l’application, • Mise en place d’une architecture modulaire via CocoaPods, • Mise en place de la Clean architecture (MVP & MVVM), ajout des tests unitaires, • Mise à jour du serveur de déploiement continue avec Jenkins & Fastlane et Bitbucket, • Mise en place d’une stratégie pour le Deeplink et le cache avec Core Data (iOS) • Audit de l’application mobile (Test de sécurité, déploiement automatique, Test unitaire, respect des bonnes pratiques, Clean Architecture, Recherche des fuites mémoire, ...)
Ingénieur logiciel Mobile Senior
Rakuten France
févr. 2016 - mai 2018
2 ans 4 mois
Paris, France
• Développement de l’application e-commerce de PriceMinister pour iOS (iPhone & iPad). • Création des signatures API en collaboration avec d’autres pôles afin d’implémenter les connexions client/serveur, refonte totale de la partie communication client/serveur en Swift & Alamofire. • Refonte de l’architecture visuelle en TabBar afin de rajouter des nouvelles fonctionnalités et d’augmenter le temps de session des utilisateurs. • Création des composants graphiques afin de les réutiliser et d’avoir une charte graphique (Design System) unifiée et facilement modifiable • Implémentation d’une nouvelle architecture (MVVM & VIPER & Coordinator Pattern) afin d’ajouter des tests unitaires, ajout de SwiftLint afin d’avoir un code style bien propre à l’application et de faciliter l’intégration d’autres développeurs. • Code Review via Bitbucket afin d’améliorer le code et déploiement automatique des applications sur l’Appstore via Fastlane & utilisation de Fabric pour les version Beta • Animation des dailies meetings, organisation des démos et rétrospectives.
Ingenieur logiciel mobile
ENGIE
sept. 2014 - janv. 2016
1 an 5 mois
Paris, France
• Développement d'une application pour iOS (iPhone & iPad) du nom d’HOMNI. • Développement de la partie appairage avec des objets connectés en BLE. • Implémentation de la couche client/serveur en AFNetworking, • Création de la couche UI uniquement en natif (Calendrier, Graphes, TabBar, Contrôle du thermostat à distance), • Gestion du projet Mobile avec la méthodologie Agile, suivi des projets avec les chefs de projet de différentes équipes.
Consultant
Akka Technologies
janv. 2015 - janv. 2015
1 mois
Formation
Aix-Marseille University
Master's Degree, Computer Engineering
2010 - 2011
1 an 2 mois