{
  "meta": {
    "theme": "even",
    "lang": "fr",
    "lastModified": "2026-11-01"
  },
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "basics": {
    "name": "Christophe Jean",
    "label": "Staff Engineer",
    "image": "https://www.cjean.fr/photo.jpg",
    "phone": "06 18 54 90 90",
    "birthDate": "1986-10-09",
    "url": "https://www.cjean.fr",
    "summary": "Je conçois des architectures et des outils réutilisables pour répondre à des besoins partagés, et j’accompagne les équipes dans leur développement. Développeur depuis 2011, je me suis ensuite spécialisé dans Symfony et TypeScript.",
    "location": {
      "postalCode": "93100",
      "city": "Montreuil",
      "countryCode": "FR",
      "region": "Île-de-France",
      "geo": "48.8623357,2.4412184"
    },
    "profiles": [
      {
        "icon": "linkedin",
        "network": "LinkedIn",
        "username": "christophe-jean",
        "url": "https://www.linkedin.com/in/cjean-fr"
      },
      {
        "icon": "mastodon",
        "network": "Mastodon",
        "username": "@cjean@mastodon.social",
        "url": "https://mastodon.social/@cjean"
      },
      {
        "icon": "github",
        "network": "GitHub",
        "username": "cjean-fr",
        "url": "https://github.com/cjean-fr"
      },
      {
        "icon": "tabler:slashes",
        "network": "dev-null.sh",
        "username": "@cjean-fr@dev-null.sh",
        "url": "https://dev-null.sh/@cjean-fr"
      }
    ]
  },
  "work": [
    {
      "company": "DriiveMe",
      "description": "Solution de convoyage de véhicule",
      "url": "https://www.driiveme.com",
      "startDate": "2025-07",
      "location": "Paris",
      "position": "Lead Developer",
      "summary": "Développement et maintenance du monolithe Symfony de la plateforme de convoyage de véhicules.",
      "highlights": [],
      "skills": [
        "Symfony",
        "PHP",
        "TypeScript",
        "Architecture",
        "IA-augmented development"
      ]
    },
    {
      "company": "AssoConnect",
      "description": "Logiciel de gestion pour associations",
      "position": "Tech Lead",
      "summary": "Accompagnement technique d’une squad Symfony / React sur le logiciel de gestion pour associations.",
      "url": "https://assoconnect.com",
      "startDate": "2024-11",
      "endDate": "2025-07",
      "location": "Paris",
      "highlights": [],
      "skills": [
        "Symfony",
        "React",
        "TypeScript",
        "Lean Software Development"
      ]
    },
    {
      "company": "Blissim",
      "description": "E-commerce & Box beauté",
      "position": "Engineering Manager (Hands-on)",
      "summary": "Management de l’équipe et développement de fonctionnalités critiques, avec intervention directe sur les incidents.",
      "url": "https://blissim.com/",
      "startDate": "2023-02",
      "endDate": "2024-11",
      "location": "Paris",
      "highlights": [
        "Management d'une équipe de jusqu'à 6 personnes (backend, frontend).",
        "Pilotage technique d'une migration AWS majeure : -45% de coûts infra.",
        "Modernisation stack et performances : Core Web Vitals (CLS réduit à 0,0), optimisation backend.",
        "Introduction des ADR (Architecture Decision Records) pour tracer et documenter les choix structurants."
      ],
      "skills": [
        "AWS",
        "Docker",
        "Symfony",
        "React"
      ]
    },
    {
      "company": "Singulart",
      "description": "Galerie d'art en ligne",
      "position": "Team Lead Developer",
      "summary": "Référent technique transverse auprès d’une équipe en croissance : mentoring et cohérence de l’architecture.",
      "url": "https://www.singulart.com/",
      "startDate": "2021-07",
      "endDate": "2022-12",
      "location": "Paris",
      "highlights": [
        "Structuration de la première squad en six mois avec le Head of Engineering : fonctionnement et rituels utilisés comme modèle pour le passage à quatre squads, dans une équipe de développement multipliée par quatre."
      ],
      "skills": [
        "Symfony",
        "JavaScript",
        "Mentoring",
        "Scalability"
      ]
    },
    {
      "company": "Webedia",
      "description": "750g.com, Académie du Goût – Groupe de médias en ligne",
      "position": "Chef de projet technique",
      "summary": "Responsabilité technique sur 750g.com et l’Académie du Goût.",
      "url": "https://fr.webedia-group.com/",
      "startDate": "2018-10",
      "endDate": "2021-07",
      "location": "Levallois",
      "highlights": [
        "Bundle Symfony de contenu et de SEO sur 750g.com (~8M visites/mois) : documents typés, champs personnalisables, héritage hiérarchique et URL découplées de la base de données.",
        "Lead technique de la refonte asynchrone du tunnel de paiement des deux sites pour la DSP2 (Académie du Goût : ~700k visites/mois).",
        "Industrialisation des pratiques de code (Code Reviews, qualité)."
      ],
      "skills": [
        "PHP",
        "Symfony",
        "SEO",
        "Payment Systems",
        "Architecture"
      ]
    },
    {
      "company": "Wishibam",
      "description": "E-commerce B2B / B2C",
      "position": "Lead Developer Backend",
      "summary": "Développement backend de la plateforme e-commerce.",
      "url": "https://wishibam.com/",
      "startDate": "2017-09",
      "endDate": "2018-10",
      "location": "Paris",
      "highlights": [
        "Réécriture d’un ORM pour abstraire les bases SQL et NoSQL, locales ou distantes ; compatibilité MySQL, MongoDB et Redis.",
        "Architecture et pilotage de la migration d'un système legacy (Zend) vers Symfony.",
        "Mise en place des pipelines CI/CD pour automatiser et sécuriser les déploiements."
      ],
      "skills": [
        "Symfony",
        "Zend",
        "CI/CD",
        "NoSQL",
        "Architecture"
      ]
    },
    {
      "company": "MyJob.Company",
      "description": "Plateforme de recrutement",
      "position": "Responsable technique",
      "summary": "Évolution de consultant à responsable technique, avec responsabilité sur l’architecture et l’organisation du développement.",
      "url": "https://myjob.company/",
      "startDate": "2013-10",
      "endDate": "2017-09",
      "location": "Paris",
      "highlights": [
        "Algorithme de rapprochement offres/candidats par proximité pondérée : milliers de profils, plus de 20 compétences techniques et comportementales notées de 0 à 5.",
        "Direction de la migration du framework propriétaire vers l'écosystème Symfony.",
        "Déploiement en production de la solution 'Sans CV' pour Pôle Emploi."
      ],
      "skills": [
        "PHP",
        "Symfony",
        "Algorithms",
        "Mentoring"
      ]
    },
    {
      "company": "Rylk Consulting",
      "description": "ESN",
      "position": "Ingénieur R&D / consultant",
      "summary": "Développement d’applications métier et d’outils internes, migrations Symfony et participation à des projets de R&D pour de grands comptes.",
      "url": "https://www.rylk.com/",
      "startDate": "2012-07",
      "endDate": "2013-10",
      "location": "Paris",
      "highlights": [
        "Design et développement d'un outil interne haute performance (Node.js, WebSocket)."
      ],
      "skills": [
        "PHP",
        "Symfony",
        "Node.js",
        "C#",
        "Oracle",
        "JQueryUI"
      ]
    },
    {
      "company": "Limonetik",
      "description": "Plateforme de services de paiements",
      "position": "Chef de projet technique / Dev",
      "summary": "Développement et maintenance des modules de paiement.",
      "url": "https://www.thunes.com/",
      "startDate": "2011-07",
      "endDate": "2012-07",
      "location": "Paris",
      "highlights": [
        "Création, à mon initiative, d’un outil de suivi clients/projets partagé entre équipes, avec mise à jour en temps réel (Node.js 0.8, WebSockets).",
        "Optimisation et maintenance des processeurs pour le module Proxy (Regex / C# / XML)."
      ],
      "skills": [
        "C#",
        "Node.js",
        "WebSockets",
        "Regex"
      ]
    }
  ],
  "education": [
    {
      "institution": "Institut Des Techniques Informatiques de Cergy",
      "url": "https://www.francecompetences.fr/recherche/rncp/12066/",
      "area": "Manager en informatique",
      "studyType": "Bac+5",
      "startDate": "2011-01",
      "endDate": "2013-01",
      "courses": [
        "Audit d'un système d'information existant.",
        "Conseil sur la stratégie d'un système d'information.",
        "Conception et mise en œuvre de systèmes informatiques et réseaux.",
        "Management de projets en France et à l'international.",
        "Management d'équipes interculturelles et accompagnement du changement.",
        "Développement d'affaires informatiques et gestion client.",
        "Entrepreneuriat et développement d'activités innovantes."
      ]
    }
  ],
  "skills": [
    {
      "name": "Architecture & Backend",
      "level": "Master",
      "keywords": [
        "PHP",
        "Symfony",
        "Architecture logicielle",
        "Conception d'API Platform",
        "Optimisation BDD (MySQL, PostgreSQL)",
        "NoSQL (MongoDB, Redis)"
      ]
    },
    {
      "name": "Frontend & Écosystème TypeScript",
      "level": "Advanced",
      "keywords": [
        "TypeScript",
        "React",
        "NextJS",
        "Node.js",
        "WebSockets",
        "Tailwind CSS"
      ]
    },
    {
      "name": "DevOps & Engineering Practices",
      "level": "Advanced",
      "keywords": [
        "Software Craftsmanship (DDD, SOLID)",
        "Réduction de dette technique & Legacy",
        "CI/CD (GitHub Actions, GitLab CI)",
        "Docker",
        "AWS (EC2, S3, RDS)",
        "Mentoring et Code Review"
      ]
    }
  ],
  "languages": [
    {
      "language": "Français",
      "fluency": "Langue maternelle"
    },
    {
      "language": "English",
      "fluency": "Avancé"
    }
  ],
  "certificates": [],
  "projects": [
    {
      "name": "Vincle",
      "startDate": "2025-09",
      "description": "Moteur de rendu JSX vers HTML en TypeScript, sans React ni JavaScript côté navigateur.",
      "highlights": [
        "Moteur de rendu sans dépendance, avec props et attributs typés.",
        "Sortie échappée et URL filtrées par défaut ; la suite de tests est elle-même contrôlée par mutation.",
        "Fragments différés et streaming, précompilation, plugin Vite et règles ESLint."
      ],
      "keywords": [
        "TypeScript",
        "JSX",
        "SSR",
        "Vite"
      ],
      "url": "https://vincle.cjean.fr",
      "roles": [
        "Créateur et mainteneur"
      ]
    },
    {
      "name": "Firefox Chrome Look",
      "description": "Personnalisation CSS pour les onglets verticaux natifs de Firefox : disposition pleine hauteur façon Chrome, sans couleur imposée.",
      "url": "https://github.com/cjean-fr/atelier/tree/main/packages/firefox-chrome-look",
      "startDate": "2026-11",
      "keywords": [
        "CSS",
        "Firefox",
        "userChrome.css"
      ],
      "highlights": [
        "Le panneau d'onglets monte jusqu'en haut de la fenêtre ; la barre de navigation n'occupe que la zone restante.",
        "Le thème Firefox actif est suivi, illustré avec les thèmes officiels Mozilla.",
        "Installateur interactif : détecte les profils Firefox (deb, snap, flatpak) et propose de choisir."
      ],
      "roles": [
        "Créateur et mainteneur"
      ]
    },
    {
      "name": "i18n-tiny",
      "description": "Bibliothèque de traduction typée en TypeScript, sans dépendance et sous les 500 octets compressés.",
      "url": "https://github.com/cjean-fr/atelier/tree/main/packages/i18n-tiny",
      "startDate": "2026-02",
      "keywords": [
        "i18n",
        "internationalization",
        "translation",
        "typescript",
        "type-safe",
        "zero-dependency",
        "minimalist"
      ],
      "highlights": [
        "Les clés de traduction sont autocomplétées.",
        "Un paramètre mal orthographié dans une traduction est une erreur de compilation, pas un bug en production.",
        "Fonctionne dans le navigateur et sous Node.js, sans configuration."
      ],
      "roles": [
        "Créateur et mainteneur"
      ],
      "entity": "@cjean-fr/i18n-tiny",
      "type": "library"
    }
  ]
}