You're seeing this page as if you were . The main menu is still yours, though. Exit from immersion
Mohamed GhebajiMG

Mohamed Ghebaji

Développeur iOS Sénior (Swift, SwitUI)

600 €/jour
Paris, FR
8-15 ans

Délai de réponse moyen : 1h

À propos de Mohamed

Développeur iOS depuis 2011, j’ai eu la chance de travailler sur des projets variés et d’envergure, dans des contextes techniques exigeants : du grand public (Radio France, FDJ, SNCF) aux solutions innovantes dans la mobilité, les médias ou l’e-commerce (Caradisiac, Promoneuve, LaCentrale).
Cette diversité m’a permis de développer une approche pragmatique et structurée, aussi bien dans le choix d’architectures (TCA, MVVM-C…) que dans l’intégration de solutions modernes (SPM, GRDB, snapshot testing…).

Je suis à l’aise sur les projets from scratch comme en reprise de code, avec une forte capacité d’adaptation aux équipes et aux environnements existants.

➡️ Languages:
- Swift / Obj-C
- SwiftUI

➡️ Base de données:

- GRDB / Realm / CoreData

➡️Frameworks & libs :
- SwiftUI
- Swift
- CoreData / CoreAnimation / UIKit / Metal /ReplayKit / SceneKit / SpriteKit / Image I/O
- HealthKit / HomeKit / MultipeerConnectivity / Messages / CloudKit / SiriKit
- EventKit / UserNotifications / NotificationCenter
- HTTP Live Streaming / AudioToolbox / Media Player / Core Video
- Fairplay Streaming (online / offline)
- ApplePay
- Core Bluetooth
- CoreML
- Vision

➡️Architecture
- MVVM-C
- TCA

Reactive Programming :
- RxSwift
- Combine
  • Français

    Bilingue ou natif

  • Anglais

    Capacité professionnelle complète

Accepte de travailler sur site
Paris (jusqu’à 50 km)

Expériences

  • Radio France
    Développeur iOS
    octobre 2019 - Aujourd'hui (6 ans et 8 mois)
    L’application Radio France permet d’écouter tous les radios, les podcasts et la musique de France Inter, France Culture, France Musique, Mouv, Fip, France Info et France Bleu en direct et replay.

    ▶ Organisation en feature (Squad) team, 3/4 développeurs par Squad,
    synchronisation entre les feature team via des chapter (réunion) hebdomadaire.
    ▶ Refonte technique de l’application :
    ▶ +80% de code coverage :
    ▶ Passage Cocoapods -> SPM, création des repo interne (Framework précompilé)
    pour les dépendances externes qui ne proposent pas un support SPM.
    ▶ Review de code, échanges avec la team, rédaction de la doc
    ▶ Onboarding des nouveaux arrivants
    ▶ Rituels en Agile: daily, sprint-planning/review, demo, retro
    ▶ Bitrise + fastlane + Danger pour tous les workflow CI/CD
    ▶ Passage Realm -> GRDB :
    • Struct au lieu des classes
    • TU plus facile
    • Proprties wrapper dispo directement en SwiftUI
    • Communauté réactives
    ▶ Refonte de la lib Player, maitrise avancée du Framework AVKit :
    • Création des sous modules SPM : core, UI, googlecast …
    • 90% de code coverage sur le core.
    ▶ Architecture modulaire en SPM
    • Domain pour les models et les protocols
    • Data pour les implémentations.
    • Un module par client (netwrok, database …), chaque module est testé séparément via son propre target de test.
    • Un module par feature (UI, VM, Coordinator) + une app de démo par feature
    • Un module de design système (composants UI) organisé en Atomic design (Atoms, Molécules …) + création des scripts Figma pour récupérer et la mise à jour des couleurs, images.
  • Car&BoatMedia
    lead développeur iOS. Promoneuve
    octobre 2017 - septembre 2019 (1 an et 11 mois)
    MISSIONS ENVIRONNEMENT TECHNIQUE
    ▶ Proposer des voitures neuves en promotion.
    ▶ Module de recherche : rechercher une voiture en remplissant les différents critères (marque, modèle, année, prix…).
    ▶ Filtrer et trier la liste des annonces.
    ▶ Enregistrer une recherche dans une base de données Realm et l'afficher ensuite dans une autre interface.
    ▶ Afficher le détail d'une voiture (photos, prix, les options, les équipements …).
    ▶ Ajouter les voitures en favoris et les retrouver dans une autre interface.
    ▶ Contacter les vendeurs par mail, téléphone ou les géolocaliser via l'application.
    ▶ Module de comparateur : Ajouter des voitures au comparateur et comparer le détail de chaque voiture.
    ▶ Notification push
    ▶ Rédaction de UT, TI.
    ▶ Rédaction de doc technique.
    ▶ Revue et validation du code.
  • TraceOne 
    Développer from scratch l’application TraceOneNetwork.
    E-COMMERCE
    juillet 2017 - septembre 2017 (2 mois)
    Consulter les articles publier par les utilisateurs de l’application.
    Consulter mon réseau : La liste des contacts et sociétés.
    Module de recherche : Pouvoir chercher un contact, une société ou un produit.
    Consulter la fiche d’un contact, société ou produit.
    Envoyer une invitation d’amitié à un contact ou à une société et une demande d’échantillon d’un produit.
    Module marketPlace : Présenter les sociétés les plus notés et les nouveaux/innovés produits.
    Module messagerie : Pouvoir chater avec mes contacts et mes sociétés.
    Module mon compte : Modifier les données de l’utilisateur et les données de sa société.
    Module onBoarding : Créer un compte, choisir d’adhérer à une société existante ou créer une nouvelle.
    Sauvegarde de données en locale pour pouvoir les consulter en mode offline.
    Notification push
    Rédaction de UT, TI, TDD.
    Swift iOS Cocoa

Recommandations

Soyez le premier à recommander Mohamed

Contribuez à la réussite de ce freelance en partageant votre expérience de collaboration avec lui.

Ces profils de freelance correspondent également à vos critères

AgathaA

Agatha Frydrych

Backend Java Software Engineer

4.7

(3)

2

BaptisteB

Baptiste Duhen

Fullstack developer

4.6

(4)

5

AmedA

Amed Hamou

Senior Lead Developer

4

(2)

7

AudreyA

Audrey Champion

Web developer

4.3

(3)

4

Compétences (17)

Catégories