photo

Adrien JOLY

Montreuil / Paris, France


À propos

J’aide les équipes de développement à produire des logiciels utiles et robustes, sur le long terme.

Formation

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

Formations & Conférences suivies

  • 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