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

Mohamed Ghebaji

Senior iOS Developer (Swift, SwiftUI)

€600/day
Paris, FR
8-15 years

Average response time: 1 hour

Freelancer profile translated to English.
Back to original language

About Mohamed

iOS Developer since 2011, I've had the opportunity to work on diverse and large-scale projects in demanding technical contexts: from consumer-facing applications (Radio France, FDJ, SNCF) to innovative solutions in mobility, media, or e-commerce (Caradisiac, Promoneuve, LaCentrale).
This diversity has allowed me to develop a pragmatic and structured approach, both in choosing architectures (TCA, MVVM-C...) and in integrating modern solutions (SPM, GRDB, snapshot testing...).

I am comfortable with projects from scratch as well as taking over existing code, with a strong ability to adapt to teams and existing environments.

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

➡️ Databases:

- 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
  • French

    Native or bilingual

  • English

    Fluent

Can work on-site
Paris (up to 50km)

Experience

  • Radio France
    iOS Developer
    October 2019 - Today (6 years and 8 months)
    The Radio France application allows listening to all live and replay radios, podcasts, and music from France Inter, France Culture, France Musique, Mouv, Fip, France Info, and France Bleu.

    ▶ Organization into feature (Squad) teams, 3/4 developers per Squad,
    synchronization between feature teams via weekly chapters (meetings).
    ▶ Technical overhaul of the application:
    ▶ +80% code coverage:
    ▶ Cocoapods -> SPM migration, creation of internal repositories (pre-compiled Framework) for external dependencies that do not offer SPM support.
    ▶ Code review, team discussions, documentation writing
    ▶ Onboarding of new team members
    ▶ Agile rituals: daily, sprint-planning/review, demo, retro
    ▶ Bitrise + fastlane + Danger for all CI/CD workflows
    ▶ Realm -> GRDB migration:
    • Structs instead of classes
    • Easier Unit Tests
    • Property wrappers directly available in SwiftUI
    • Responsive community
    ▶ Player library redesign, advanced mastery of the AVKit Framework:
    • Creation of SPM submodules: core, UI, googlecast...
    • 90% code coverage on the core.
    ▶ Modular architecture in SPM
    • Domain for models and protocols
    • Data for implementations.
    • One module per client (network, database...), each module tested separately via its own test target.
    • One module per feature (UI, VM, Coordinator) + a demo app per feature
    • A design system module (UI components) organized by Atomic Design (Atoms, Molecules...) + creation of Figma scripts to retrieve and update colors, images.
  • Car&BoatMedia
    Lead iOS Developer. Promoneuve
    October 2017 - September 2019 (1 year and 11 months)
    MISSIONS TECHNICAL ENVIRONMENT
    ▶ Offer new cars on promotion.
    ▶ Search module: search for a car by filling in various criteria (make, model, year, price...).
    ▶ Filter and sort the list of ads.
    ▶ Save a search in a Realm database and display it in another interface.
    ▶ Display the details of a car (photos, price, options, equipment...).
    ▶ Add cars to favorites and find them in another interface.
    ▶ Contact sellers by email, phone, or geolocate them via the application.
    ▶ Comparison module: Add cars to the comparator and compare the details of each car.
    ▶ Push notifications
    ▶ Writing of Unit Tests, Integration Tests.
    ▶ Writing technical documentation.
    ▶ Code review and validation.
  • TraceOne 
    Develop the TraceOneNetwork application from scratch.
    E-COMMERCE
    July 2017 - September 2017 (2 months)
    View articles published by application users.
    View my network: The list of contacts and companies.
    Search module: Ability to search for a contact, company, or product.
    View a contact, company, or product profile.
    Send a friend request to a contact or company and a sample request for a product.
    Marketplace module: Present the highest-rated companies and new/innovative products.
    Messaging module: Ability to chat with my contacts and companies.
    My account module: Modify user data and their company's data.
    Onboarding module: Create an account, choose to join an existing company or create a new one.
    Local data saving to view in offline mode.
    Push notifications
    Writing of Unit Tests, Integration Tests, TDD.
    Swift iOS Cocoa

Recommendations

Be the first to recommend Mohamed

Help this freelancer shine by sharing your experience working together.

These freelancer profiles also match your criteria

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

Skill set (17)

Categories