Engineering-Kultur bei Snyk: Werte mit Substanz für unsere Teams
Sergey Vasilkov
8. Mai 2023
0 Min. LesezeitWas Snyk seit jeher auszeichnet, ist unsere herausragende Kultur mit klarem Fokus. Dahinter stehen Kernwerte, die wir auch im Zuge unseres Wachstums konsequent in unsere verschiedenen Abteilungen und Funktionsbereiche weitertragen. Zugleich lassen wir allen aber auch den nötigen Raum, um darauf aufzubauen. Damit unterstreichen wir, was Snyk ausmacht, und helfen Neuzugängen dabei, erfolgreich bei uns anzukommen.
Grundpfeiler unserer Engineering-Kultur sind unsere Unternehmenswerte. Diese ergänzen wir um Überzeugungen und Werte, die unsere Engineering-Teams in ihrem Tagesgeschäft und bei ihren Entscheidungen anleiten. Alle Motivationen und Standards, Best Practices und Tooling-Themen überführen wir so in einen klaren Kontext, an dem wir festhalten und den wir allen Kollegen nahtlos vermitteln können.
Unsere Engineering-Kultur ist die prägende Säule dafür, wie unsere Software-Entwickler Probleme angehen, Innovationen gestalten und zusammenarbeiten. Sie trägt zur Schaffung eines Umfelds bei, in dem unsere Teams ihr volles Potenzial erschließen und zugleich die Mission unseres Unternehmens als Ganzes voranbringen können. So ist unsere Engineering-Kultur eine der Kernsäulen für die Werte und Prioritäten hinter dieser Mission – und mit diesen entscheidend dafür, Top-Talente langfristig für uns zu gewinnen.
Zudem fahren wir mit einer klar dokumentierten Engineering-Kultur in vielerlei Hinsicht schlicht effektiver:
Spannungsfelder werden leichter erkennbar und die nötigen Diskussionen angeregt.
Kultur wird besser greifbar.
Eigeninitiative wird gefördert (denn wer im Einklang mit unser Kultur und mit besten Absichten handelt, kann so viel gar nicht falsch machen).
Alle Entwickler arbeiten auf ein gemeinsames Ziel hin.
Unstimmigkeiten zwischen Einzelnen wird besser vorgebeugt.
Talente, die sich mit der Kultur identifizieren, bewerben sich vermehrt (während solche mit gegensätzlichen Ansichten es eher nicht tun).
Gemeinsame Werte und Erwartungen erleichtern es Dev-Neuzugängen, sich gut einzufinden.
Definition der Snyk Engineering-Kultur
Die kulturelle Richtschnur aller unserer Unternehmensbereiche basiert auf starken Werten, die uns im Austausch miteinander helfen und unseren Fokus auf das Wesentliche richten.
One Team - Wir bündeln unsere Stärken als Community, die dafür brennt, gemeinsam Großes zu erreichen.
Care Deeply - Wir setzen alles daran an, um Positives sowohl für Kunden und Partner als auch für das Umfeld zu bewirken, in dem wir als Snyker gemeinsam agieren und arbeiten.
Ship It - Wir verbinden Agilität mit konsequenter Innovation und arbeiten in iterativen Schritten darauf hin, stets noch ein Stück weit besser zu werden.
Think Bigger - Unsere Ambition ist es stets, Außergewöhnliches zu erreichen. Was heute noch Grenze ist, wollen wir schon morgen überwinden und die Welt verändern.
Learn Always - Wir geben uns nie mit dem Status quo zufrieden. Lernen und neue Erfahrungen sind das Rückgrat für Wachstum, für uns wie auch für unser Unternehmen.
Jeder dieser Kernwerte vermittelt uns Orientierung, wie wir in verschiedenen Situationen erfolgreich sein können. Uns war jedoch wichtig, diese Werte für den Engineering-Kontext zu konkretisieren, damit alle unsere Entwickler nahtlos nachvollziehen können, wie sie sie erfolgreich umsetzen.
Deshalb haben wir führende Köpfe unserer Engineering-Bereiche zu einer Brainstorming-Session darüber zusammengebracht, wie wir unsere Kernwerte in unserer Software-Entwicklung widerspiegeln möchten. Entstanden ist daraus ein konkreter Wegweiser zur Snyk Engineering-Kultur in Schriftform, der unsere Kernwerte im Kontext unserer Dev-Prinzipien aufzeigt und die Grundlage für diesen Artikel bildet.
One Team
Wir bündeln unsere Stärken als Community, die dafür brennt, gemeinsam Großes zu erreichen.
Kommunikation ist alles
Von Fortschritten und Prozessen bis hin zu Problemen machen wir wichtige Themen stets in allen Bereichen bekannt. Dies gewährleisten wir durch umfassende Kommunikation und Dokumentation ebenso wie durch Best Practices zur Weitergabe von Informationen. Einige Beispiele:
Regelmäßige proaktive Updates zu Projektstatus und -fortschritt
Demo-Sessions zu neuen oder in der Entwicklung befindlichen Features
Regelmäßige Aufzeichnung und uneingeschränkte Weitergabe von Videos
Vermittlung von Best Practices zur Dokumentation und zum Verfassen technischer Inhalte
Regelmäßiger Feedback-Austausch
Bei uns sind alle angehalten, häufig Feedback von Kollegen und Vorgesetzten einzuholen und auch selbst zu geben. Dabei wissen wir genau, wie wir die Ergebnisse umsetzen und von ihnen profitieren. So bieten wir stets unser eigenes Feedback an und nehmen das von anderen umso dankbarer entgegen. Diese Feedback-Kultur fördern wir durch Performance Reviews zum Jahres- und Quartalsende sowie auch ad hoc, durch private 1:1-Sessions und über einen öffentlichen Slack Channel, auf dem wir Erfolge herausstellen und würdigen.
Das Füreinander zählt
Ob bei Entscheidungen, komplexen Aufgaben, etwas ganz Banalem oder der Behebung von Incidents – uns steht jederzeit jemand zur Seite. Bedenken oder Scheu brauchen dabei gar nicht erst aufkommen, denn wir arbeiten grundsätzlich als „One Team“.
So setzen viele unserer Teams etwa auf Pair Programming, Mod Programming oder gruppenbasiertes Programmieren, um sich gegenseitig zu unterstützen, fokussiert zu bleiben und die bestmöglichen Lösungen zu gestalten.
Den Blick nach vorne, nicht den Finger nach oben
Jeder ist bei uns Teil des großen Ganzen. Wichtig ist für uns daher nicht, nach Schuldigen für etwas zu suchen, sondern wie wir darauf reagieren, daran wachsen und daraus lernen können. So diskutieren wir Probleme stets aus der Perspektive, wie wir uns verbessern und ihnen in Zukunft vorbeugen können.
Unternehmensweite Würdigung der Arbeit anderer
Erfolge zelebrieren wir grundsätzlich in öffentlichen Kommunikationskanälen, darunter etwa auch in einem eigens dafür eingerichteten Slack Channel.
Care Deeply
Wir setzen alles daran an, um Positives sowohl für Kunden und Partner als auch für das Umfeld zu bewirken, in dem wir als Snyker gemeinsam agieren und arbeiten.
Höchste Qualität auch über funktionale Anforderungen hinaus
Unter Mehrwert für Kunden verstehen wir auch implizite Anforderungen wie die User Experience und Verlässlichkeit, Testbarkeit und Effizienz sowie die Bereitschaft für den Produktionseinsatz. Unser Anspruch dabei:
Behebung statt Kaschierung von Problemen
Feature-Testläufe in angemessenem Umfang
Bereitstellung adäquater Metrics, Dashboards und Alerts
Interne Nutzung unserer eigenen Produkte und Features („Dogfooding“)
Ethische Grundsätze als wichtiger Taktgeber für unsere Arbeit
Unsere ethische Verantwortung gegenüber der Gesellschaft fließt konsequent in die Anforderungen ein, die wir an unsere Arbeit wie auch unsere Produkte stellen.
Wir berücksichtigen Aspekte, die Mehrwert auch für schutzbedürftige Mitmenschen bringen, wie etwa eine barrierefreie UX.
Im Umgang mit Daten erfüllen wir geltende Bestimmungen und Standards umfassend und behandeln Data-Governance-Themen mit größter Sorgfalt.
Dubiose Designmuster wie etwa solche, die Benutzer zur Anmeldung für etwas nötigen oder in anderer Weise mit Betrug in Zusammenhang stehen, sind bei uns Tabu.
Entwickler stehen generell in der Verantwortung, Bedenken um potenzielle Verletzungen ethischer Grundsätze vorzubringen. Dementsprechend müssen sie hierfür auch keinerlei Repressalien oder andere negative Konsequenzen fürchten.
Kundenfokus in jeder Faser
Für unsere Entwickler haben Anforderungen, Anliegen und Probleme unserer Kunden höchste Priorität – ebenso wie die Unterstützung aller hierfür zuständigen Teams.
Bei Debugging Calls mit Kunden schalten sich Entwickler zu, um bei einem schnellen Fixing zu helfen.
Wir pflegen eine umfassende Aufstellung von Software-Problemen, deren Behebung wir genauso hoch priorisieren wie die Entwicklung von Features.
Das Design neuer Features orientieren wir grundsätzlich an den Anforderungen und Use Cases ihrer Zielgruppe, die wir im Rahmen von UX Research ermitteln.
Teambuilding ganz ohne Zwang
Gesellige Persönlichkeiten erhalten bei uns diverse Möglichkeiten, mit anderen in Kontakt zu treten. Ebenso respektieren wir es aber auch, dass weniger extrovertierte Menschen dies nicht unbedingt möchten. In jedem Fall erhalten bei uns alle Unterstützung. So etwa über Slack Channels zum Austausch unterhaltsamer Inhalte und zum einfacheren Kennenlernen, verschiedene Teamaktivitäten und Social Events, Happy Hours und andere Möglichkeiten sowohl online als auch in Person.
Rücksicht auf unterschiedliche Zeitzonen und persönliche Hintergründe
Mit der Arbeit in zeitzonenübergreifenden, verteilten Organisationsstrukturen und damit, was es dafür bedarf, sind wir bestens vertraut. So achten wir darauf, dass auf individuelle Zeitpläne rund um Kinderbetreuung, Arzttermine etc. ebenso Rücksicht genommen wird wie auf die jeweilige Zeitzone unserer Teammitglieder: Dieser entsprechend müssen sie weder an Meetings teilnehmen, noch wird von ihnen erwartet, auf Anfragen in Slack zu reagieren. Um Managern und Mitarbeitern hier die Abstimmung zu erleichtern, haben wir zudem einen Kurs speziell zum Thema Zeitzonen zusammengestellt.
Diversity, Equity & Inclusion (DE&I) als Kernprinzip
Ihre Verschiedenheit ist es, was Snyker erst recht besonders macht. In ihrem Arbeitsumfeld sollen sie das authentisch zeigen dürfen, entsteht so doch erst das Wir-Gefühl, das uns alle zusammenhält. Mit diversen Employee Resource Groups (SRGs) bieten wir Snykern aus verschiedenen Communities einen sicheren Raum und haben unter dem Banner von Mosaic@Synk eine interne Mission speziell zur Förderung von Inklusion formuliert.
Ship It
Wir verbinden Agilität mit konsequenter Innovation und arbeiten in iterativen Schritten darauf hin, stets noch ein Stück weit besser zu werden.
Entwicklung nach Vertical-Slice-Prinzip
Alle Arbeitselemente beginnen bei uns mit einer Zielsetzung für ein Ergebnis mit klarem Nutzerfokus. Ihre Ausführung muss über den gesamten Stack möglich sein, um Risiken für zukünftige Arbeit zu reduzieren. Iterationen im Entwicklungsprozess sorgen dabei dafür, dass frühzeitig Feedback eingeholt werden kann.
Passend zum Thema: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
Freie Wahl der Prozessmethodik
Ganz gleich, ob Extreme Programming (XP), Kanban, Shape Up oder Scrum: Unsere Teams können selbst entscheiden, womit sie am besten fahren. Und auch innerhalb des jeweiligen Frameworks ist erlaubt, was für das Team funktioniert. Einzig innerhalb eines Funktionsbereichs ist eine gewisse Konsistenz gefragt, damit die dazugehörigen Teams im Hinblick auf kurzfristige Ziele gemeinsam planen, die nötigen Beziehungen aufbauen und klar kommunizieren können.
So arbeiten einige unserer Teams etwa mit einer XP-Methodik, die ohne Sprints oder Story Points auskommt. Ein anderer Funktionsbereich stützt sich dagegen aufShape Up, während der Bereich Infrastruktur auf das 1-Pager/6-Pager-Modell zur Kommunikation und Entscheidungsfindung setzt.
Erledigt? Klar definiert durch „Definition of Done“.
Mit dem Produktions-Deployment allein ist es nicht getan. Den Abschluss markiert erst die Auslieferung an Userbase und Stakeholder. Auf internen Kanälen tauschen wir uns fortlaufend darüber aus, was je nach Aufgabe als „Definition of Done“ gilt.
Immer offen für Tooling-Innovation im Sinne der Developer Experience
Wir suchen stets nach Wegen, wie wir uns verbessern können. Gerne nehmen wir dazu auch Vorschläge für neue Tools an. Nach ihrer Validierung im Test finden sie dann den Weg in unsere Standard-Suite mit Tools wie Polaris, Jira oder CircleCI, die allen Entwicklern zur Verfügung stehen. Für Tooling-Support und -Vorschläge haben wir zudem eigene Slack Channels eingerichtet.
Think Bigger
Unsere Ambition ist es stets, Außergewöhnliches zu erreichen. Was heute noch Grenze ist, wollen wir schon morgen überwinden und die Welt verändern.
Automatisierung, Automatisierung, Automatisierung
Weil unsere Zeit zu wertvoll ist, als dass wir uns mit Routineaufgaben, repetitiven Arbeitsschritten und langwierigen Prozessabläufen aufhalten könnten.
Prozessoptimierung mit Konsequenz
Selbst wenn sich etwas etabliert hat, halten wir nicht stur daran fest. Wo es Stellschrauben zu drehen gibt, setzen wir an, wenn wir dadurch als Unternehmen besser fahren.
Teamgeist über Grenzen hinaus
Wir betrachten die Aufgaben unseres Teams nicht isoliert, sondern im Kontext der Beziehungen innerhalb unseres Funktionsbereichs. So stehen wir auf allen Ebenen im regen Austausch über unsere Fortschritte, holen von allen Seiten Feedback ein und regen dazu an, große Ideen zur Verbesserung bestehender Konzepte zu gestalten. Dies etwa auch im Rahmen teamübergreifender Events wie Hackathons, die Zusammenarbeit und Spaß miteinander verbinden.
Design-Ambitionen im Einklang mit Delivery-Fokus
Wir schaffen eine gesunde Balance zwischen „Think Bigger“ und „Ship It“: Wo wir in Sachen Architektur und Design größer denken, fangen wir bei der Entwicklung mit Vertikal Slices klein an und skalieren sukzessive bei der Implementierung.
Learn Always
Wir gehen neue Herausforderungen mit offenem Blick und aufrichtig neugierig an, lernen dabei voneinander und entwickeln uns fortlaufend weiter.
Klares Commitment für Peer-Mentoring und -Coaching
Eine lebhafte Mentoring-Kultur ist das A und O, wenn es darum geht, ein Unternehmen und seine Mitarbeiter schnell voranzubringen. Hierzu bieten wir neben unserer #miyagi-academy auch themenbezogene Mentoring-Kanäle. Wer Rat braucht, findet bei uns jederzeit Gehör, und wer sein Wissen weitergeben will, den unterstützen wir durch Best-Practice-Schulungen für effektives Mentoring.
Wissenstransfer mit Snyk Employee Exchange
Employee Exchange ist unser Austauschprogramm zur Förderung iterativer Weiterentwicklung, in dessen Rahmen Entwickler für einen Sprint in ein anderes Dev-Team wechseln können. Dies bietet ihnen Gelegenheit, sich Know-how rund um neue Technologien und Prozesse anzueignen, und stärkt zugleich unser Mindset als „One Team“.
Lernzeit und -ressourcen für alle Snyker
Wir legen großen Wert auf Wissensaufbau, Weiterbildung und persönliche Entwicklung. So sind alle angehalten, sich Zeit zum Lernen im Kalender zu blocken. Den nötigen Support hierfür bieten wir durch jährliche Bildungsbudgets und Zugang zu diversen Lernressourcen wie Learnerbly, Udemy oder O’Reilly.
Regelmäßige Retros und reflektiertes Lernen aus Erfahrungen
Retro-Sessions zu Sprints oder Projekten sind in den meisten Teams gängige Praxis. Wir setzen sie jedoch auch in den Frühphasen neuer Prozesse und Initiativen an, um zu ermitteln, was geändert, korrigiert oder verbessert werden kann. Bei allen diesen Prozessen geht es speziell darum, uns zu verbessern.
Präzise Incident-Analysen
Incidents leuchten wir im Rahmen von Review- und Postmortem-Sessions umfassend aus. Dadurch verbessern wir uns in zweierlei Hinsicht: wie wir darauf reagieren und wie wir ähnlichen Szenarien in Zukunft vorbeugen. Eigens hierfür haben wir zudem eine Expertengruppe sowie ein Projekt zur Prävention von schwerwiegenden Incidents eingerichtet.
Gemeinsames Lernen in der Snyk School
Von Snykern für Snyker: Die Snyk School bietet ein interaktives Forum zur Weiterbildung rund um zentrale Themen für unser persönliches Wachstum.
Transparente Präsentation unserer Arbeit
Uns ist wichtig, technische Neuerungen für alle nachvollziehbar in fertiger Software zu demonstrieren. Dies gilt auch für unsere Erfolge und Fortschritte: Dev-Kollegen, Support- und Business-Teams vermitteln wir diese jeweils im Rahmen unterschiedlicher Meetings, darunter etwa All-Hands-Sessions alle zwei Wochen sowie monatliche Demo Calls.
Klar definierte Engineering-Rollen
Klarheit zur eigenen Rolle hilft bei der beruflichen und persönlichen Entwicklung im Sinne eines Karrierepfads. Entwickler erhalten damit Orientierung, wo sie gerade stehen und an welchen Punkten sie weiter an sich arbeiten sollten.
Fazit
Ganz gleich, wie weit unsere Entwickler weltweit verteilt sind, ein schriftlicher Rahmen, der unsere Überzeugungen und Herangehensweisen allesamt konkret benennt, macht es möglich, sie effektiv in alle Dev-Teams bei Snyk zu tragen. Wir können sie sukzessive weiterentwickeln und haben einen Wegweiser, der unseren Teams dabei hilft, die bestmöglichen Entscheidungen zu treffen – im Einklang mit unseren Werten und unserer Engineering-Kultur werden sie dabei in den seltensten Fällen falsch liegen.
Sicher, auf Anhieb ist Kultur nicht ganz einfach zu definieren. Man verinnerlicht sie, lebt sie. Reflektiert man aber darüber, wie man sie lebt, werden die Werte erkennbar, die einen bei der Arbeit und dabei leiten, wie man Probleme angeht. Auch hier gilt wie so oft: Einfach anfangen! Fragen sie sich, welche Werte für Sie am wichtigsten sind, wenn es um den Erfolg Ihrer Teams geht.