๐ข Work Experience
Continuous Integration & Continuous Delivery (CI/CD)
- Infrastructure: Gerrit, Zuul, Concourse
- Gradle: Build Scans and optimized Remote Build Cache
- Enable Kotlin scripts (.kts) support on CI
- Setup and maintain EC2 debian instances (AWS IAM)
- Daily warmup job to fetch build dependencies (~1GiB saved)
- Periodic jobs to publish delivery builds, tests, analytics and nightlies
Applications
- Reduce app launch time from ~6s down to ~1s with a custom KSP plugin
- Implement a more robust in-app deprecation framework
- Create type-safe & real-time RemoteConfigs on top of Firebase
- Produce and maintain core utilities and extensions on platform types
- Introduce the first Kotlin multiplatform module to optimize build time
- Configure and debug R8/Proguard on a large and legacy codebase
- Revamp the companion app to debug and troubleshoot the main apps
Tooling
- Promote extensive use of JVM and Android test fixtures
- Gradle: generalize the use of Gradle convention plugins
- Lints: missing non-breaking spaces, invalid usages of mocks, etc.
- TestRules: FeatureFlags, RemoteConfigs, Locales, Flakiness, Coroutines, etc.
- Scripts: module builder, AVD optimizations, JUnit file merger, etc.
- Plugins: detect dependency changes in builds with DependencyGuard
- Automated Slack notifs: metrics report, critical path, baseline profile, etc.
Documentation
- Create Android's Guild documentation on the Backstage platform (MkDocs)
- Dev setup guides: hardware, Gerrit, Android Studio, Java, Gradle, etc.
- Coding conventions: Kotlin style guide, test assertions, etc.
- Troubleshooting guides for Gradle, Kotlin, Cache, etc.
- Collect and reference all presentations (slides, recordings, code)
- Knowledge base of bugs, crashs and ANRs
Build the new Maps experience from scratch. Enable searching for an accomodation directly from a map. Strong focus on ease of use and also look & feel.
Lead the Android refactor of SightCall's internal SDK
- API rewrite with a strong focus on readability, modularity and performance
- Complete Javadoc documentation and detailed How-To guides
- Publish the library on a self hosted Maven repository through Amazon S3
- Create a full-featured utility app to simplify QA tasks
Strong focus on R&D
- Create a Google Glass proof-of-concept with voice control, QRCode, etc.
- Full support for most wearable devices (Google Glass, Vuzix, RealWear, …)
- Enable support for external USB cameras
- Set up a private internal app store with dedicated QA apps
- Develop a live AR measurement tool using ARCore
Lead the Android Universal projects (SDKs & APPs)
- High level SDK to minimize the effort needed from third-party developers
- Live video feed, share video clips and photos, draw annotations, deeplink, …
- Picture-in-Picture mode: live video overlay on top of other apps
- Screen mirroring, even when the app is not in foreground
- Develop and publish multiple apps implementing this SDK
Methodologies and practices
- Heavy use of Gradle and bash scripts to reduce build time and updates
- Automated build processes and test suites with Jenkins
- Uploads on Google Drive and email notifications for each release build
- Project and API versioning using gitflow and semver
Design and development of an Android app in the healthcare field.
Build a data import tool in Java EE.
Development of a price comparison tool for brico.fr.
Creation of 2 Android apps linked to brico.fr and comparemandataire.fr.
Development of an online solution for a free magazine: 100% Vosges.
Design and creation of an Android app, and improvements to the Back Office.
Consulting firm for networking grids, phones, etc.
๐จโ๐ป Personal Projects
๐ Education
-
2012 - 2013Project leader - 4 persons
Application to record and broadcast meetings
-
2012Interdisciplinary Project
Cloud deployments with PaaS
๐ Distinctions
Finalist of the largest cross-platform app showcase in the mobile industry, during the Mobile World Congress in Barcelona.
Out of the 9 android apps pitched live at Institut Mines-Telecom in Paris, the Paper Airplanes app got all the attention from the jury and the audience.
Winner of the competition organized by Tรฉlรฉcom Saint-Etienne, Ecole des Mines de Saint-Etienne and SQLI.
๐งฎ Miscellaneous
Languages: Kotlin Java JNI / NDK JavaScript Bash
Tools & platforms: git GitHub / GitLab JIRA Firebase AndroidX ARCore
CI/CD: GitHub Actions Zuul Travis CI Jenkins