Skip to main content

In this article

La culture d’ingénierie chez Snyk : les valeurs qui soutiennent et font avancer nos équipes

Écrit par
Headshot of Sergey Vasilkov

Sergey Vasilkov

8 mai 2023

0 minutes de lecture

Snyk a toujours été une entreprise dotée d’une culture remarquable et clairement définie. À mesure que nous grandissons, nous voulons partager et diffuser intentionnellement nos valeurs fondamentales, tout en laissant aux différents services et divisions la possibilité de les enrichir. Cela permet à Snyk de préserver ce qui fait notre identité et aux nouvelles recrues de bien s’intégrer.

La culture d’ingénierie s’appuie sur les valeurs de l’entreprise et y ajoute des convictions et des valeurs qui influencent les décisions et les actions de nos ingénieurs logiciels dans leur travail. Autrement dit, nous pouvons réunir toutes les motivations, normes, bonnes pratiques, choix d’outils, etc. pour définir une culture d’ingénierie claire. Cela nous aide à préserver cette culture et à la transmettre à tous nos collègues ingénieurs.

Nous voulons que la culture d’ingénierie de Snyk façonne l’approche de nos ingénieurs logiciels en matière de résolution de problèmes, d’innovation et de collaboration. Elle contribue à créer un environnement dans lequel les ingénieurs peuvent donner le meilleur d’eux-mêmes et favorise la réussite de toute l’organisation. Chez Snyk, nous sommes convaincus que notre culture d’ingénierie est un aspect essentiel de nos valeurs d’entreprise. Elle renforce nos valeurs et nos priorités, et nous aide à attirer et à fidéliser les meilleurs talents.

Nous pensons également qu’une culture d’ingénierie bien documentée nous rendra plus efficaces en nous permettant de :

  • Faire émerger les incohérences et susciter les discussions nécessaires.

  • Rendre la culture plus prévisible.

  • Donner à chacun les moyens d’agir (si j’adhère à la culture et que mes intentions sont bonnes, je ne risque pas de gros ennuis).

  • Faire avancer les ingénieurs dans la même direction.

  • Réduire les frictions entre les personnes.

  • Attirer les candidats en phase avec notre culture (et décourager ceux qui ne le sont pas).

  • Faciliter l’intégration des nouveaux ingénieurs et établir des valeurs et des attentes communes.

Comment nous avons défini la culture d’ingénierie de Snyk

Snyk possède une culture forte et bien définie à l’échelle de l’organisation. Dans nos échanges, nos valeurs nous aident à nous aligner et à concentrer notre attention.

  • One Team - Nous célébrons la force de notre communauté et collaborons avec enthousiasme et détermination pour accomplir de grandes choses.

  • Care Deeply - Nous sommes fiers de placer au cœur de notre action notre engagement envers les autres, nos clients, la planète et les communautés où nous vivons et travaillons.

  • Ship It - Nous avançons rapidement et misons sur l’innovation continue pour obtenir des résultats pour nos clients, tout en apprenant, en itérant et en nous améliorant constamment.

  • Think Bigger - Nous célébrons la force de notre communauté et collaborons avec enthousiasme et détermination pour accomplir de grandes choses.

  • Learn Always - Nous sommes convaincus qu’il y a toujours quelque chose à apprendre et que l’apprentissage est le moteur de notre développement, individuel et collectif. Ne cessons jamais d’apprendre.

Chacune de ces valeurs fondamentales peut s’appliquer à différentes situations. Nous constatons que nous concentrer sur ces valeurs contribue à notre réussite. Alors, comment les développer pour aider tous nos ingénieurs à rester sur la même longueur d’onde et à réussir ?

Nous avons réuni des responsables de l’ensemble de l’équipe Engineering, leur avons présenté nos valeurs et avons réfléchi à tout ce qui fait la force de l’ingénierie chez Snyk. En faisant correspondre nos valeurs fondamentales à nos pratiques d’ingénierie, nous avons rédigé le document Snyk Engineering Culture, qui constitue la base de cet article.

One Team

Nous célébrons la force de notre communauté et collaborons avec enthousiasme et détermination pour accomplir de grandes choses.

Nous communiquons abondamment

