- Lieu : Paris 19eme - Métro Ourcq
- Avantages : Culture Craftsmanship forte, participation à un projet d'engagement citoyen (lutter contre le décrochage numérique), télétravail possible, Culture du partage, de la transmission et de l'entraide.
- Télétravail ? Oui
- Stack technique :
#NodeJS #Hapi.JS #EmberJS #PostgreSQL #SoftwareCraftsmanship
- Type : cdi
#Node.js #Ember.js #SoftwareCraftsmanship

J’ai discuté récemment avec Nicolas Savois, CTO de Pix.fr, Startup d’Etat. Pix a grandement misé sur des méthodes de recrutement qualitatives pour s’entourer des bonnes personnes (80 personnes aujourd’hui au sein de l’entreprise) ce qui a permis de poser un cadre de développement agréable et efficace (culture craftsmanship) et orienté utilisateur (product team).
La raison d’être de Pix.fr est de permettre à tout un chacun de cultiver ses compétences numériques et avoir une activité numérique (pro ou perso) épanouie 🚀. Pix répond à un enjeu de société fort : lutter contre le décrochage numérique en donnant les moyens à chaque citoyen d’en améliorer sa maîtrise et de valoriser ses compétences numériques tout au long de la vie.
Après 5 ans d’activité, Pix.fr impacte la vie de près d’8M d’usagers et poursuit son déploiement dans l’enseignement scolaire, supérieur, dans les entreprises ou organisations professionnelles et est en passe de se déployer à l’international 🌍
Ils ont dépassé les 10 millions d’utilisateurs !
Le contexte en recrutement
A l’heure actuelle, Pix me sollicite sur la partie recrutement pour faire grandir les Products Team avec des profils dits Artisans.nes Logiciel (plutôt fullstack JS #EmberJS #NodeJS), en interne.
Le besoin s’oriente vers le recrutement d’un profil fullstack senior (H/F).
L’organisation des équipes
L’entreprise compte aujourd’hui 122 collaborateurs dont 40 personnes au sein de l’équipe techniques.
C’est plus de 10 millions comptes utilisateurs créés (atteints en Janvier) et plus de 650 000 visiteurs uniques par jour.
Les équipes sont organisées en produits ou plutôt en services rendus (produit + conseils donnés associés au produit).
Chaque équipe est composée de :
- 6 à 7 personnes environ avec un PO (cela est le cas pour les Features Teams, mais pas pour les équipes SRE ou Data, qui n’ont actuellement pas de PO).
- un Lead Dev.
- et 4 à 5 développeurs.
Chaque Product Team est :
- responsable,
- multi-compétences,
- et agile,
Les équipes sont composées essentiellement de personnes seniors (6 personnes ont plus de 10 ans d’expérience, 8 personnes ont plus de 5 ans d’expérience. Il y a un alternant).
Les 5 principales équipes
- Team Accès : Permettre aux utilisateurs d’accéder aux applis Pix, via authentification interne ou externe, en conservant son compte tout au long de sa vie, en conformité avec la réglementation (CGUs, données perso…)
- Team Certification : Permettre à toute personne souhaitant valoriser ses compétences numériques d’apporter une preuve fiable de son niveau sur ces compétences grâce à l’obtention d’un certificat.
- Team Expérience d’évaluation : Permettre de passer un bon moment, d’identifier ce qu’on sait et ce qu’on ne sait pas et d’avoir envie d’apprendre et s’en sentir capable.
- Team Prescription : Permettre aux prescripteurs de donner des formations adaptées aux besoins des prescrits de son organisation, de mesurer l’efficacité des formations (avant/après), et d’identifier/valoriser les compétences des prescrits.
- Team Contenu : permettre d’évaluer ses compétences numériques au sein d’un référentiel de compétences, via des simulateurs ou encore des questions interactives.
Le produit
Voici un vidéo permettant une démonstration complète de leur solution :
Le besoin en recrutement
Attentes techniques
En termes de compétences, comme ils sont sur une stack “full JS”, il paraît important d’avoir une appétence et une certaine expertise sur JavaScript et des frameworks JS (back ou front).
L’envie d’écrire des tests en respectant la pyramide des tests est indispensable.

Ils ont besoin de personnes avec de la séniorité technique ! Les applications principales de Pix se basent sur une API monolithique, partagée par 5 équipes actuellement (visible sur notre github : https://github.com/1024pix/pix/tree/dev/api).
L’API essaie de maintenir une Clean Architecture, tout en continuant d’apporter de nouvelles évolutions et de gérer la dette technique.
Pour continuer à travailler au mieux sur cette API partagée, plusieurs chantiers sont en cours :
- Revoir le découpage de l’API pour que les équipes se sentent plus à l’aise sur leur scope, grâce à des approches Domain-Driven Design. Pour cela, Pix a commencé une grande série d’ Events Storming afin d’identifier les différents contextes (scopés) des équipes, beaucoup de questions reste à être répondre et c’est là que votre expertise entre en jeu.
- Passer d’une API NodeJS à une API NodeJS + Typescript : afin d’améliorer la qualité du back, d’éviter des bugs et de mieux décrire leurs différents modèles, l’équipe souhaite migrer son API vers Typescript. Cette migration demandera des connaissances autant en TypeScript, qu’en architecture logicielle, et aussi en accompagnement aux changements des équipes.
- L’alignement des décisions et des bonnes pratiques : le partage au sein d’une équipe de 50 personnes est bien différent qu’au sein d’une équipe de 10 personnes, et donc Pix évoluent sur ces pratiques. Pix a mis en place des ADR et continue à capitaliser sur cette pratique afin d’améliorer la communication et les prises de décisions cross-teams. (https://github.com/1024pix/pix/tree/dev/docs/adr)
Coté Front, les chantiers ne manquent pas non plus :
- Pix a un Design-System utilisé pour ses 4 applications principales, mais ce dernier doit encore trouver sa place dans les applications et surtout dans le processus de développement et de déploiement.
Globalement, les sujets transverses comme l’accessibilité, l’internationalisation et la sécurité sont au cœur des préoccupations des équipes, mais de nombreux challenges les attendent encore.
De plus, Pix continue de grandir et souhaite continuer à travailler avec des personnes moins expérimentées.
L’accompagnement des devs des équipes est central pour Pix (mise en place de kata, de bootcamp bi-annuel, après-midi dédié à la tech toutes les deux semaines) sur tous les sujets crafts : tests (unit, integration, acceptance, end2end), TDD, refacto, etc
Soft-Skills
Ils sont ouverts à tous types de profil dans la mesure où il y a un vrai match possible, et qu’ils perçoivent une vraie motivation pour le projet / ce qu’ils font ainsi qu’une vraie plus-value réciproque.
Une personne, par exemple, qui est focus uniquement sur la partie technique (dernière version de telle technologie, ou, plus péjorativement, sur le « Hype Driven Development ») risque de ne pas matcher avec la culture produit de Pix.fr, et les attentes techniques plus macro « la technique est un moyen au service des utilisateurs, et non une fin en soi ».
L’environnement technique
La stack technique
Frontend avec EmberJS
Backend en NodeJS/ Hapi.JS
Ils ont du PostgreSQL, du Redis (pour la partie cache et performance) et du Airtable (pour la partie référentielle) ~ https://github.com/1024pix/pix/blob/dev/docs/adr/0002-style-d-architecture.md.
Une plateforme Data a été construite afin de pouvoir faire face à la volumétrie croissante :
- des traitements python/pandas pour la transformation de données
- des jobs Spark/Scala afin de pouvoir traiter les très gros volumes
- les pipelines de données sont orchestrés par Airflow
- les traitements Big Data sont soigneusement hébergés par OVH
Après un début d’hébergement au format IaaS et une tentative mitigée d’infra haute-résilience, ils ont migré la quasi-totalité de leur infra chez @ScalingoHQ, un éditeur PaaS français. #BestOpsDecisionEver
Thread détaillé de Jérémy Buget, ancien CTO de Pix, racontant l’évolution des sujets infra chez Pix
Voici un résumé en images


La qualité de code
Les bonnes pratiques de développement ont été poussées vraiment loin :
- Des tests vraiment partout dans le code : plus de 90 % de couverture de tests
- Une pratique du TDD
- Des sessions en Mob et Pair Programming
- Découpage en commit
- Design DDD et ADR (Architecture Decision Record)
“En plus de concevoir et de réaliser des solutions adaptées à des problèmes utilisateurs au plus près du réel, chaque dev est aussi responsable de la production. Pour ça, nous avons mis en place un dispositif particulier appelé Team Captains“
http://engineering.pix.fr/organisation/2020/04/14/les-capitaines-de-la-production.html
Les valeurs de l’entreprise
- Engagement citoyen :
L’entreprise compte une cinquantaine de professionnels de tous bords et issus de tous domaines, animés par le même engagement citoyen, dont la moitié s’occupe du développement de la plateforme Web et des services numériques 👫#Diversité.
En tant que développeuse ou développeur, vous rejoindrez l’une des équipes produits, afin de concevoir et délivrer des solutions susceptibles d’aider les gens à évaluer, développer et valoriser leurs compétences numériques ~ http://engineering.pix.fr/organisation/product/teams/2020/04/13/product-teams.html.
Cet engagement citoyen est également un point qui a son importance lors de l’évaluation des futures recrues en entretien (autant que les compétences techniques).
- Transparence et partage :
l’OSS, la transparence et le partage sont au cœur de leur culture et de leurs valeurs, et ce depuis la première ligne de code ~ https://github.com/betagouv/pix/commit/39cd1f7db03c9f40836e87976b2d6fb082a8450f.
- La qualité sous toutes ses formes :
Qualité logiciel attendue : « La qualité de ce que nous produisons (les features, le code, nos outils), avec qui et comment nous le produisons (nos interactions entre nous et les relations avec nos usagers ou partenaires) est extrêmement importante pour nous. #DDD #XP #SoftwareCraftsmanship »
Expérience utilisateur : « Ce sont nos PO qui MEP via 1 commande Slack dès qu’on a quelque chose de valeur à proposer à nos utilisateurs / usagers. Nous automatisons un max de trucs ~ https://github.com/1024pix/pix-bot »
- Esprit d’équipe :
L’équipe tech EST le produit : elle n’est pas à la marge du business, du métier et des utilisateurs. Elle fait partie du produit et fait donc corps avec les autres équipes. La communication est clairement un enjeu quotidien, travaillé, amélioré, respecté, tant au sein de l’équipe technique qu’avec les autres équipes. Les interactions sont permanentes. Il n’y pas la culture du développeur.se qui code tout seul dans son coin.
- Une exigence personnelle forte :
La qualité logiciel passe par la rigueur et la discipline dans l’usage de tests et dans la volonté de progresser, de s’améliorer et de sortir de sa zone de confort.
Vous avez en totale transparence leurs enjeux RH, organisationnels, et leur culture d’entreprise dans leur Github ici
Les conditions de travail
Locaux basés à Paris 19eme vers le métro Ourcq avec terrasse et open space totalement rénové pour un accueil au top !
Un travail en full remote est tout a fait envisageable avec quelques moment de partage au sein des locaux dans le mois (3 jours de présence par mois) ou de façon plus espacée.
Le processus de recrutement
- Un premier échange avec Nicolas, pour faire connaissance,
- 1 ou 2 entretiens opérationnels avec 1 PO puis 2 devs, sur la base du code que vous apportez.
- Un dernier échange avec le CEO et/ou le DRH.
Le processus de recrutement est rapide (une à deux semaines)
Pour avoir une vue complète du processus de recrutement, il y tout qui est décrit sur leur Github ici.
Les éléments contractuels
La rémunération
- Junior : +/-44 K€
- Medior : 45-55 K€
- Senior : 57 à 65 K€
- A +/- 10XP on est entre 68 -75 K€
Prime de fin d’année pouvant atteindre 10% du brut annuel
Les aspects contractuels
Il peuvent, depuis juillet 2021, proposer des contrats en CDI
20 jours de RTT
Les noms des personnes que j’ai recrutées qui pourront vous parler de Pix de l’intérieur
Les feedbacks des personnes recrutées



