Kevin C.

Mobile Developer

505 dollar
Freelancer
6 years
Paris, FRANCE

My experience

More

JCDecauxAugust 2021 - Present

Contexte : développement et maintenance de la plateforme LiveTouch (appareils tactiles pour les villes, arrêts de bus, etc...) et de ses applications mobiles.

En tant que développeur, mes missions étaient de :

- Développer de nouvelles fonctionnalités pour les clients
- Créer des tests unitaires
- Corrige les bugs existants
- Évaluer la complexité des fonctionnalités
- Prioriser (d'un point de vue technique) les tâches du backlog
- Réduire la dette technique (refactoring, architecture propre, MVVM, mise à jour des librairies, utilisation des dernières recommandations Android)
- Conseiller JCDecaux sur le développement Android et suggérer des améliorations de processus (best practices, intégration continue, tests unitaires)
- Paramétrage des pipelines Jenkins pour le build, les tests et l'analyse de code (avec SonarQube)

Méthodologie :

JCDecaux travaille selon la méthodologie Scrum et applique toutes les réunions Agile (quotidienne, revue, rétro, etc...). L'outil d'organisation utilisé est Jira.

Pile technologique : Android Studio, Kotlin, MVVM, Hilt, Retrofit, Room, Git, Clean Architecture, Gradle, Stetho, RxJava, Flow, Coroutines, LiveData, Jetpack Components.



More

Projet personnelApril 2020 - October 2020

Contexte : développement d'une application destinée aux amateurs de longboard rappelant quelques règles essentielles pour une pratique dans les meilleures conditions possibles.

Fonctionnalités :
- rappeler les mesures de sécurité ;
- indiquer le matériel nécessaire pour pratiquer ;
- donner des conseils pour apprendre certaines techniques (comme le freinage à haute vitesse) ;
- ajouter, modifier et/ou supprimer des lieux d'entrainement sur une carte
Google Maps (pour avoir les itinéraires également).

Seul sur le développement de cette application, je m'occupe du projet de A à Z :
- choix et mise en place de l'architecture (MVVM) ;
- choix de la stack (langage Kotlin, injection de dépendance Koin, Base de données SQLite, ORM Room) ;
- design (avec l'aide de Material.io) et développement des interfaces en XML;
- développement de l'application en Kotlin ;
- développement des tests unitaires via Mockito & Espresso ;
- gestion des dépendances via Gradle ;
- création de contenu pour l'application (données écrites dans des fichiers|
CSV) ;
- chargement des fichiers CSV avec SQLiteBrowser pour générer un fichier .db.

Environnement technique : Kotlin, Android Studio, Gradle, MVVM, Koin, Room, XML, SQLite, SQLiteBrowser, Mockito, Espresso, TDD, Stetho.

More

SNCF TransilienAugust 2019 - March 2020

Contexte : développement d'une application aidant les voyageurs à rejoindre

les bus de substitution mise en place par Transilien grâce à un algorithme de calcul d'itinéraire indoor (intérieur des gares).

Développeur Android au sein d'une équipe de 5 personnes (Product Owner, Scrum Master, dev Android, dev iOS et Dev Back).

Utilisation de la méthode Agile SCRUM. Dans ce cadre, j'ai participé à tous les rituels agile et notamment le grooming des différentes User Stories, les rétrospectives où j'ai pu faire des propositions d'améliorations de l'application.

Mes missions étaient :
- me familiariser avec l'environnement d'OpenStreetMap (les règles de tagging, les enjeux et la communauté) ;
- assimiler l'outil de calcul d'itinéraire, son modèle et son architecture ;
- assurer la communication avec un expert d'OSM pour mettre en place les bonnes règles métiers par rapport aux données OSM ;
- reprendre en main les développements Android afin de remplacer l'ancien développeur.

D'un point de vue technique, j'ai pris en charge :
- la gestion des dépendances via Gradle ;
- la gestion du versioning via Git ;
- le développement des features associés à ces US (en Kotlin) ;
- la mise en place de tests unitaires via Mockito ;
- la correction des anomalies rencontrées par les autres développeurs, les testeurs et les utilisateurs ;
- le déploiement de l'application.

Environnement technique : Android Studio, Kotlin, DSL, Gradle, MVVM, Koin, Retrofit, Firebase, Mockito, Git

More

TakimaJune 2019 - March 2020

A l'arrivée chez Takima, j'ai reçu une formation intensive de 2 mois, qui a été conçue comme un projet tutoré dans une approche collaborative. J'ai été ensuite envoyé en mission chez la SNCF (voir ci-dessous).

Cette formation est répartie en 11 chapitres, elle consiste en la réalisation intégrale d’une application Web Fullstack Java/React et d'une application mobile Android Kotlin.

Pour résumer, j'ai pu :
- développer un web service RESTful paginé en Java avec Sprint Boot et Hibernate ;
- développer un front en React.js appelant le web service ;
- développer une application Android en Kotlin (injection de dépendance : Koin, appels API : Retrofit 2, affichage d'images : Glide) ;
- consolider les bonnes pratiques (TDD, Design pattern et code reviews) ;
- mettre en place une chaîne CI/CD avec Gitlab et Docker ;
- utiliser Git pour l'organisation des features, le suivi du développement et le versioning.

Environnement technique : Kotlin, Gradle, Koin, Retrofit, Glide, Android Studio, Java, Maven, Spring Boot, Hibernate, Mockito, IntelliJ IDEA, React, Javascript NPM, Webpack, Docker, Git

More

ATEP ServicesDecember 2017 - May 2019

Contexte : Dans une start-up, éditeur d'une solution de gestion des ressources IT, j'ai travaillé en binôme avec le CEO/CTO sur l'application web et mobile (équipe de 2 personnes) 

En Android Kotlin, côté mobile :
- développement from scratch de l'application ;
- gestion des dépendances via Gradle ;
- gestion de la dynamique des menus (appels au webservice interne via Retrofit 2) ;
- affichage des rapports via des WebViews ;
- mise en place des notifications via Firebase ;
- ajout un scanneur de QR code via Google MobileVision ;
- publication et versioning des APK en interne.

En ASP/Javascript, côté web :
- développement de web services (ASP) et de rapports (JavaScript)
- développement de la couche d'accès aux données avec un framework maison pour requêter la BDD PostgresSQL;
- correction des anomalies ;
- mise en place du versioning via Tortoise SVN et SVN Server ;
- recueil du besoin auprès des clients.

Environnement technique : Kotlin, MVVM, Gradle, Android Studio, Retrofit, Firebase, Mobile Vision, Webview, Javascript, JSON, API Rest, HTML5, CSS, Classic ASP, Sublime Text 3, Tortoise SVN, PostgreSQL, Requête graphique (framework maison)

More

SolutecOctober 2016 - December 2017

Trois mois de formation en développement Android en Java.

Durant cette formation, j'ai :
- pris connaissance des méthodes de gestion de projet informatique ;
- appris la modélisation MERISE-UML (analyse SI) ;
- reçu une formation technique sur différentes technos dont Android (Android, Java, MVP, SQL, WebServices) ;
- été introduit au pilotage projet et à la qualité logicielle ;
- réalisé un projet d'application complet.

Environnement technique : Android Studio, Java, MVP, SQL, WebServices.

More

Développeur Android JavaJanuary 2017 - December 2017

Contexte : développement Android d'un logiciel de gestion des ressources

humaines.

Développeur Android au sein d'une équipe de 11 personnes (Scrum Master, Product Owner, 3 dev back, 3 dev Android, 3 testeurs).

Utilisation de la méthode Agile SCRUM avec ses rituels (daily meeting, sprint planning et sprint review, backlog grooming, rétrospective).

Mes missions étaient :
- développement des User Stories en Java ;
- correction des anomalies listées dans TFS ;
- gestion du versioning via Git ;
- former le nouveau développeur sur la partie Android.

Environnement technique : Android Studio, Java, MVP, OkHttp, Team Foundation Server, Git

More

SAN ConsultingJuly 2015 - May 2016

- Approfondissement des langues anglaise et japonaise lors d'emplois

saisonniers.
- Prise en charge et accompagnement de clients étrangers lors de leurs voyages au Japon.

Compétences principales :
- Adaptabilité culturelle
- Relation client
- Anglais courant
- Japonais intermédiaire
- Autonomie

More

Projet Innovation Recherche et DéveloppementJanuary 2015 - June 2015

Ce projet de fin d'études a été réalisé durant mes 6 derniers mois à l'INSA

Lyon. Sa particularité est d'être principalement axé sur des enjeux d'actualité : l'innovation, la recherche et le développement.

L'objet de l'étude a été d'élaborer un contrôle mécatronique flou sur un chariot à pendule inversé (système non linéaire).

Pour cela, il a fallut dans un premier temps réalisé une étude théorique (notamment avec la mise en équation du système d'étude). Puis, avec l'aide de Matlab/Simulink, des simulations ont été programmé afin de vérifier la pertinence du contrôle flou. Enfin, des expériences sur le dispositif ont été menées dans le but de corriger les imperfections non prises en compte dans les simulations.

Compétences principales :
- Mécatronique
- Programmation, Algorithmie
- Innovation
- R&D
- Gestion de projet
- Autonomie
- Adaptabilité

More

Saint-Gobain Glass FranceJuly 2014 - December 2014

Leader mondial de l’Habitat, où il réalise plus de 70% de son chiffre d’affaires,

Saint-Gobain est très présent sur les marchés industriels, où il déploie son savoir-faire en matière d’innovation et de co-développement à travers une large gamme de matériaux de haute performance, pour des applications exigeantes dans des secteurs aussi divers que l’automobile, l’aéronautique, la santé, la défense et la sécurité ou encore l’agroalimentaire.

Mon travail dans cette grande entreprise française internationale se résume en 3 principales missions :
- L'optimisation de la simulation acoustique des vitrages pour les bâtiments
- L'amélioration de l'isolation acoustique des vitrages pour l'automobile
- La valorisation d'une base de données SQL (10 000 données)

Compétences principales :
- Gestion de projets
- Programmation, Algorithmie
- Base de données
- Optimisation
- Acoustique
- Innovation
- R&D
- Relations clients
- Autonomie
- Adaptabilité

My stack

Languages

Java, JEE, XML, SQL, CSS, VB.NET, Kotlin, JavaScript, HTML5

Analysis methods and tools

MVVM, Agile Methodology, Design Patterns, DSL, MVP, Apache Maven

Embedded and Telecom

Simulink

IT Infrastructure

Docker

Software testing

Mockito, Espresso

Others

MVVM Pattern

Frameworks

Hibernate

Protocols

JSON

Environment of Development

Android Studio, IntelliJ Idea, Eclipse, Visual Studio, SVN, Idea, IntelliJ

Mobile

Android, Xamarin, Android Jetpack

Databases

PostGreSQL, Room, SQLite

Technologies

Web Services, Spring Boot, TortoiseSVN, Firebase, React.js, Retrofit 2, RxJava

My education and trainings

Master's Degree in Mechanical Engineering - INSA Lyon - Institut National des Sciences Appliquées de Lyon2012 - 2015

Oracle Certified Associate, Java SE 8 Programmer - Oracle2010 - 2012