En tant qu’entreprise répartie dans le monde entier, nous partageons en détail nos avancées, nos processus, nos difficultés, etc. Cela passe par la communication, la documentation et les bonnes pratiques de partage de l’information. Par exemple :

  • Partager régulièrement l’avancement et les nouvelles des projets, sans qu’on ait besoin de le demander.

  • Présenter les nouvelles fonctionnalités et celles en cours de développement.

  • Enregistrer et partager régulièrement des vidéos accessibles à tous.

  • Un groupe de travail sur la documentation technique qui promeut les bonnes pratiques en matière de documentation et de rédaction technique.

Nous donnons et recevons régulièrement des retours

Nous encourageons nos équipes à faire régulièrement des revues et à solliciter les retours de leurs collègues et responsables. Nous savons aussi comment les mettre à profit. Un retour est un cadeau : nous le donnons et l’accueillons toujours dans cet esprit. Pour encourager ces échanges, nous organisons des évaluations annuelles, trimestrielles ou ponctuelles, des retours privés en tête-à-tête et un canal Slack public dédié aux remerciements.

Nous ne travaillons jamais seuls

Prise de décision, résolution de tâches complexes ou simples, gestion des incidents : nous avons toujours quelqu’un pour nous soutenir. Personne n’hésite à demander de l’aide ou à collaborer avec les autres. Nous privilégions la collaboration et encourageons chacun à s’appuyer sur notre valeur One Team.

Par exemple, de nombreuses équipes pratiquent la programmation en binôme, la programmation en mode mob ou la programmation en groupe pour s’entraider, rester concentrées et trouver les meilleures solutions.

Notre culture est exempte de reproches

Chacun contribue à notre travail. La façon dont nous réagissons, progressons et apprenons compte davantage que de chercher un coupable après coup. Quand nous discutons de problèmes, nous nous concentrons toujours sur les améliorations et la façon de mieux les gérer à l’avenir.

Nous exprimons ouvertement notre reconnaissance pour le travail des autres

Nous exprimons toujours notre reconnaissance dans les canaux de communication publics, notamment dans le canal #appreciation dédié sur Slack.

Avoir à cœur

Nous sommes fiers de placer au cœur de notre action notre engagement envers les autres, nos clients, la planète et les communautés où nous vivons et travaillons.

Nous prenons en compte la qualité et les exigences non fonctionnelles

Lorsque nous apportons de la valeur à nos clients, nous tenons compte même des exigences implicites, par exemple en matière d’ergonomie, de fiabilité, de testabilité, d’efficacité et de préparation à la mise en production. Nous :

  • Réglons les problèmes au lieu de les balayer sous le tapis

  • Couvrons les fonctionnalités par un nombre raisonnable de tests

  • Fournissons les métriques, tableaux de bord et alertes adaptés

  • Utilisons en interne les produits et fonctionnalités que nous développons (autrement dit, nous les testons en conditions réelles)

Nous réfléchissons aux conséquences éthiques de notre travail

Dans notre travail, nous gardons à l’esprit nos responsabilités éthiques envers la société et cherchons à intégrer des considérations éthiques à nos exigences.

  • Nous prenons en compte les exigences qui apportent de la valeur aux communautés vulnérables, par exemple les exigences d’accessibilité en UX.

  • Nous traitons les données conformément aux réglementations applicables et prenons leur gouvernance au sérieux.

  • Nous n’utilisons pas de pratiques de conception trompeuses (par exemple, pour contraindre les personnes à s’inscrire à un service ou les induire en erreur d’une quelconque façon).

  • Les ingénieurs ont la responsabilité de signaler les risques de manquements à l’éthique et doivent pouvoir le faire sans craindre représailles ou sanctions.

Nous faisons passer les clients en premier

Chaque problème rencontré par un client compte, et aider nos clients et nos équipes en première ligne est une mission essentielle pour nos équipes.

  • Les ingénieurs participent aux appels de débogage avec les clients afin d’accélérer la résolution des problèmes.

  • Nous gardons une vue d’ensemble claire des problèmes et les hiérarchisons avec les travaux liés aux fonctionnalités.

  • Nous menons des recherches auprès des utilisateurs pour chaque nouvelle fonctionnalité afin d’orienter sa conception selon leurs besoins et leurs cas d’usage réels.

