-
CME Offshore
- Software engineer
2015 - 2019
Responsible of developing iOS applications from scratch which includes :
- Designing the architecture ofthe iOS application
- Design the Database within the application
- Propose a design pattern to work on it in the application
- Develop thevarious features of the application in xcode using Swift language
-Testing the application
Responsible of developing Android applications from scratch which includes :
- Designing the architecture of the Android application
- Design the Database within the application
- Propose a design pattern to work on it in the application
- Develop thevarious features of the application in Android Studio using Java language
-Testing the application
Responsible of developing Any API needed for the proper work of the mobile application using:
- Java Spring MVC
- C# .net API restful application
- Developing using the 3 tiers architectures with the dependency injection and the Inversion of control
-
CME Offshore
- Ingénieur d'applications mobiles
2015 - 2019
Développement de divers applications mobile et web. J'ai utilisé les technologies de Rest API avec
l'authentification OAuth 2.0 et data Parsing avec Json.
Au Niveau d'iOS j'ai travail é pendant 3,5 ans de recueil des besoins, dev, support et d'addition de fonctionnalités sur le Projet GRRID Client :
Recueil du besoin auprès des clients :
* Recevoir les besoins du client par mail et par appel téléphonique et discuter avec lui les besoins pour bien les comprendre et mêmes lui conseil er dans le cas où une fonctionnalité peut être améliorer.
* Rédaction et analyse des besoins fonctionnelle et transformation en aspect technique
Dev, j'utilisais les modules suivants :
* AFNetworking et Alamofire pour faire des requêtes http et collecter les informations sur les API.
* AutoLayout et Storybaords et storybaord reference pour la création des écrans
* MVC comme design pattern pour la séparation de niveau, model, business, view
* Core Data pour la sauvegarde des informations et l'afichage des informations sur des listes, j'ai
utilisé la librairie Magical record pour faciliter la manipulation de core data.
* Ble Peripheral Central Bluetooth pour la communication avec des appareil via Bluetooth en utilisant la librarie BlueCapKit. Demande de permission pour l'utilisation du Bluetooth.
* Captage et enregistrement des ibeacons pour recevoir des informations quand le client est entré dans une zone d'iBeacon.
* Notification center : reçu des remote notification, création des notifications locales, reçu des silent notifications, demande de permission pour l'utilisation des notifications.
* Utilisation de la librairie Eureka pour créer des formulaires interactifs pour la page paramètres.
* Utilisations des Object Mapper pour faciliter la sérialisation et désérialisation des objets
* Création de Side Menu Drawer, en utilisant la librairie MMDrawerController.
* NSUserDefaults et keychain pour la sauvegarde de données cache dans l'application
Dev, Au Niveau d'Android utilisant Kotlin et java comme langue de programmation, j'ai travaillé pendant 3 ans de dev et de support et d'ajout de fonctionnalités sur plusieurs applications, j'utilisais les modules suivants :
26/8/19 © Union européenne, 2002-2019 http://europass.cedefop.europa.eu Page 1 / 4
* La librairie Realm pour la sauvegarde de données et l'affichage des données avec des adapters et des observers
* ConstraintsLayout, FrameLayout, LinearLayout et RelativeLayout dans des fichier XML pour la création des écrans
* La librairie Retrofit 2, pour faire des appels pour les APIs, sérialisation et désérialisation des données en et de Json
* Gestion des notifications remote et locales.
* La librairie Alt beacon pour capter les iBeacons
* L'Android Navigation Drawer
* Android lifecycle aware components pour créer des objets qui sont conscient de la vie de l'activité, du fragment et de l'application elle mêmes
* Room pour le sauvegarde et stockage et récupération de données
* Design Pattern MVVM et clean architecture avec RXJava et livedata
* Dependency Injection en utilisant la librairie Dagger 2
* Camera 1 et Camera 2 pour le support des versions d'Android avec la demande de Permission
d'utilisation, et prendre une photo et dessiner sur l'image pris et la sauvegarde de l'image dans des répertoires internes d'Android
* Librairie Timber pour la création et l'écriture des logs dans un répertoire interne d'Android.
* Geofence pour la creation de region à surveiller et interagir selon le cas.
* * SharedPreference pour la sauvegarde de données cache dans l'application
Utilisation des outils de control de version :
* A la fin de chaque task, tester et implémenter, j'utilise SourceTree pour sauvegarder les changements sur les répertoires Git et résoudre les conflits qui peuvent survenir à cause de la fusion du code avec d'autres développeurs
Reporting du progrès :
* Redaction des informations sur les tasks et le travail efectuer sur Bugzilla ou sur Jira selon le
Projet pendant une journée
* Rédaction des notes de développement et de tests sur Bugzilla our sur Jira selon le projet
Revue de Code :
* Revue du code mes col ègues et conseil d'optimisation si besoin
Test :
* Les tests unitaires sont faits directement sur l'application
Intégration continue :
* Intégration continue avec Hudson, un outil comme Jenkins pour la distribution de la dernière version de l'application au client
Support aux utilisateurs recette :
* Présentation du demo pour le client et réponse sur diverses questions demandées
Captage et investigations des Crash et Bugs en production :
* Integration des projets avec Crashlytics, Analytics, Fabric pour alerts dans le cas de Crash ou de Bugs en production
* Correction des Bugs et des Crash
Dev, Au niveau d'application web avec Java spring MVC pendant 6 mois, j'utilisais les modules
Dev, Au niveau d'application web avec Java spring MVC pendant 6 mois, j'utilisais les modules
suivants :
* Hibernate JDBC avec Mysql Workbench et beans pour sauvegarder les données
* Utilisation de l'architecture tierces avec des Dao pour le niveau de la base de donner et et DBO pour le niveau du business logic et Dto pour le transfert de données entre un niveau et un autre et pour l'envoie des données a frontend
* JQyeuery, Html, Css, Ajax pour le frontend
Environnement Technique:
* Java pour Android
* Java Spring
* Swift 2.3 jusqu'au 4
* Objective-C
* Kotlin 1.3
* Hudson
* Android Studio 3.3
* SourceTree
* Postman pour essayer les appels d'API
* XCode 10.2
* Crashlytics, Analytics, Fabric
* Rest API
* Jira
* Bugzilla
* Creation des documentations dans le code and séparément des documents pour la documentation de l'application.
-
Cme Offshore
- Ingénieur de développement d'application mobile
2015 - 2019
Développement de divers applications mobile et web. J'ai utilisé les technologies de Rest API avec l'authentification OAuth 2.0 et data Parsing avec Json.
Recueil du besoin auprès des clients :
* Recevoir les besoins du client par mail et par appel téléphonique et discuter avec lui les besoins pour bien les comprendre et mêmes lui conseil er dans le cas où une fonctionnalité peut être améliorer.
* Rédaction et analyse des besoins fonctionnelle et transformation en aspect technique
Au Niveau d'iOS j'ai travail é pendant 3,5 ans de recueil des besoins, dev, support et d'addition de fonctionnalités sur le Projet GRRID Client.
J'utilisais les modules suivants :
* AFNetworking et Alamofire pour faire des requêtes http et collecter les informations sur les API.
* AutoLayout et Storybaords et storybaord reference pour la création des écrans
* MVC comme design pattern pour la séparation de niveau, model, business, view
* Core Data pour la sauvegarde des informations et l'afichage des informations sur des listes, j'ai
utilisé la librairie Magical record pour faciliter la manipulation de core data.
* Ble Peripheral Central Bluetooth pour la communication avec des appareil via Bluetooth en utilisant la librarie BlueCapKit. Demande de permission pour l'utilisation du Bluetooth.
* Captage et enregistrement des ibeacons pour recevoir des informations quand le client est entré dans une zone d'iBeacon.
* Notification center : reçu des remote notification, création des notifications locales, reçu des silent notifications, demande de permission pour l'utilisation des notifications.
* Utilisation de la librairie Eureka pour créer des formulaires interactifs pour la page paramètres.
* Utilisations des Object Mapper pour faciliter la sérialisation et désérialisation des objets
* Création de Side Menu Drawer, en utilisant la librairie MMDrawerController.
* NSUserDefaults et keychain pour la sauvegarde de données cache dans l'application
Au Niveau d'Android utilisant Kotlin et java comme langue de programmation, j'ai travaillé pendant 3 ans de dev et de support et d'ajout de fonctionnalités sur plusieurs applications, j'utilisais les modules suivants :
26/8/19 © Union européenne, 2002-2019 http://europass.cedefop.europa.eu Page 1 / 4
* La librairie Realm pour la sauvegarde de données et l'affichage des données avec des adapters et des observers
* ConstraintsLayout, FrameLayout, LinearLayout et RelativeLayout dans des fichier XML pour la création des écrans
* La librairie Retrofit 2, pour faire des appels pour les APIs, sérialisation et désérialisation des données en et de Json
* Gestion des notifications remote et locales.
* La librairie Alt beacon pour capter les iBeacons
* L'Android Navigation Drawer
* Android lifecycle aware components pour créer des objets qui sont conscient de la vie de l'activité, du fragment et de l'application elle mêmes
* Room pour le sauvegarde et stockage et récupération de données
* Design Pattern MVVM et clean architecture avec RXJava et livedata
* Dependency Injection en utilisant la librairie Dagger 2
* Camera 1 et Camera 2 pour le support des versions d'Android avec la demande de Permission
d'utilisation, et prendre une photo et dessiner sur l'image pris et la sauvegarde de l'image dans des répertoires internes d'Android
* Librairie Timber pour la création et l'écriture des logs dans un répertoire interne d'Android.
* Geofence pour la creation de region à surveiller et interagir selon le cas.
* * SharedPreference pour la sauvegarde de données cache dans l'application
Utilisation des outils de control de version :
* A la fin de chaque task, tester et implémenter, j'utilise SourceTree pour sauvegarder les changements sur les répertoires Git et résoudre les conflits qui peuvent survenir à cause de la fusion du code avec d'autres développeurs
Reporting du progrès :
* Redaction des informations sur les tasks et le travail efectuer sur Bugzilla ou sur Jira selon le
Projet pendant une journée
* Rédaction des notes de développement et de tests sur Bugzilla our sur Jira selon le projet
Revue de Code :
* Revue du code mes col ègues et conseil d'optimisation si besoin
Test :
* Les tests unitaires sont faits directement sur l'application
Intégration continue :
* Intégration continue avec Hudson, un outil comme Jenkins pour la distribution de la dernière version de l'application au client
Support aux utilisateurs recette :
* Présentation du demo pour le client et reponse sur diverses questions demandées
Captage et investigations des Crash et Bugs en production :
* Integration des projets avec Crashlytics, Analytics, Fabric pour alerts dans le cas de Crash ou de Bugs en production
* Correction des Bugs et des Crash
Dev, Au niveau d'application web avec Java spring MVC pendant 6 mois, j'utilisais les modules
Dev, Au niveau d'application web avec Java spring MVC pendant 6 mois, j'utilisais les modules
suivants :
* Hibernate JDBC avec Mysql Workbench et beans pour sauvegarder les données
* Utilisation de l'architecture tierces avec des Dao pour le niveau de la base de donner et et DBO pour le niveau du business logic et Dto pour le transfert de données entre un niveau et un autre et pour l'envoie des données a frontend
* JQyeuery, Html, Css, Ajax pour le frontend
Environnement Technique:
* Java pour Android
* Java Spring
* Swift 2.3 jusqu'au 4
* Objective-C
* Kotlin 1.3
* Hudson
* Android Studio 3.3
* SourceTree
* Postman pour essayer les appels d'API
* XCode 10.2
* Crashlytics, Analytics, Fabric
* Rest API
* Jira
* Bugzil a
* Creation des documentations dans le code and séparément des documents pour la documentation de l'application.
-
Apps2you
- Mobile Developer
2014 - 2014
Achievements and responsibilities:
Building News based iOS app.
Meeting the deadlines for testing wanted features for clients.
Gain Knowledge in updating and releasing apps on the app store.
-
Apps2you
- Ingénieur d'application Mobile
2014 - 2014
* Developpement d'application de nouvelles sur iOS.
* Developper et tester les applications et les fonctionalités tout en respectant les contraintes temporel es specifier par les clients
* Acquérir de la connaissance et de l'experience pour mettre a jour et télecherger les application sur
l'app store
-
Apps2you
- Ingénieur d'application Mobile
2014 - 2014
* Developpement d'application de nouvelles sur iOS.
* Developper et tester les applications et les fonctionalités tout en respectant les contraintes temporel es specifier par les clients
* Acquérir de la connaissance et de l'experience pour mettre a jour et télecherger les application sur
l'app store
-
Deerail
- Mobile Developer
2014 - 2014
Achievements and responsibilities:
Gain more knowledge in the iOS Development
Introduction on the 3 tiers architecture for the communication with the database.
Development of the whole iOS app from conception to implementation and dealing with the server communication with the application.
-
Apps2you
- Mobile Developer
2013 - 2013
Achievements and responsibilities:
Knowledge in the Objective-C language.
Experience team working.
Implementation of my first new iOS app using the objective-c language.
Gain knowledge in the MVC application development architecture.
Development of the whole iOS app from conception to implementation.