Cognitics engineer turned Tech Lead, PHP & Symfony addict, and owner of x10, my technical consulting company, since 2010.
Ingénieur cogniticien devenu Tech Lead, accro à PHP & Symfony, et gérant de x10, ma société de conseil technique, depuis 2010.
- 🇬🇧 English
- 🇫🇷 Français
- 🐘 Développeur — same person, compiled.
Tech Lead by day at Alumnforce, owner of x10 the rest of the time, Cognitics Engineer forever.
I've been building web apps since the late 2000s — in other words, I knew jQuery before it was vintage.
Trained to understand humans, I ended up spending my life talking to machines.
Fate has a sense of humor.
- 15+ years of experience, 100+ web apps delivered — from healthcare to defence, from real estate to hunting. Yes, hunting.
- Clients: LVMH, Lacoste, Le Coq Sportif, Orange, CNRS, URGO, the French Hunting Federation…
- Ex-CTPO of a B2B SaaS: legacy migration in 4 months with zero downtime, −70% cloud costs, 300+ deployments in 2 years, 1M+ product data points validated per day.
- Ex-DGSE: R&D and security in a high-confidentiality environment.
- I've led teams of 10+ developers and lectured in an engineering school (HITEMA).
- Cognitive-science graduate — I know why users click where they shouldn't. I just can't stop them.
- Obsessive about PHP standards, and proud of it. My CS Fixer has more rules than a tax code.
- AFUP member for 10+ years, and x10 sponsors Forum PHP.
- AI-driven development: Claude, Gemini and ChatGPT are my favourite colleagues. They never grumble in code review.
- I don't just code with AI, I build with it: a Claude Code plugin for my team (Jira, Sentry and Slack MCP, GitLab, Jenkins, MR review), 3 domain MCP servers being finalized, an autonomous agent turning Jira tickets into GitLab fix MRs (rolling out), and a semantic search POC (Voyage AI embeddings + pgvector).
🕶️ Declassified file — DGSE, 2012-2015 (partially)
EMPLOYER ....... French Ministry of Armies — DGSE
ROLE ........... Full Stack Web Engineer / R&D
LOCATION ....... Paris, ████████████████
WORKED ON ...... access control, cryptography, audit trails
ALSO WORKED ON . ████████████████████████████████
STACK .......... PHP, Symfony, AngularJS, Linux
CODENAME ....... ██████████
COFFEE ......... ████████████████████████████████████ (litres)
I could tell you more, but then I'd have to refactor you.
2026 - ………… ⇝ Senior Full Stack Developer · Tech Lead — Alumnforce (100% remote)
2023 - 2026 ⇝ CTPO Sinfin — PIM/DAM/OMS SaaS for retail & luxury (LVMH, Lacoste, Le Coq Sportif, …)
2021 - 2023 ⇝ Co-founder & CTO Timcity — real-estate ERP from scratch (Paris)
2015 - ………… ⇝ Freelance for Orange — 11 years, back/front/ops (Paris)
2012 - 2015 ⇝ Full Stack Web Engineer / R&D — DGSE (Paris)
2009 - 2012 ⇝ Full Stack Engineer — e-health SaaS / HAD (Bordeaux)
2010 - ………… ⇝ Owner of x10 — my company, my baby
I started as an intern in a Bordeaux e-health startup, founded x10 while still a student, moved on to the DGSE, then grew key account after key account — including Orange, loyal for over ten years. A CTO seat, a CTPO seat and a few thousand composer update later, here I am a technical referent working fully remote — and still running x10.
Full release notes: CHANGELOG.md. Semantic versioning applies. Mostly.
| Area | Technologies |
|---|---|
| Back | PHP 5→8 · Symfony 2→8 · API Platform 1→4 · Doctrine · Node.js · SQL (My/Maria/PostgreSQL + pgvector) · Redis · ElasticSearch |
| Front | TypeScript · ReactJS · VueJS · Twig · (survivor of jQuery, AngularJS and BackboneJS — three frameworks, zero regrets) |
| DevOps | Docker · Kubernetes/Openshift · AWS · Azure · GitHub Actions · GitlabCI · Jenkins · Ansible · Vault · Sentry · Linux · Apache/Nginx |
| Quality | PHPUnit · Cypress · PHPStan · CS Fixer · Code Review (the real martial art) |
| AI | Claude Code · MCP · Gemini · Voyage AI · Agents · Embeddings |
| Bonus | RabbitMQ · Websockets · MongoDB · Kibana · UX · DX · SEO · Accessibility · DDD |
I bet on PHP back when owning up to it wasn't fashionable. Symfony proved me right.
2010— Engineer in Cognitics & Research Master's · ENSC / Bordeaux Institute of Technology2007— Preparatory classes, PSI track · Lycée Claude Fauriel, Saint-Étienne2005— Baccalauréat S, SI/MPI · Lycée Carnot, Roanne
Roanne → Saint-Étienne → Bordeaux → Paris → Metz → all of France. The itinerary of a spoiled dev.
Tech Lead le jour chez Alumnforce, gérant de x10 le reste du temps, Ingénieur en Cognitique pour toujours.
Je développe des applications web depuis la fin des années 2000 — autrement dit, j'ai connu jQuery avant que ce soit vintage.
Formé pour comprendre les humains, j'ai fini par passer ma vie à parler aux machines.
Le destin a de l'humour.
- +15 ans d'expérience, +100 applications web livrées — du médical à la défense, de l'immobilier à la chasse. Oui, la chasse.
- Clients : LVMH, Lacoste, Le Coq Sportif, Orange, CNRS, URGO, Fédération Française de Chasse…
- Ex-CTPO d'un éditeur SaaS B2B : migration du legacy en 4 mois sans interruption, −70 % de coûts cloud, 300+ déploiements en 2 ans, +1M de données produit validées par jour
- Ex-DGSE : R&D et sécurité en environnement de haute confidentialité
- J'ai encadré des équipes de 10+ développeurs et j'ai enseigné en école d'ingénieurs (HITEMA)
- Diplômé en sciences cognitives — je sais pourquoi les utilisateurs cliquent là où il ne faut pas. Je ne peux juste pas les en empêcher.
- Psychorigide des standards PHP, et fier de l'être. Mon CS Fixer a plus de règles que le Code Civil.
- Membre de l'AFUP depuis plus de 10 ans, et x10 sponsorise le Forum PHP
- AI-driven development : Claude, Gemini et ChatGPT sont mes collègues préférés. Ils ne râlent jamais en code review.
- Je ne fais pas que coder avec l'IA, je construis avec : un plugin Claude Code pour mon équipe (MCP Jira, Sentry et Slack, GitLab, Jenkins, relecture de MR), 3 serveurs MCP métier en cours de finalisation, un agent autonome qui transforme un ticket Jira en MR GitLab de correctif (en cours de déploiement), et un POC de recherche sémantique (embeddings Voyage AI + pgvector).
🕶️ Dossier déclassifié — DGSE, 2012-2015 (partiellement)
EMPLOYEUR ...... Ministère des Armées — DGSE
POSTE .......... Ingénieur Web Full Stack / R&D
LIEU ........... Paris, ████████████████
TRAVAUX ........ gestion des accès, cryptographie, traçabilité
AUTRES TRAVAUX . ████████████████████████████████
STACK .......... PHP, Symfony, AngularJS, Linux
NOM DE CODE .... ██████████
CAFÉ ........... ████████████████████████████████████ (litres)
Je pourrais vous en dire plus, mais ensuite je devrais vous refactorer.
2026 - ………… ⇝ Développeur Full Stack Senior · Tech Lead — Alumnforce (100 % remote)
2023 - 2026 ⇝ CTPO Sinfin — SaaS PIM/DAM/OMS pour le retail et le luxe (LVMH, Lacoste, Le Coq Sportif, …)
2021 - 2023 ⇝ Co-fondateur & CTO Timcity — ERP immobilier from scratch (Paris)
2015 - ………… ⇝ Freelance pour Orange — 11 ans, back/front/ops (Paris)
2012 - 2015 ⇝ Ingénieur Web Full Stack / R&D — DGSE (Paris)
2009 - 2012 ⇝ Ingénieur Full Stack — SaaS e-santé / HAD (Bordeaux)
2010 - ………… ⇝ Gérant x10 — Ma boîte, mon bébé
J'ai commencé en stage dans une startup bordelaise en e-santé, créé x10 encore étudiant, enchaîné à la DGSE, puis grandi grand compte après grand compte — dont Orange, fidèle depuis plus de dix ans. Un fauteuil de CTO, un de CTPO et quelques milliers de composer update plus tard, me voilà référent technique en full remote — et toujours gérant de x10.
Notes de version complètes : CHANGELOG.md. Versionnage sémantique respecté. Presque.
| Domaine | Technologies |
|---|---|
| Back | PHP 5→8 · Symfony 2→8 · API Platform 1→4 · Doctrine · Node.js · SQL (My/Maria/PostgreSQL + pgvector) · Redis · ElasticSearch |
| Front | TypeScript · ReactJS · VueJS · Twig · (survivant de jQuery, AngularJS et BackboneJS — trois frameworks, zéro regret) |
| DevOps | Docker · Kubernetes/Openshift · AWS · Azure · GitHub Actions · GitlabCI · Jenkins · Ansible · Vault · Sentry · Linux · Apache/Nginx |
| Qualité | PHPUnit · Cypress · PHPStan · CS Fixer · Code Review (le vrai sport de combat) |
| IA | Claude Code · MCP · Gemini · Voyage AI · Agents · Embeddings |
| Bonus | RabbitMQ · Websockets · MongoDB · Kibana · UX · DX · SEO · Accessibilité · DDD |
J'ai fait le choix de PHP à une époque où ce n'était pas encore à la mode d'assumer. Symfony m'a donné raison.
2010— Ingénieur en Cognitique & Master Recherche · ENSC / Institut Polytechnique de Bordeaux2007— Classes Préparatoires PSI · Lycée Claude Fauriel, Saint-Étienne2005— Bac S SI/MPI · Lycée Carnot, Roanne
Roanne → Saint-Étienne → Bordeaux → Paris → Metz → la France entière. Itinéraire d'un dev' gâté.
<?php
declare(strict_types=1);
namespace X10\People;
use X10\Contracts\{CognitiveScientist, Engineer, TechLead};
use X10\Domain\{Problem, Solution};
/**
* PHPStan level: max. Baseline: my conscience.
*/
final class EmmanuelBallery implements Engineer, CognitiveScientist, TechLead
{
public const string BASED_IN = 'Metz, France';
public const int SHIPPING_SINCE = 2009;
#[\Deprecated(message: 'Survived it. Not going back.')]
public const string FAVOURITE_JS_LIBRARY = 'jQuery';
public int $yearsOfExperience {
get => (int) date('Y') - self::SHIPPING_SINCE;
}
/** @var list<string> */
public private(set) array $hats = ['Tech Lead @ Alumnforce', 'Owner @ x10'];
/** @var list<string> */
public private(set) array $favouriteColleagues = ['Claude', 'Gemini', 'ChatGPT'];
public function solve(Problem $problem): Solution
{
return $problem
|> $this->understandTheHumans(...)
|> $this->talkToTheMachines(...)
|> $this->writeTheTests(...)
|> $this->ship(...);
}
public function whyDidTheUserClickThere(): never
{
throw new \LogicException("I know why. I just can't stop them.");
}
}



