Head of Engineering
Tony Tang
J'encadre des équipes qui construisent et font grandir des produits web, et je fais passer mon équipe à l'IA.
- Paris, France
- Ouvert aux missions freelance (soirs et week-ends)
En bref
- J'encadre une équipe de 5 développeurs en tant que Head of Engineering chez Fonts Ninja.
- 5 ans chez Planity, la plateforme n°1 de la réservation beauté en France (plus de 40 000 salons, environ 10M de rendez-vous par mois), dont les 3 dernières à la tête d'une équipe de 4 à 6 développeurs.
- Recrutement de 2 développeurs seniors, et accompagnement d'une vingtaine de développeurs en tant que mentor. La plupart des développeurs que j'ai encadrés chez Planity ont été promus.
- Pilotage d'une migration sans interruption de service qui a rendu le tableau de bord des salons Planity beaucoup plus rapide et corrigé des totaux faux depuis longtemps.
- Je fais passer mon équipe à l'IA : les erreurs de production sont désormais triées par l'IA, et les développeurs comme notre Product Owner l'utilisent pour explorer le code.
À propos
Je suis Tony, Head of Engineering chez Fonts Ninja à Paris, avec environ 10 ans d'expérience dans le développement de produits web. J'encadre une équipe de 5 développeurs : je choisis nos technologies, je définis nos standards et je tranche les décisions techniques, et j'ai un impact direct sur la direction produit. Avant cela, j'ai passé 5 ans chez Planity, la plateforme n°1 de la réservation beauté en France, d'abord comme développeur puis à la tête d'une équipe de 4 à 6 développeurs. Aujourd'hui, je me concentre sur des systèmes qui traitent de grands volumes de données, et sur l'utilisation de l'IA pour changer la façon dont mon équipe travaille. J'ai également accompagné une vingtaine de développeurs en tant que mentor sur Codementor.
Ce que je peux faire pour vous
Ouvert aux missions freelance (soirs et week-ends)
Créer ou relancer un produit web
Applications web, API et outils internes, de la première version à la mise en production, conçus pour que votre équipe puisse les maintenir.
Back-end et traitement de données
Des systèmes qui collectent et traitent de grands volumes de données de façon fiable : web scrapers, files de messages et tâches de fond.
Faire passer votre équipe à l'IA
Mise en place d'outils et de méthodes d'IA pour que vos développeurs livrent plus vite, sans baisser la qualité.
Direction technique à temps partiel
Décisions techniques, revue de code, recrutement et mentorat pour les équipes sans profil senior.
Expérience
févr. 2026 – Aujourd'hui
Head of Engineering · Fonts Ninja
Édite une extension de navigateur qui identifie les polices de n'importe quel site (900k utilisateurs sur Chrome), et Font Radar, un service qui trouve les sites utilisant des polices sans licence pour que les fonderies typographiques soient rémunérées.
- J'encadre une équipe de 5 développeurs : je choisis les technologies, je définis les standards et je tranche lorsque l'équipe n'est pas d'accord sur une solution.
- Impact direct sur la direction produit, dans une structure plus petite avec davantage de responsabilités que mon poste précédent.
- Recrutement de 2 développeurs seniors, dont l'un travaille aujourd'hui avec nous à distance depuis la Corée.
- Je fais passer l'équipe à l'IA : l'IA trie désormais nos erreurs de production, et les développeurs comme notre Product Owner l'utilisent pour explorer le code.
- Pilotage de la modernisation progressive de notre traitement des données, planifiée pour limiter au maximum les interruptions de service.
En pratique
- Définition des standards de code de l'équipe et respect de l'architecture hexagonale à travers les revues de code ; j'interviens sur chaque projet pour valider les solutions lorsque les développeurs ont des doutes.
- Pilotage de la migration des files de messages legacy en base de données vers BullMQ et Redpanda : les parties les plus simples ou les plus utiles d'abord, chaque flux de données cartographié et chaque étape planifiée.
- Automatisation du tri des erreurs AWS et Sentry par l'IA, et mise en place d'une analyse du code par IA.
Tech: NestJSTypeScriptNext.jsMySQLBullMQRedpandaAWS SQSAWS ECSAWS S3AWS LambdaCloudflareClaude Code
avr. 2025 – févr. 2026
Développeur Back-End · Fonts Ninja
- Arrivé en tant que développeur back-end sur les systèmes derrière les deux produits.
- Travail sur les robots de Font Radar, qui scannent 30M de nouveaux sites par jour pour trouver ceux qui utilisent le plus probablement des polices sans licence.
- Développement et maintenance de nombreuses automatisations et d'outils de collecte de données.
En pratique
- Début de la migration des files de messages legacy en base de données vers BullMQ et Redpanda, pour lancer de nombreux workers en parallèle sur une base en croissance constante et suivre facilement leur progression.
- Développement et maintenance de web scrapers.
Tech: NestJSTypeScriptMySQLBullMQRedpandaAWS SQSAWS ECSAWS S3AWS LambdaWeb scraping
févr. 2022 – févr. 2025
Lead Developer · Planity
La plateforme n°1 de la réservation beauté en France : plus de 40 000 salons et environ 10M de rendez-vous par mois, également en Belgique et en Allemagne.
- Direction d'une équipe passée de 4 à 6 développeurs en 3 ans, l'une des équipes créées lorsque Planity a structuré son équipe technique.
- Accompagnement des développeurs avec qui je travaillais : la plupart ont été promus, et certains sont devenus Lead Developers à leur tour.
- Estimation des délais, planification des livraisons et revue du travail de l'équipe (lisibilité, justesse et sécurité).
- Pilotage de la migration sans interruption de service du tableau de bord de statistiques des salons : beaucoup plus rapide, moins coûteux, et des totaux faux depuis longtemps corrigés.
En pratique
- Migration du tableau de bord de Firebase vers Elasticsearch, en remplaçant les caches précalculés par des agrégations à la volée.
- Validation de l'approche par une preuve de concept, puis conception de la migration : double écriture, reprise idempotente et reprenable de millions d'enregistrements avec AWS Step Functions et Lambda, vérification de chaque total salon par salon, et bascule par feature flag répétée en préproduction.
- La majeure partie de mon temps consacrée à la revue de pull requests plutôt qu'à l'écriture de code.
Tech: ElasticsearchFirebaseAWS Step FunctionsAWS Lambda
févr. 2020 – févr. 2022
Développeur Web Fullstack · Planity
- Développement de fonctionnalités pour l'application de réservation grand public, sur web et mobile, et pour Planity Pro, le logiciel de gestion des salons.
- Développement d'un système de caisse pour les salons en Allemagne, et intégration du paiement en ligne et de Shopify.
- Conception de fonctionnalités d'envergure, et mises en production planifiées pour que les clients encore sur d'anciennes versions de l'application ne soient pas impactés.
En pratique
- Travail sur le back-end AWS (Lambda, S3, API Gateway, OpenSearch) et sur les mises à jour en temps réel avec Firebase et Firestore.
- Intégration de Stripe et Shopify, et travail sur le sharding de la base de données.
Tech: ReactReact NativeReduxXStateFirebaseFirestoreAWS LambdaAWS S3AWS API GatewayAWS OpenSearchAlgoliaStripeShopify
nov. 2017 – oct. 2019
Analyste Programmeur · LCLalternance
Banque de détail française.
- Ajout de fonctionnalités à une application bancaire interne utilisée au quotidien par de nombreux collaborateurs.
- Collaboration avec d'autres équipes pour intégrer les nouvelles fonctionnalités au système existant.
- Écriture de tests automatisés pour garantir la fiabilité de cette application critique.
En pratique
- L'application reposait sur une ancienne version de Java.
Tech: Java
août 2016 – oct. 2017
Développeur Web · FWAalternance
- Maintenance d'une application web métier complexe.
- Optimisation de requêtes en base de données et participation à des migrations de bases de données.
En pratique
- L'application était développée en C# et ASP.NET avec le système de templates interne de l'entreprise.
Tech: C#ASP.NETSQLMySQL
Formation
2014 – 2019
Supinfo
Expert en Informatique et Systèmes d'Information (Bac+5)
oct. 2018 – nov. 2020
Amazon Web Services
Certification AWS Solutions Architect – Associate (SAA-C01, expirée)
Compétences de management
- Management d'équipe technique
- Leadership
- Recrutement
- Mentorat
- Revue de code
- Planification des livraisons
- Décisions techniques
- Adoption de l'IA
Détails techniques
Pour les développeurs : les compétences, la stack et les projets derrière ces résultats.
Compétences techniques
- Langages et frameworks
- TypeScriptNode.jsNestJSNext.jsReactReact NativeReduxXState
- Architecture
- System DesignArchitecture hexagonaleWeb scraping
- Données et messages
- SQLMySQLNoSQLElasticsearchBullMQRedpanda (Kafka)FirebaseFirestoreAlgolia
- Cloud
- AWS ECSAWS SQSAWS LambdaAWS S3AWS Step FunctionsAWS DynamoDBAWS API GatewayAWS OpenSearchCloudflare
- IA
- Claude CodeAutomatisation IA (LLM)
- Paiement et e-commerce
- StripeShopify
Projets
Extension Fonts Ninja
Chrome Web Store
Identifie n'importe quelle police sur n'importe quel site en un clic, grâce à Font DNA, un algorithme maison qui analyse le vrai fichier de police plutôt que le CSS. 900k utilisateurs sur Chrome (noté 4,4/5), également disponible sur Firefox et Safari.
TypeScriptExtension de navigateur
Font Radar
fontradar.com
Protection des licences pour les fonderies typographiques. Un ensemble de robots et de jobs scanne plus de 30M de nouveaux sites par jour (issus de CTDomains), alimente une base de plus d'1 milliard de sites et 10M d'applications, et identifie ceux qui utilisent des polices sans la licence appropriée, afin que les fonderies soient rémunérées pour leur travail.
NestJSTypeScriptMySQLBullMQRedpandaAWS SQSAWS ECSAWS LambdaWeb scraping
Planity
planity.com
La plateforme n°1 de la réservation beauté en France, avec 15M d'utilisateurs par mois, également présente en Belgique et en Allemagne. J'ai travaillé sur les applications web et mobile.
ReactReact NativeXStateFirebaseFirestoreAWS LambdaAWS API GatewayAWS DynamoDBAWS S3AlgoliaStripe
Planity Pro
pro.planity.com
Logiciel de gestion pour les professionnels de la beauté, sur web, tablette et téléphone : agenda et gestion des rendez-vous en temps réel, et système de caisse utilisé en France, en Belgique et en Allemagne.
ReactReduxRedux SagaFirebaseFirestoreAWS LambdaAWS Step FunctionsAWS DynamoDBAWS OpenSearchAlgoliaStripe
Mentorat sur Codementor
codementor.io/@tonytangdev
Accompagnement d'une vingtaine de développeurs sur Codementor, sur leurs projets React, Next.js, Node.js, TypeScript et MongoDB.
ReactNext.jsNode.jsTypeScriptJavaScriptMongoDBHTMLCSS