Culture technique de Snyk : à la découverte des valeurs qui animent nos équipes
8 mai 2023
0 minutes de lectureSnyk a toujours eu une culture exceptionnelle et clairement définie. Au fil de notre croissance, nous veillons à partager et diffuser nos valeurs centrales, tout en laissant nos différents sites et services s’en emparer. Avec cette stratégie, Snyk reste Snyk, et nos nouvelles recrues parviennent à s’intégrer sans accroc.
Notre culture technique repose sur nos valeurs et vient enrichir l’approche adoptée par nos ingénieurs logiciels dans leurs décisions et leur travail. Elle est définie par nos motivations, normes, meilleures pratiques et outils. Ce cadre nous permet de stabiliser cette culture et de la diffuser auprès de tous les ingénieurs.
Nous tenons à ce que la culture technique de Snyk façonne la manière dont nos ingénieurs logiciels résolvent les problèmes, innovent et collaborent. Elle nous inspire un environnement qui les aide à atteindre leur plein potentiel et favorise la réussite de l’entreprise dans son ensemble. Chez Snyk, nous estimons que notre culture technique joue un rôle clé dans les valeurs globales de l’entreprise, qui reposent elles-mêmes sur nos valeurs et priorités, et nous aide à séduire et fidéliser les meilleurs talents.
Nous pensons également qu’une culture technique bien documentée nous rendra plus efficaces :
En mettant en lumière les incohérences et forçant des discussions nécessaires
En rendant notre culture plus prévisible
En donnant les clés aux employés pour agir (si je suis la culture de l’entreprise et que mes intentions sont bonnes, je ne risque pas grand-chose)
En mettant tous les ingénieurs au diapason
En réduisant les frictions entre les individus
En attirant des collaborateurs qui partagent notre culture et en détournant les autres
En facilitant l’intégration des nouveaux ingénieurs et en définissant des valeurs et attentes partagées
Comment nous avons défini notre culture technique
Snyk dispose d’une culture d’entreprise solide et bien définie. Nos valeurs nous aident à avancer dans la même direction et à concentrer notre attention lors de nos interactions.
Une équipe unie - Nous nous réjouissons de la solidité de notre communauté et collaborons avec enthousiasme et ténacité pour accomplir de grandes choses.
Un intérêt sincère - Nous nous surpassons pour nos collègues, nos clients, la planète et les communautés dans lesquelles nous vivons et travaillons.
Des résultats concrets - Nous agissons sans délai et innovons en continu pour apporter des résultats à nos clients. Nous apprenons, itérons et optimisons en permanence.
Une vision globale - Nous nous réjouissons de la solidité de notre communauté et collaborons avec enthousiasme et ténacité pour accomplir de grandes choses.
Un apprentissage de chaque instant - Nous pensons qu’il y a toujours quelque chose à apprendre, et que l’apprentissage est la base de notre progression, que ce soit à titre individuel ou à l’échelle de l’entreprise. Il ne faut jamais cesser d’apprendre.
Chacune de ces valeurs centrales peut être appliquée dans diverses situations, et nous pensons qu’elles nous aident à réussir. Mais une question se pose : comment pouvons-nous nous appuyer sur ces valeurs centrales pour aider tous nos ingénieurs à aller dans le même sens et réussir ?
Pour y répondre, nous avons réuni les dirigeants de tous les services techniques, leur avons présenté ces valeurs, puis les avons invités à réfléchir à tout ce qui rendait l’ingénierie si exceptionnelle chez Snyk. L’alignement de nos valeurs centrales et de nos pratiques d’ingénierie a donné naissance à une description écrite de la culture technique de Snyk, le document à la base de cet article.
Une équipe unie
Nous nous réjouissons de la solidité de notre communauté et collaborons avec enthousiasme et ténacité pour accomplir de grandes choses.
Nous communiquons largement
Nos équipes sont réparties dans le monde entier, et nous communiquons donc beaucoup sur notre avancée, nos processus, nos problèmes, etc. Cette communication inclut nos échanges, la documentation et les meilleures pratiques de partage des informations. Par exemple :
Nous faisons part de l’avancée des projets de manière régulière et proactive.
Nous faisons des démonstrations des fonctions nouvelles ou en cours de développement.
Nous enregistrons et partageons régulièrement des vidéos publiques.
Nous avons mis en place un groupe chargé de la documentation technique qui met en avant les meilleures pratiques de documentation et de rédaction technique.
Nous faisons et recevons régulièrement des retours.
Nous invitons nos ingénieurs à consulter fréquemment les retours qui leur sont faits, mais aussi à en demander à leurs collègues et responsables. Nous savons aussi comment mettre en application ces retours et en tirer profit pour avancer. Les retours sont un atout, et nous les faisons et les acceptons sans jamais l’oublier. Pour encourager les retours, nous organisons des bilans annuels/trimestriels et ponctuels, ainsi que des sessions en face à face. Nous avons aussi mis en place un canal Slack public pour partager tout compliment et encouragement.
Nous ne travaillons jamais seuls
Prise de décision, résolution de problèmes simples ou complexes, résolution d’incidents... Nous pouvons toujours compter sur l’appui de quelqu’un. Nous n’avons ni peur ni honte de demander de l’aide. Nous préférons collaborer et encouragerons une équipe unie.
Par exemple, beaucoup d’équipes pratiquent la programmation en binôme/groupe pour se soutenir les uns les autres, ne pas perdre le fil et aboutir aux meilleures solutions.
Le blâme n’a pas sa place dans notre culture
Nous considérons que chacun sert notre action collective et que la façon dont nous réagissons, progressons et apprenons est plus importante que de revenir sur les responsabilités des uns et des autres. Dans nos discussions autour des problèmes, nous nous concentrons toujours sur les améliorations et l’avenir.
Nous n’hésitons pas à montrer notre appréciation du travail des autres
Nous faisons toujours part de notre reconnaissance dans les canaux de communication publics et avons créé un canal Slack (#appreciation) dédié.
Un intérêt sincère
Nous nous surpassons pour nos collègues, nos clients, la planète et les communautés dans lesquelles nous vivons et travaillons.
Nous tenons compte des exigences de qualité/non liées aux fonctionnalités
Nous prêtons attention aux exigences même implicites de nos clients, notamment en tenant compte de l’utilisabilité, la fiabilité, la testabilité, l’efficience et l’état global de préparation à la mise en production.
Nous réglons les problèmes plutôt que de les cacher sous le tapis.
Nous menons un nombre raisonnable de tests pour chaque fonctionnalité.
Nous fournissons des indicateurs, tableaux de bord et alertes appropriés.
Nous utilisons en interne les produits et fonctionnalités que nous créons.
Nous tenons compte des implications éthiques de notre travail
Nous n’oublions jamais nos responsabilités éthiques envers la société et cherchons à les intégrer dans nos exigences.
Nous tenons compte des exigences qui offrent de la valeur aux communautés vulnérables, par exemple en matière d’accessibilité.
Nous gérons les données conformément à la réglementation applicable et accordons une grande importance à la gouvernance des données.
Nous évitons toute stratégie trompeuse, comme celles visant à pousser à l’inscription.
Nos ingénieurs ont le devoir de signaler toute inquiétude relative à des violations potentielles de l’éthique et doivent estimer pouvoir le faire sans crainte de représailles.
Nous pensons avant tout à nos clients
Chaque problème de nos clients est important. Accompagner les équipes client et autres équipes en première ligne fait partie des missions centrales de nos ingénieurs.
Nos ingénieurs participent aux appels de résolution avec les clients pour accélérer l’identification des solutions.
Nous veillons à maintenir une vision claire des problèmes et travaillons à leur résolution en parallèle du déploiement des nouvelles fonctions.
Nous menons des recherches utilisateur pour chacune de nos nouvelles fonctions afin de placer les besoins et cas d’usage de nos clients au cœur de nos activités.
Nous encourageons les échanges et la socialisation, sans forcer qui que ce soit
Nous aidons les personnes qui apprécient particulièrement les interactions à en avoir davantage. Pour autant, nous ne forçons personne à socialiser, car nous savons que ce n’est pas une inclination universellement partagée. Nous proposons des canaux Slack amusants, des canaux Slack de convivialité (avec Donut), des moments en équipe amusant, des événements sociaux, des happy hours et plus encore (en ligne comme dans le monde réel).
Nous gardons à l’esprit que chacun vit une journée/expérience différente
Snyk sait gérer un environnement réparti entre plusieurs fuseaux horaires et des équipes dispersées aux quatre coins du monde. Nous respectons les obligations de chacun (enfants, rendez-vous médicaux), leur fuseau horaire (pas de réunions ou de réponses attendues sur Slack) et proposons même une formation intitulée Les fuseaux horaires pour les managers et les managés.
La diversité, l’équité et l’inclusion font partie de nos principes de base
Nous renforçons sans cesse l’inclusivité de Snyk, dont la culture incite à accueillir la différence à bras ouverts, à maintenir un sentiment d’unité et à permettre à chacun de se montrer au travail tel qu’il est vraiment. Nous avons mis en place des groupes de ressources Snyk (SRG) destinés à différentes communautés marginalisées, ainsi que la mission Mosaic@Snyk, dont l’objectif est de renforcer l’inclusivité de la culture de Snyk.
Des résultats concrets
Nous agissons sans délai et innovons en continu pour apporter des résultats à nos clients. Nous apprenons, itérons et optimisons en permanence.
Nous suivons une approche verticale
Chacune de nos activités part d’un livrable bien défini, pensé pour le client. Ces livrables impliquent l’ensemble de notre pile technologique et contribuent à éliminer le risque du travail restant à faire. Notre stratégie de développement itérative nous permet de recevoir des retours rapidement.
Lectures suggérées :Marshmallow Challenge, Innovation Games: Creating Breakthrough Products Through Collaborative Play, Mark Finnern | Any significantly advanced work is indistinguishable from play, Visible Architectures, How Big Tech Runs Tech Projects and the Curious Absence of Scrum
Nos équipes peuvent choisir leurs propres processus
Elles peuvent suivre la méthode qu’elles souhaitent : XP, Kanban, Shape Up, Scrum, c’est à elles de choisir. À chaque instant, elles sont libres de travailler comme elles l’entendent au sein du cadre défini qui leur convient. Pour autant, elles doivent aussi faire le lien avec le reste du groupe. Elles doivent pouvoir travailler ensemble sur la planification, l’identification des dépendances et les objectifs à court terme.
Par exemple, certaines de nos équipes suivent le processus XP (pas de sprints et pas de suivi des stories). Un autre groupe utilise Shape Up. Notre équipe d’infrastructure suit le modèle 1 page/6 pages pour communiquer et prendre des décisions.
Nos équipes suivent la définition de « Done » pour savoir à quel moment une tâche est véritablement achevée
L’état Done (terminé) ne se limite pas à la mise en production : c’est le moment auquel la fonction est entre les mains des véritables utilisateurs et parties prenantes impliqués. Nous travaillons en permanence sur la nature de la définition de Done en interne.
L’expérience des développeurs est essentielle, et nous créons/achetons des outils pour les aider
Nous cherchons toujours à proposer mieux. Et nous encourageons donc la proposition, le test et la validation de nouveaux outils pour les ajouter à notre suite de référence. Par exemple, nos ingénieurs ont accès à Polaris, Jira et CircleCI. Nous mettons également à leur disposition des canaux Slack pour les accompagner et leur permettre de suggérer de nouveaux outils.
Une vision ambitieuse
Nous travaillons pour donner vie à notre ambition : réaliser l’extraordinaire et repousser les limites pour créer des solutions qui changeront le monde.
Nous automatisons
Ne perdez pas de temps et d’énergie sur les processus de routine, les étapes répétitives et les opérations chronophages.
Nous affinons les processus
Ne vous astreignez pas à une façon de faire, simplement car il en a toujours été ainsi. Optimisez et corrigez les processus pour qu’ils fonctionnent de manière optimale dans le contexte de l’entreprise.
Nous pensons international
Nous pensons aux dépendances et les mettons en lumière à l’échelle du groupe, non seulement de l’équipe. Nous communiquons toujours nos avancées avec les niveaux supérieurs, nous recueillons des commentaires de l’ensemble du groupe et encourageons les idées avant-gardistes (p. ex. : changer le fonctionnement de X). Pour favoriser de manière amusante la collaboration entre équipes, nous organisons des hackathons et autres événements.
Nous concevons pour demain et développons pour aujourd’hui
Nous cherchons l’équilibre entre notre vision ambitieuse et les résultats concrets en voyant loin en matière d’architecture et de conception, en nous concentrant sur une approche verticale et en adaptant le périmètre lors de l’implémentation.
Un apprentissage de chaque instant
Nous sommes ouverts et curieux. Nous apprenons les uns des autres et cherchons toujours de nouveaux moyens de progresser.
Nous encourageons et pratiquons le mentorat et l’encadrement
Une culture encourageant vivement le mentorat entre collègues est imbattable. Il s’agit d’un véritable avantage compétitif lors du développement rapide d’une entreprise. Pour y parvenir, nous avons ouvert les canaux #miyagi-academy et #mentorship-*, et n’hésitons pas à partager nos connaissances. Nous proposons également une formation expliquant comment devenir un pédagogue efficace.
Nous proposons un programme d’échanges inter-équipes
Pour nous améliorer par itération, nous avons lancé un programme d’échanges. Dans le cadre de ce programme, les membres de différentes équipes d’ingénierie peuvent changer d’équipe le temps d’un sprint pour apprendre de nouvelles technologies, de nouveaux processus et s’améliorer conformément à notre valeur Une équipe unie.
Nous encourageons les Snykers à s’appuyer sur leurs ressources d’apprentissage
Nous valorisons les connaissances, l’apprentissage et le développement en autonomie. Pour encourager ses collaborateurs à s’investir davantage dans l’apprentissage, Snyk invite les ingénieurs à bloquer des jours dédiés à l’apprentissage (et à respecter ces créneaux), alloue un budget annuel de formation et donne accès à des ressources comme Learnerbly, Udemy, O’Reilly et bien d’autres.
Nous organisons régulièrement des rétrospectives et apprenons de notre expérience
Si la plupart des équipes organisent des sprints/rétrospectives de projet, nous faisons aussi très rapidement des rétrospectives pour les nouveaux processus et initiatives pour déterminer ce qui peut être modifié, corrigé ou amélioré. Le principe d’examen et d’optimisation est inscrit dans notre ADN.
Nous analysons les incidents
Nous réalisons des examens post-incident et des postmortems. Ce processus nous aide à la fois à améliorer notre gestion des incidents, mais aussi à déterminer comment éviter d’autres incidents du même type à l’avenir. Dans ce cadre, nous avons mis en place un groupe chargé des incidents et un projet dédié aux incidents majeurs.
Nous allons à la Snyk School
La Snyk School est un lieu d’échange passionnant et interactif animé par des Snykers. Elle vous donnera l’occasion d’en apprendre davantage sur des sujets essentiels pour apprendre et progresser.
Nous faisons des démonstrations de notre travail
Nous n’hésitons pas à présenter nos évolutions techniques en en faisant la démonstration dans des logiciels fonctionnels. Nous partageons nos réussites et progrès au cours de différentes réunions pour divers groupes cibles : collègues, équipes d’assistance, équipes métier. Nous réalisons notamment des démonstrations dans toute l’entreprise tous les 15 jours et des démonstrations en visio tous les mois.
Nous avons mis en place des rôles techniques bien définis
En créant des rôles bien définis, nous facilitons votre développement personnel et professionnel. Les ingénieurs savent ainsi où ils en sont à chaque instant et quels points ils doivent améliorer.
Conclusions
Maintenant que nous vous avons formalisé l’ensemble de nos valeurs et pratiques, nous pouvons les partager plus facilement avec l’ensemble de nos talentueux ingénieurs répartis aux quatre coins du monde. Nous pouvons les faire évoluer à mesure que nous apprenons (un apprentissage de chaque instant !) et aider nos ingénieurs à prendre les meilleures décisions possibles. Des décisions conformes à nos valeurs et à notre culture technique ont toutes les chances d’être constructives !
Au début, il est parfois difficile de caractériser sa culture. En effet, il s’agit d’une notion internalisée, qui relève du vécu. Mais en prenant du recul, vous parviendrez à identifier les valeurs qui guident votre approche du travail et des problèmes. Nous vous invitons à essayer ! Quelles sont les valeurs que vous jugez importantes pour aider vos équipes à réussir du mieux possible ?