Nous encourageons les échanges et les relations sociales, sans les imposer

Nous facilitons les échanges pour les personnes qui les apprécient, sans imposer à quiconque de sociabiliser, car nous savons que ce n’est pas ce que tout le monde souhaite. Pour cela, nous proposons des canaux Slack conviviaux, des canaux Slack Donut, des moments d’équipe ludiques, des événements sociaux, des apéros et bien plus encore, en ligne comme en personne.

Nous savons que chacun vit une journée et une expérience différentes

Snyk sait travailler avec des équipes réparties sur plusieurs fuseaux horaires et possède une solide expérience des équipes distribuées. Nous respectons les calendriers de chacun (garde d’enfants, rendez-vous médicaux, etc.) et les fuseaux horaires (pas de réunions ni d’attentes de réponse sur Slack), et proposons une session de formation intitulée Timezones for managers and those being managed.

Nous faisons de la diversité, de l’équité et de l’inclusion (DEI) un principe fondamental

Nous renforçons la culture inclusive de Snyk : nous accueillons les différences, cultivons un sentiment d’unité et nous donnons les moyens d’être pleinement nous-mêmes au travail. Nous proposons différents groupes de ressources Snyk (SRG) pour les communautés marginalisées et avons lancé la mission interne Mosaic@Snyk pour renforcer notre culture inclusive.

Ship It

Nous avançons rapidement et misons sur l’innovation continue pour obtenir des résultats pour nos clients, tout en apprenant, en itérant et en nous améliorant constamment.

Nous travaillons par tranches verticales

Chaque projet commence par un livrable clair, centré sur l’utilisateur. Celui-ci doit couvrir l’ensemble de la pile technique et réduire les risques associés aux travaux à venir. Nous développons de façon itérative afin de recueillir rapidement des retours.

Pour aller plus loin : 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 choisissent librement leur propre processus

Choisissez le processus qui vous permet de livrer : XP, Kanban, Shape Up, Scrum… à vous de choisir. Nous avons aussi une certaine liberté dans le cadre commun pour adapter le processus aux besoins de l’équipe. Celle-ci doit toutefois rester suffisamment alignée sur le groupe. Les équipes d’un même groupe doivent pouvoir planifier ensemble, établir des dépendances et communiquer sur les objectifs à court terme.

Par exemple, certaines équipes suivent XP (pas de sprints ni d’estimation des récits utilisateurs) ; un autre groupe utilise Shape Up ; et l’équipe Infra s’appuie sur un modèle 1-pager/6-pager pour communiquer et prendre des décisions.

Nos équipes suivent des « critères de fin » pour savoir quand un travail est réellement terminé

Un travail n’est pas terminé simplement parce qu’il est en production : il doit être entre les mains d’utilisateurs et de parties prenantes réellement impliqués. Dans nos canaux internes, nous travaillons en continu à définir ce qu’est un « travail terminé ».

Nous accordons une grande importance à l’expérience développeur (DevEx) et créons ou achetons des outils pour vous aider

Nous cherchons toujours à adopter de meilleures méthodes. Cela signifie que de nouveaux outils peuvent être proposés, testés et évalués avant d’intégrer notre suite d’outils standard. Par exemple, Polaris, Jira et CircleCI sont à la disposition de nos ingénieurs. Nous avons également des canaux Slack pour les aider à les utiliser et pour proposer de nouveaux outils.

Think Bigger

Notre ambition de réaliser l’extraordinaire nous pousse à dépasser les limites pour créer des solutions capables de changer le monde.

Nous automatisons

Ne perdez ni temps ni efforts dans des processus routiniers, des étapes répétitives ou des opérations chronophages.

Nous améliorons nos processus

Ne vous accrochez pas à une méthode simplement parce qu’elle est en place depuis longtemps. Faites évoluer les processus pour qu’ils fonctionnent au mieux pour l’entreprise.

Nous voyons au-delà des frontières de notre équipe

Nous réfléchissons aux dépendances, les mettons en évidence et prenons part à la vie du groupe, pas seulement à celle de notre équipe. Nous partageons régulièrement nos avancées avec les niveaux supérieurs, recueillons des retours au sein de notre groupe et encourageons les idées ambitieuses (par exemple : « Et si nous changions le fonctionnement de X ? »). Pour favoriser la collaboration entre les équipes de façon ludique, nous organisons des hackathons et d’autres événements qui rassemblent tout le monde.

