Episode #3 : Pourquoi avoir lancé une CodeAcademy ?

Revenir aux fondamentaux de l’ingénierie logicielle nous paraît essentiel. La CodeAcademy, est un dispositif structuré d’onboarding offrant aux CodeWorkers en devenir toute la puissance de la communauté et du mentoring afin de révéler leur potentiel.

November 10, 2020

Des intégrations de qualité qui s'accélèrent

Depuis début 2020, la majorité de nos recrutements se font par le biais de candidatures spontanées ou de cooptations.

De notre point de vue, cette accélération est due à 3 facteurs clés que nous nous efforçons de consolider humblement :

  • un engagement fort de la part des CodeWorkers qui nous permet de bénéficier de cooptations de qualité
  • un effort certain pour construire une culture concrète, incarnée par des dispositifs implémentant chacune des valeurs prônées : partage, empathie, solidarité
  • un modèle alternatif régi par la transparence et la confiance

Pourquoi le MVC® (Minimum Viable CodeWorker) ?

Certains dysfonctionnements constatés dans la réalisation de projets informatiques auxquels j’ai moi-même participé, m’ont poussé à faire mes propres recherches sur les bonnes pratiques de conception et développement logiciels.

Divers ouvrages ont alimenté la réflexion menée lors du lancement de CodeWorks.

📚 #5 livres qui inspirent et motivent notre engagement

📝 #2 manifestos qui guident notre posture

  • Software Craftsmanship Manifesto
  • Reactive Manifesto

👀 #1 vision que nous partageons

Tout ce que nous produisons au quotidien reste du code quel que soient notre «profil », nos expériences ou appétences.

Cette tendance est d’autant plus vraie aujourd’hui, avec une évolution des pratiques dans les domaines de la valorisation des données et de l’opérabilité. On citera :

  • La convergence vers un seul et même poste de ML Engineer, telle que nous la concevons chez CodeWorks.
  • L’émergence des Infrastructures As Code et des tests appliqués aux scénarios de déploiement (Ansible Molecule).

Notre réflexion a aussi été alimentée par la posture des profils T-Shaped sur laquelle quelques articles ont récemment circulé :

  • une barre horizontale pour le tronc commun qui représente l’ensemble des paradigmes, pratiques et savoir-faire nécessaires pour produire un code de valeur
  • une barre verticale pour nos appétences assumées : Web, Data et/ou SecOps

Quelles que soient nos appétences, nous produisons donc du code bien conçu et implémenté avec soin. Et c’est déjà pas mal !

Pas d’intégration de qualité sans onboarding structuré

Chaque nouvel arrivant est inscrit dans un programme d’onboarding de 6 semaines minimum qui a pour objectif principal de valider le MVC® (Minimum Viable CodeWorker).

Nous pensons l’onboarding comme une période sereine durant laquelle nous devons :

  • acculturer les nouveaux arrivants à nos valeurs, modèle et dispositifs
  • déconstruire certains modèles de pensée résultant d’expériences passées qui peuvent être un frein à l’émancipation et à la prise d’initiatives
  • évaluer l’état de l’art des compétences acquises et assimilées
  • co-construire une roadmap réaliste et pragmatique pour développer les compétences nécessaires à l’obtention du MVC
  • accompagner, apprendre et partager dans un environnement empathique.

Qu’est-ce que le MVC ?

Le MVC est un gabarit de compétences autant “soft” que “hard”, permettant de garantir à nos partenaires que chaque CodeWorker s’inscrit dans une démarche :

  • pragmatique : se concentrer sur la solution appropriée à une problématique donnée
  • collective : s’entraider et se faire confiance les uns aux autres
  • évolutive : poursuivre l’apprentissage encore et toujours
  • solidaire : savoir compter les uns sur les autres
  • engagée : accompagner le changement de culture en douceur (pair-programming, code review, katas, bbl,…).

Pourquoi le MVC ?

Nous voulons revenir aux fondamentaux de l’ingénierie logicielle qui nous permettront de concevoir des produits modulaires et évolutifs dans le temps par des pairs convenablement formés en évacuant :

  • La complexité et l’over-engineering
  • Le FDD® « Frameworks Driven Development »
  • Le HDD® « Hype Driven Development »

Image for post

Comment nous l’implémentons ?

Nous avons défini un programme structuré avec des objectifs :

  • Fondamentaux du/des langages
  • OOP / FP
  • SOLID
  • Design Patterns
  • Bonnes pratiques
  • Paradigmes d’architectures (web, streaming, serverless,…)
  • Maturité des tests
  • Problématiques : sécurité, performance, asynchronisme, streaming.

Pourquoi la CodeAcademy ?

Peaufiner les formations initiales par la pratique : Code, Code, Code !

La CodeAcademy, est un dispositif structuré d’onboarding de petits groupes d’arrivants, jeunes potentiels, qui vont bénéficier de la puissance de la communauté et du mentoring pour révéler tout leur potentiel.

A l’issue de ce programme, nous sommes en mesure de certifier/ garantir un ensemble de compétences fondamentales qui leur permettra de s’incarner la posture de CodeWorker au quotidien.

Concrètement, Kezako ?

  • Une promo de 4 CodeWorkers maximum
  • Des mentors mobilisés pour l’encadrement
  • Les Co-CEO impliqués en qualité de POs pour animer et ritualiser les cérémonies utiles au développement de MVPs
  • Des dispositifs d’accompagnement : Pair-Programming, Code Review,…
  • Des moyens à disposition : Katas, Hands-On, Pluralsight, MVPs, Labs Move-to-Prod
  • 3 mois de développement des compétences cadrés, structurés et accompagnés
  • Un programme sur-mesure couvrant 3 périmètres :
  1. Tronc Commun : Langages, Algorithmie et Bonnes pratiques
  2. Appétences
  3. Move-To-Prod

Nous revendiquons la paternité de ces concepts et sommes à l’écoute de tous lecteurs qui souhaitent la contester 😉 :

  • FDD® « Frameworks Driven Development »
  • HDD® « Hype Driven Development »
  • MVC® « Minimum Viable CodeWorker »