
MOHAMED JABERI
lead iOS Developer
Salaire / Taux journalier
92500 Rueil-Malmaison, France
Freelance, ouvert au CDI
Expertises
Langues
Expérience de travail
lead iOS Developer
BforBank
janv. 2023 - Présent
3 ans 10 mois
Paris, France
• Développement des interfaces graphique avec SwiftUI en se basant sur Figma ‘pour les maquette’ et ZeroHeight ‘pour les composants design system’. • Travailler sur le modèle de conception Clean Archi qui devise le projet en 3 couches (Presentation layer ‘MVVM-C’ , Domain layer ‘Business logic by using Interactor, Data layer ‘Networker, Data base’ ) • Implémenter les web services avec en utilisant modern concurrence Async/Await. • Implimenter custom composants, custom modifiers et costume subviews avec SuiftUI. • Utiliser SonarQube locally et en remote pour faire la merge request verification afin de détecter les code smell et la generation le code coverage rapport. • Utiliser Bitrise pour déployer des nouveaux builds en différents environnements sur Firebase, Browserstack et TestFlight. • Amelioration d’archi : utiliser differents design pattern afin de rendre le code clean, réusable et maintenable (Pattern : DTO, factory, Façade, Delegation, Singleton, Observer, ID ” Injection de dépendances, mock, Spy…), Intégrer Combine pour le binding • Utiliser SPM pour integrer les customs component et libraray. • Review de code lors de création de merge request et faire le PeerPrograming. • Réaliser le développement des tests unitaires (tester les ViewModels, Interactor, Repository, Manager) • Proposer et améliorer les architectures techniques de projet. • Intégrer DataScannerViewController pour ajouter la feature scan IBAN. • Investigation et Analyse des bugs graphiques et fonctionnels. ENVIRONEMENT TECHNIQUE ET FONCTIONNEL : • Secteurs : Banking • Langages : Swift, SwiftUI, Combine. • Outils : XCode, Figma, Betrise, Firebase, Swagger, Zeroheight, Fork, Gitlab, REST API, SwiftGen, Swift-Lint, SonarQube • Compétences Fonctionnelles : Développement de composants génériques, Gestion du versioning, Documentation technique du projet , Méthode agiles • Méthodes : Agile/Scrum, TDD
iOS Developer
Euro Information Developpements / EID
déc. 2020 - Présent
5 ans 11 mois
Strasbourg, France
Lyf pay (https://apps.apple.com/fr/app/lyf-pay/id824967438 ) • « Lyf » est une Fintech Française, leader du paiement mobile augmenté • I ’objectif est d’offrir des solutions de paiement mobile simple, avant-gardistes et sécurisées à plus de 2 millions de particuliers via son application Lyf Pay • Avec Lyf Pay : Payer vos achat en magasin avec votre téléphone sans contact et sans limite, dématérialisez toutes vos cartes de fidélité, Envoyer de l’argent à vos proches gratuitement et de maniéré instantanée, créez des cagnottes 100% gratuites. TACHES : • Développement des interfaces graphique en se basant sur InVision. • Travailler sur le modèle de conception MVVM-C • Refonte archi (re-implimenter des ancien fonctionnalité en MVVM-C , Intégrer RxSwift pour le binding, et ID ” Injection de dépendances” ) • Intégration des nouveau SDK ”Restaurant et Scan & Go” et mise à jour les fichier Podspec • Revue de code. • Réaliser le développement des tests unitaires () • Proposer et améliorer les architectures techniques des projets. • Développement du module « Parkus » : Permet de consulter les listes des parkings disponible et payer via l’application • Développement du fonctionnalité Universal Link : permettant la redirection vers l’app depuis le scan d’un QR Code • Intégrer Core Data pour persister les statistiques de fidélité • Investigation et Analyse des bugs graphiques et fonctionnels.
iOS App Developer
Néo-Soft Groupe
sept. 2019 - nov. 2020
1 an 3 mois
Région de Marseille, France
1) Setting up Unit Tests : - Added unit testing target and scheme to an existing project 2) Writing testable code : - Refactored networking logic - Abstracted out logic from our view controller - Added tests for extensions 3) Asynchronous testing : - Testing network requests 4) Mocking : - Extend URLSession Refactor tests to use mock objects - Created protocols for dependencies - External test files 5) Code coverage and performance tests : - Xcode’s code coverage Performance tests with measure - Parallelizing and randomizing tests 6) UI tests : - add new UI testing target - add new test scheme - write UI test 7) Testing your view controllers
IOS Application Developer
MS Solutions (Monetics Services Solutions)
juin 2019 - sept. 2019
4 mois
Tunisie
- On behalf of the customer Ooredoo, Development of the Mobicash application that allows to carry out monetary transactions. - Responsible for Integrate the design, build, deployment, debug & maintenance. - Designed and Developed iOS applications for customers - Development was mainly in Swift. - Working with SqlLite, and cocoaPods build a native app with XCode IDE And Swift language . - UI that works in diffrent devices and resolutions. - Using SCRUM as our project management methodology. - Worked in an Agile environment and managed to launch a widely used application. -Using Fastlane : For automating our development and release process : 1- AUTOMATE SCREENSHOTS : Automatically generate localized screenshots for the app store. 2-BETA DEPLOYMENT : Easily distribute beta builds to testers. 3-APP STORE DEPLOYMENT : Publish a new release to the app store . 4- CODE SIGNING : Reliably and consistently code sign app
Proxym Group
janv. 2017 - juin 2019
2 ans 6 mois
Sousse, Tunisie
IOS Application Developer
août 2017 - juin 2019
1 an 11 mois
Sousse, Tunisie
- Worked as an iOS Developer with a highly skilled and experienced team of 6 iOS Developers on the major Beterise's application . - Using SCRUM as our project management methodology. - Worked in an Agile environment and managed to launch a widely used application.
Projet de fin d’étude
janv. 2017 - juil. 2017
7 mois
Sousse, Tunisie
Development of an application that reacts with real objects based on Augmented Reality: Task: The detection of an object on the paper surface, the use of different types of camera and their calibrations, video processing and pattern recognition. Assimilation of complex notions related to computer imaging, Use of mathematical tools in algorithms. - Development was done using Swift & C++ on the iOS side. Technical environment: Ipad, Xcode, Sprite Kit, Open-CV, Swift, C, C ++
IOS Developer , JAVA Trainer
learning Pro
sept. 2015 - janv. 2017
1 an 5 mois
Bizerte, Tunisie
IOS Mobile Engineer Internship
Beta Life Center, Cabinet du Consulting & de Formation
juin 2016 - juil. 2016
2 mois
Tunis, Tunisie
Development of an E-Commerce application Moltin API Integration, Product Selection, Product Navigation, Add to Cart and Order Validation.
IOS Mobile Engineer Internship
Learning_Pro
juin 2015 - août 2015
3 mois
Tunis, Tunisie
IOS application development of Geolocation. the expanded example displays the weather forecast in a captured city by interacting with the Rest API provided by Openweather.org. It also shows how to do geolocation using Google Maps.
Internship Trainee
Groupe Tunisie Telecom
juil. 2014 - août 2014
2 mois
Bizerte, Tunisie
knowing the ACTEL work process, have an idea about the execution and control plan and also properly carry out certain tasks supervised by the agents of the ACTEL.
Formation
Noble Work Foundation
Composable-SwiftUI-Architecture-Using-Redux, iOS Programming
2023 - 2023
1 mois
SwiftUI Architecture Using Redux course! This course provided a deep dive into the Redux architecture and how it can be used to build scalable, maintainable apps with SwiftUI. I learned how to use the Redux pattern to manage app state, create composable and reusable views, and write testable code. I highly recommend this course to any developer looking to improve their skills and build better apps with SwiftUI. * Unidirectional Data Flow Using Redux Design Pattern in SwiftUI * Composable SwiftUI Apps Using Redux * Maintaining Global State, Actions, Multiple Reducers * Asynchronous Requests Using Middleware
Noble Work Foundation
Async/Await and Actors - Concurrency in Swift, iOS Programming
2022 - 2022
1 mois
Résultat : Async/Await and Actors - Concurrency in Swift
Concurrency allows multiple tasks to run at the same time. When used correctly, it can create a pleasant user experience and can even avoid crashing your app. In this course, you will learn about the new concurrency features available in Swift using Async/Await and Actors. * Understanding Concurrent Programming * Getting Started with Async & Await (Dates App) * Understanding MVVM Design Pattern * Dates App Using MVVM * Exposing your Functions as Async/Await Using Continuation * Understanding Structured Concurrency in Swift * Project: Random Images and Quotes AsyncSequence * Actors * New async/await features of Swift language * Concurrency in Swift Using Actors * Exposing callback functions using continuation API * Running concurrent tasks using async-let and Task Groups * Writing modern asynchronous syntax using async/await
Noble Work Foundation
Combine: Asynchronous Programming with Swift, Combine Framework in iOS Using Swift
2022 - 2022
1 mois
I learn in this course: - Publishers, Subscribers and Operators - Transforming Operators - Filtering Operators - Combining Operators - Sequence Operators - Combine for Networking - Debugging Combine - Combine Timers - Resources in Combine - Integrating Combine with UIKit Application - Weather App - Understanding MVVM Design Pattern - SwiftUI Basics - Understanding State and Binding - Hacker News - SwiftUI, Combine and Web API
Noble Work Foundation
Testing iOS Apps - Behavior Driven Development Using Swift, Testing iOS Apps
2022 - 2022
2 mois
Learn Unit Testing, Test Driven Development and Behavior Driven Development in iOS Using Swift Language: Code source on Github : https://github.com/mohamed-habib-jaberi/Testing-iOS-Apps.git Test Driven Development Types of Testing : * Unit Testing * User Interface Testing * Integration Testing * Acceptance Testing * Performance Testing Test Expectations : * Testing asynchronous code using Expectations * Multiple Expectations Dependency Injection and Mocks : * Using Fake, Mocks and Stubs * Mocking callbacks Behavior Driven Development * Using Gherkin language * Understanding The Outside-In Approach * Adding Cucumberish dependency * Writing Cucumberish test continued
Udemy
Mastering RxSwift in iOS
2020 - 2021
2 ans
Mastering RxSwift in iOS : - Understanding functional programming and RxSwift - Observables - Subjects - Implementing photo filter app using RxSwift - Filtering operators - Todo list app using filtering operators - Transforming operators - Building news app using transforming operators - Combining operators - Beginning RxCocoa - MVVM with RxSwift
Udemy
MVVM Design Pattern Using Swift in iOS, iOS Development
2020 - 2021
2 ans
Building New App Using MVVM Design Pattern : 1- Setting Up the User Interface 2- Implementing Web Services Layer 3- Creating and Decoding JSON to Models 4- Building ViewModels and Populating View Models 5- Persisting Settings and Converting Temperature Units 6- Setting Up Delegate to Pass Settings 7- Bindings : View to ViewModel Binding 8- Bindings : ViewModel to View Binding 9- Implementing WeatherDataSource 10- Implementing Generic Data Source 11- Unit Testing
Scrum Study
Scrum Fundamentals Certified (SFC™) certification, Business Administration and Management, General
2020 - 2021
2 ans
CertiProf
Scrum Foundation Professional Certificate, Accounting and Business/Management
2020 - 2021
2 ans
6sigmaStudy
Six Segma Yellow Belt, Business Administration and Management, General
2020 - 2021
2 ans
We get after taking this Certification : - Master 40+ Six Sigma tools - Complete a realistic Lean Six Sigma Yellow Belt project in 6.5 hours - Add Minitab expertise to your skill set and analyze Six Sigma Yellow Bel project data - Become a pro at answering tough interviewer questions related to Lean Six Sigma Yellow Belt - Get access to 140+ Six Sigma pdf that are downloadable and review 30+ articles - Solve any business problem using Six Sigma principles, tools and techniques - Learn root-cause analysis techniques - Learn Graphical techniques using Minitab - Learn how to create a Lean Six Sigma Yellow Belt project storyboard - Receive trainer assistance using the Q&A Discussion board
Pluralsight
Clean Architecture: Patterns, Practices, and Principles, iOS Developer
2020 - 2020
1 an
Clean Architecture: Patterns, Practices, and Principles : - Clean Code - Invest in Clean Code - Domain-centric Architecture - Application Layer - Commands and Queries - Functional Organization - Microservices - Testable Architecture - Evolving the Architecture
Pluralsight
Lean and Agile Enterprise Architecture, Agilité / Scrum
2020 - 2020
1 an
Lean and Agile Enterprise Architecture: Getting Started 1- The CFBC Case Study: Introducing CFBC Case Study The Investigation What Really Transpired? 2- Understanding Lean Principles: Economics of Lean Wasteful Work & Overburden Variability and Queues 3- Strategic Agility: Strategy and VUCA World New Approaches to Strategy BMC, Strategy, & Sense-making 4- Innovation and Architecture: An Innovation Framework Shapes of Innovation Strategy, Innovation, and Architecture 5- Architecture Development Sprint: Quicksilver Case Study Traditional Process 6- Architectural Agility Transforming Legacy Architecture Microservices Architecture Realizing the Architecture Container Technologies Tools Walk-through Tools in Detail
Pluralsight
Scrum Development with Jira & JIRA Agile, Agility and Scrum
2020 - 2020
1 an
Scrum Development with Jira & JIRAA Agile 1- Concepts of Scrum Development with Jira & Jira Agile : Agile Development Scrum Framework JIRA for Agile Scrum User Stories, Epics and Themes Product Owner, Scrum Master, Team Member Product Backlog Sprint Planning Meeting Daily Scrum Burndown Chart & Velocity Sprint Retrospective Sprint Review JIRA 2- Getting Started with Jira & Jira Agile : The Scrum Boards Project Overview and Administration Creating the Backlog 3- Sprint Planning & Sprint Retrospective: Sprint Planning Meeting Sprint Retrospective Meeting Sprint Review 4- Scrum & Sprints : Daily Scrum with Work Mode Work Mode Demo Report Mode Additional JIRA Reports
Pluralsight
Structural Design Patterns in Swift 5, iOS Development
2020 - 2020
1 an
Structural Design Patterns in Swift 5 : - The Adapter Pattern - The Bridge Pattern - The Composite Pattern - The Decorator Pattern - The Façade Pattern - The Flyweight Pattern - The Proxy Pattern
Pluralsight
Behavioral Design Patterns in Swift , iOS Development
2020 - 2020
1 an
Behavioral Design Patterns in Swift: - Chain of Responsibility Pattern - Command Pattern - Interpreter Pattern - Iterator Pattern - Mediator Pattern - Memento Pattern - Observer Pattern - State Pattern - Strategy Pattern - Template Method Pattern - Visitor Pattern
Pluralsight
Swift iOS UI and Unit Testing, iOS Development
2020 - 2020
1 an
1- UI Testing : Creating a Simple UI Test Providing Access on Hard to Reach Elements Working with XCTAssert Handling the Delete Scenario 2- Unit Testing : Creating a Simple Unit Test Using setUp() and tearDown() Multiple Asserts Filling Gaps in Test Coverage 3- Advanced Testing Techniques : Global Variables Code Reuse Report Navigation and Test Coverage Debugging Tests Testing UITableView
Pluralsight
iOS Auto Layout: Adaptive UIs for All Devices, iOS Development
2020 - 2020
1 an
iOS Auto Layout: Adaptive UIs for All Devices 1- Building a Dynamic User Interface : Too Many Screens Update Frames 2- Working with UIScrollView and Layout Guides : UIScrollView and Auto Layout Setting up UIScrollView UIScrollView's Content Properties View Controller's Layout Guides and Scroll Views Automatically Adjusts Scroll View Insets UILayoutSupport Protocol 3- Size Classes and Trait Collections Equal Spacing Techniques UILayoutGuide 4- Controlling Traits and Constraints UITraitEnvironments UITraitCollection Transitions 5- Leveraging Pseudo-languages for Internationalization UILabel's Number of Lines Double Length Pseudo language Remove Intrinsic Content's Width Flexible Height Right-to-Left Pseudo language 6- Supporting Accessibility with Dynamic Type UIFont Text Styles Setting Text Styles in Code Notifying Your App of Dynamic Type Changes 7- iPad Multitasking Better Readability UIView's Layout Guide Margins Responding to Other Apps Responding to Keyboard Notifications
Pluralsight
Practical iOS Concurrency, iOS Development
2020 - 2020
1 an
Practical iOS Concurrency : 1- Creating and Using Blocks 2- Dispatch Queues : - Serial Queue - Concurrent Queue - Adding Tasks to a Queue 3- Operation Queues : - NSOperatios - KVO Compliance
Pluralsight
Creational Design Patterns in Swift 5, IOS Development
2020 - 2020
1 an
Exploring the Pros and Cons of Design pattern UML,The Class Diagram Representing Relationships The Sequence Diagram 1- the Singleton : Implementing a Singleton Revealing Concurrency Problems Making Singleton Thread-safe Improving Performance Through Dispatch Berriers 2- The Prototype : Copying Value vc Reference Types Clonig Reference Type Implementing Shalow Copying Implementing Deep Copying 3- The Builder Pattern: Building Class the Wrong Way and Applying the Builder Pattern 4- The Factory Method : Exposing Too Many Types Applying the Factory Method 5- The Abstract Factory: A Tightly Coupled Class Implementing the Abstract Factory Removing the Unwanted Dependencies
Pluralsight
IOS Data Persistence, IOS Development
2020 - 2020
1 an
1-Establishing the data Persistence Landscape : - Setting the Stage for Data Persistence - Persisting with a purpose - Encoding and Decoding Data 2- Saving Settings and Configuration : - Managing Preference with UserDefaults - Synchronize Setting with iCloud - Configuring Apps with Property List 3- Saving Objects and Object Graphs 4-Saving Data as Documents and Files : - Understing the Use Case - Designing a Document - Creating and Loading Documents - Customise App’s File Extension - Interacting with Document Data
CertiPro
Scrum Foumdation Professional Certificate, Business Administration and Management, General
2020 - 2020
1 an
Licences et certifications
NumPy Essential Training: 1 Foundations of NumPy
Délivré le : avr. 2024
Advanced Python
Délivré le : avr. 2024