Nous concevons pour l’avenir et développons dès maintenant

Nous cherchons à trouver l’équilibre entre Think Bigger et Ship It : voir grand en matière d’architecture et de conception, tout en privilégiant les tranches verticales et en ajustant la portée lors de la mise en œuvre.

Learn Always

Nous cultivons l’ouverture d’esprit et la curiosité, apprenons les uns des autres et cherchons toujours à progresser.

Nous encourageons et pratiquons le mentorat et le coaching

Une solide culture de mentorat entre pairs est un véritable atout concurrentiel pour développer rapidement une organisation. Pour la soutenir, nous avons les canaux #miyagi-academy et #mentorship-* et sommes toujours heureux de partager nos connaissances comme d’en acquérir. Nous proposons également une session de formation intitulée How to be an effective educator.

Nous proposons un programme d’échange entre employés Snyk

Pour progresser par itérations, nous avons lancé le programme Employee Exchange. Il permet aux membres des différentes équipes d’ingénierie de rejoindre une autre équipe le temps d’un sprint, afin de découvrir de nouvelles technologies, d’expérimenter de nouveaux processus et de nous améliorer ensemble, en tant qu’équipe.

Nous encourageons les Snykers à utiliser leurs ressources de formation

Nous accordons une grande importance au partage des connaissances, à l’apprentissage et au développement personnel. Snyk nous encourage à investir davantage dans notre apprentissage en nous incitant à réserver des créneaux dans notre calendrier (et à les respecter), en mettant à notre disposition un budget annuel de formation et en nous donnant accès à des ressources telles que Learnerbly, Udemy, O’Reilly et bien d’autres.

Nous organisons régulièrement des rétrospectives et tirons des enseignements de notre expérience

Si la plupart des équipes organisent des rétrospectives de sprint ou de projet, nous en organisons également sur les nouveaux processus et initiatives dès leurs débuts, afin de déterminer ce qui peut être modifié, corrigé ou amélioré. Les processus de revue et de hackathon sont l’affaire de toute l’équipe.

Nous analysons les incidents

Nous organisons des revues et des rétrospectives après incident. Elles nous aident à progresser de deux façons : comment gérer les incidents et que faire pour éviter qu’un incident similaire ne se reproduise ? Pour cela, nous avons un groupe de travail dédié aux incidents et un projet consacré aux incidents majeurs.

Nous participons à Snyk School

Snyk School est un forum interactif et stimulant animé par des Snykers, qui vous donne l’occasion d’en apprendre davantage sur des sujets essentiels à notre apprentissage et à notre croissance.

Nous faisons des démonstrations de notre travail

Nous tenons à partager les évolutions techniques en les présentant dans des logiciels fonctionnels. Nous partageons nos réussites et nos progrès lors de différentes réunions adaptées à différents publics : nos pairs, les équipes d’assistance et les équipes métier. Cela comprend des démonstrations bimensuelles à l’échelle de l’entreprise et des appels de démonstration mensuels.

Nous avons défini des rôles en ingénierie

Des rôles clairement définis favorisent l’épanouissement professionnel et personnel en offrant un parcours de carrière. Les ingénieurs peuvent ainsi savoir où ils en sont et quels aspects améliorer.

Conclusion

Maintenant que nous avons consigné par écrit l’ensemble de nos convictions et de nos pratiques, nous pouvons les partager plus facilement avec nos talentueux ingénieurs répartis dans le monde entier. Nous pouvons les faire évoluer au fil de nos apprentissages (apprenons en permanence !) et aider les ingénieurs à prendre les meilleures décisions possible. Des décisions en accord avec nos valeurs et notre culture d’ingénierie ne les induiront que rarement en erreur !

La culture peut être difficile à définir au premier abord. C’est quelque chose que l’on intègre et que l’on vit. En prenant du recul, on peut voir quelles valeurs guident notre approche du travail et des problèmes. Nous vous mettons au défi d’essayer ! Quelles valeurs vous semblent essentielles pour aider vos équipes à réussir au mieux ? 

Publié dans: