Adrien JOLY
Montreuil / Paris, France
À propos
J’aide les équipes de développement à produire des logiciels utiles et robustes, sur le long terme.
2010 |
Doctorat en Informatique / Recherche d’Information et Adaptation au Contexte |
|
Thèse CIFRE entre INSA de LYON et Alcatel Lucent Bell Labs |
|
|
2006 |
Diplôme d’Ingénieur en Informatique |
|
INSA de LYON + année d’échange à QUT, Brisbane, Australie |
Compétences
Techniques
Méthodologie : |
DDD (Event Storming, Architecture Hexagonale), BDD, TDD, Agile, Pair-programming, Refactoring Legacy, MicroServices |
DevOps : |
Docker, Google Cloud, Kubernetes, Terraform, GitHub Actions |
Langages & Plateformes : |
JavaScript, TypeScript, Node.JS, Go, C++, Java |
Frameworks : |
Express.JS, Fastify, Apollo, React.JS, Vue.JS |
SGBD : |
MongoDB, Firebase, PostgreSQL, MySQL, Redis, Elasticsearch |
Outils : |
Visual Studio Code, Eclipse, ESlint |
Tests : |
Jest, Mocha, Chai, Jasmine, Cypress, Selenium, Cucumber |
Domaines d’intervention
- Accompagnement dans la création de culture et vision d’équipe, autour du Craftsmanship, de la maximisation de la création de valeur et de la gestion de la production
- Conduite d’équipe de développement et mise en place d’Architecture MicroServices
- Mentoring autour des bonnes pratiques (SOLID, Clean Code, TDD)
- Accompagnement sur le cycle complet de développement produit : de l’idéation à la production (culture
devops)
- Accompagnement sur la mise en place d’intégration continue et de tests automatisés efficaces
- Formation et accompagnement des équipes dans l’adoption des techniques du DDD au niveau tactique (design logiciel et du SI) et stratégique (organisationnel)
- Décommissionnement de Code Legacy par refactoring progressif
- DDD Stratégique, par Julien Topçu (Février 2023)
- Conférence FlowCon (Octobre 2022)
- Michael FEATHERS – Masterclass Reducing Technical Debt (Juin 2022)
- Domain Modeling Made Functional with Scott WLASCHIN (Octobre 2020)
- ParisTestConf (Novembre 2019)
- SoCraTes (Octobre 2019)
- S’affirmer dans ses relations professionnelles - Assertivité les bases (2019)
- Talks donnés : voir adrienjoly.com/talks
Conférences données et publications
- Décommissionnement progressif de code legacy à l’aide d’AST (Janvier 2023)
- Coder seul·e == vélocité optimale ? (Décembre 2022)
- Co-conception pérenne avec Domain Driven Design, retour d’expérience (Septembre 2022)
- DEVOXX - Architecturoplastie hexagonale d’un backend Node.js: Opération à code ouvert, avec Julien Topçu et Jordan Nourry (Avril 2022)
- InfoQ - Writing Automated Tests on a Legacy Node.js Back-end (Mars 2022)
- Coupable de code legacy en JS: comment s’en sortir ? (Octobre 2021)
- Comment rendre un code legacy à nouveau maintenable (Juin 2020)
- https://adrienjoly.com/talks/
Centres d’intérêt
- Musique : pratique de la batterie en groupe, enregistrement, concerts.
- Réalisation et maintenance de projets perso open-source (side projects)
Expériences
Septembre 2022 à Mai 2023 - Omie
Coach Technique
Omie conçoit et vend des produits alimentaires sains et respectueux de la planète, accessibles en termes de prix et rémunérateurs pour les producteurs.
Accompagnement de deux équipes de développement, au côté du CTO, sur aspects stratégiques, techniques et organisationnels.
Principales actions:
- Animation d’ateliers pour débloquer le déploiement régulier d’évolutions produit
- Accompagnement des développeurs sur résolution méthodique de régressions fonctionnelles
- Formation des développeurs sur l’écriture de tests automatisés, pour réduire l’effort de QA et réduire le temps de cycle
- Accompagnement des développeurs sur leurs tâches et pratiques de développement
- Sensibilisation aux techniques de développement collaboratives efficaces: pair et mob programming en “strong style”.
- Pair-programming sur résolution de bugs et l’écriture de fonctionnalité en TDD et/ou clean architecture
- Pair-programming sur refonte technique impliquant une migration de framework front-end (d’écrans React Native à des pages Next.js / ISR), pour optimisation des performances
- Industrialisation du processus de développement
- Mise en place d’analyse statique du code (typage + linter) pour prévenir les défauts pendant la phase de développement
- Proposition de guidelines pour aligner l’équipe sur la manière de traiter les exceptions
- Aide à la documentation de process pour construire et déployer différents types de versions en production
- Optimisation du pipeline d’Intégration Continue (GitHub CI)
- Conseil stratégique auprès du CTO
- Définition et publication d’un document de vision technique
- Audit continu de l’équipe front-end et proposition d’un plan priorisé d’évolution technique
- Conseils sur trajectoire de montée en compétence des développeurs
Environnement : TYPESCRIPT, NEXT.JS, GITHUB ACTIONS
Avril 2021 à Août 2022 - Choose
Tech Lead / Coach Craft
Choose est une application mobile e-commerce de vente temporaire proposée par des marques finement sélectionnées. Elle est établie en Europe de l’Ouest et aux USA.
Au sein d’une équipe allant jusqu’à 20 personnes, intervention au sein des squads B2C et B2B.
Principales actions:
- Accompagnement et montée en compétences des développeurs :
- Écriture et maintenance de tests automatisés, en intégration continue
- Injection de dépendances
- Architecture Hexagonale, DDD
- Aide à reprendre confiance sur le rythme des déploiements
- Prise en charge de tâches DevOps (migration Cloud, monorepo) pour soulager l’équipe
- Mise en place de documentation et de procédures face aux incidents de production (post-mortem)
- Mise en place d’un atelier hebdomadaire en mode mob-programming (pour documenter
collaborativement le modèle de données)
- Sensibilisation des PM à la dette technique et dégagement de temps pour y remédier (rôle d’intermédiaire
entre Product Managers et développeurs)
- Organisation et facilitation d’Event-storming avec les experts métier
- Suivi de couverture et qualité de code (à l’aide de SonarCloud) et mise en place de Code Reviews
- Identification et réparation de Code Legacy et/ou de dette technique de manière collective
- Conseil stratégique ou technique auprès du CTO :
- identification des sujets techniques prioritaires ou à prioriser
- aide au recrutement (profils de leaders / référents)
Environnement : TYPESCRIPT, NODE.JS, DOCKER, POSTGRESQL, JEST, GOOGLE CLOUD, GITHUB ACTIONS
Mars 2020 à Avril 2021 - SIGNAUX FAIBLES / BETA.GOUV
Senior Software Engineer
Signaux Faibles est un produit qui aide des agents de l’État à prévenir les défaillances d’entreprises le plus tôt possible, en utilisant au mieux l’ensemble des données dont disposent les administrations et opérateurs de l’État.
Chargé d’industrialisation de la chaîne de traitement de données (5 ingénieurs)
Principales réalisations :
- Audit de l’existant applicatif (développé par un expert en données)
- Proposition d’évolutions pour réduire les anomalies opérationnelles et faciliter l’évolution
- Mise en place de tests automatisés, intégration continue et de documentation
- Mise en place de typage statique sur les fonctions Map-reduce écrites en JavaScript
- Accompagnement de l’équipe pour monter en compétences sur les pratiques Clean Code
- Mesure et augmentation progressive de la qualité de code et de sa couverture par des tests - Transformation d’une API HTTP en un outil en ligne de commande (CLI)
- Amélioration progressive de la fiabilité et des performances des traitements de données
Environnement : JAVASCRIPT/TYPESCRIPT, NODE.JS, GOLANG, DOCKER, MONGODB
Novembre 2017 à Février 2020 - ALGOLIA
Senior Software Engineer
Algolia est une start-up franco-américaine qui développe sa propre technologie de recherche en SaaS, pour les sites internet, sites e-commerce et applications mobiles de ses clients.
Tech Lead de l’équipe produit “Custom Crawler” (5 ingénieurs) qui indexe les données des clients depuis leur site web pour alimenter leur moteur de recherche interne.
Principales réalisations :
- Contribution à la code base backend et frontend.
- Conduite de la transformation d’un prototype en produit scalable et utilisable par nos clients.
- Mise en place de tests automatisés et d’une CI pour tendre vers le Continuous Delivery.
- Coaching technique de l’équipe sur les bonnes pratiques : SOLID, Design Patterns.
- Migration et maintenance de l’infrastructure du produit vers Google Kubernetes Engine dans une culture
devops.
- Développement de briques clés : API REST, intégration Google Analytics, parsing PDF…
- Mise en place de deux documentations : utilisateur et maintenance.
- Collaboration en langue Anglaise avec collègues français, européens et américains.
Environnement : JAVASCRIPT/TYPESCRIPT, NODE.JS, EXPRESS.JS, REACT.JS, JEST, CYPRESS, ESLINT, GIT, DOCKER, KUBERNETES, RABBITMQ, REDIS, GOOGLE CLOUD
Avril 2015 à Septembre 2017 - Développeur Indépendant et Entrepreneur Web
Expériences variées allant du conseil à la production d’applications et de contenus.
Principales réalisations et prestations :
Environnement : JAVASCRIPT, NODE.JS, METEOR.JS, MONGODB
Octobre 2010 à Février 2015 - WHYD
Lead Développeur
WHYD était une start-up parisienne dont l’ambition était de connecter les internautes par centres d’intérêts, d’abord dans le domaine culturel, puis par la sélection et le partage de playlists musicales.
Recherche et développement, conduite du développement des itérations produit
Principales réalisations :
- Encadrement et formation d’une équipe de 3 jeunes développeurs et 1 jeune designer UI
- Conduite du développement d’une application iPhone complète (dont design) en 3 mois
- Expérimentation de plusieurs concepts applicatifs sur le Web, dont un basé sur l’exploitation de la base de
données sémantique Freebase (rachetée par Google)
- Contribution à toutes les étapes de développement du produit : idéation, prototypage rapide, conception,
implémentation, déploiement, monitoring, débogage, support technique & analytics
- Transformation en projet open-source, refactoring progressif, communication, crowdfunding.
- La start-up a été couverte par TechCrunch, LifeHacker, Forbes, puis incubée par Y-Combinator
Environnement : JAVASCRIPT, NODE.JS, MONGODB, JQUERY, FREEBASE
Septembre 2007 à Septembre 2010 – ALCATEL LUCENT BELL LABS
Doctorant CIFRE
ALCATEL LUCENT est un des leaders mondiaux des télécoms et des réseaux. BELL LABS est sa division recherche.
Contribution au développement de logiciels embarqués pour terminaux mobiles
Principales réalisations :
- Participation à un projet européen de systèmes multimodal.
- Développement de démonstrateurs technologiques en équipes.
- Écriture et publications de brevets internationaux.
- Écriture de la thèse et présentation des résultats intermédiaires en conférence internationale.
Environnement : JAVA, JAVASCRIPT
Octobre 2006 à Août 2007 - ATOS ORIGIN Intégration
Ingénieur logiciel R&D
Atos Origin Intégration accompagne ses clients sur un large spectre de missions allant du conseil à la réalisation technique. L’équipe “plateformes mobiles” était dédiée à la conception de solutions pour les terminaux mobiles émergents (ancêtres de nos smartphones): PDA / PocketPC sous Windows Mobile.
Contribution au développement de logiciels embarqués pour terminaux mobiles
Principales réalisations :
- Implémentation pour la R&D de Gemalto d’un proxy en C++ permettant au système d’exploitation d’afficher de manière performante des pages Web servies par un serveur JAVA sur carte SIM.
- Écriture d’un jeu de tests end-to-end et recette du projet auprès du client.
Environnement : C++, VISUAL STUDIO, WINDOWS MOBILE