paint-brush
Der ultimative Leitfaden für eine großartige Ingenieurskulturvon@zevireinitz
3,170 Lesungen
3,170 Lesungen

Der ultimative Leitfaden für eine großartige Ingenieurskultur

von Zevi Reinitz9m2023/04/17
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Seien wir ehrlich. Entwicklererfahrung ist ein Schlagwort. Das bedeutet, dass viel allgemeiner darüber gesprochen wird, aber nur sehr wenig Substanz oder Definition. Das war der Grund, warum ich dazu inspiriert wurde, das Dev-X-Projekt zu starten – eine Initiative, um der Diskussion über die Entwicklererfahrung mehr Struktur und Definition zu verleihen. In jeder „Folge“ stelle ich einem Branchenführer 10 Fragen zur Entwicklererfahrung, um seine Erkenntnisse und Meinungen zu diesen spezifischen Themen einzuholen. Diese Diskussionen veröffentliche ich dann und teile sie mit der Community. Mit fast 20 Interviews, die ich hinter mir habe, gibt es nun genug Material, um es sinnvoll zusammenzufassen und einige interessante Trends und sich wiederholende Themen aufzudecken.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Der ultimative Leitfaden für eine großartige Ingenieurskultur
Zevi Reinitz HackerNoon profile picture

Seien wir ehrlich. Entwicklererfahrung ist ein Schlagwort. Das bedeutet, dass viel allgemeiner darüber gesprochen wird, aber nur sehr wenig Substanz oder Definition.


Das ist der Grund, warum ich dazu inspiriert wurde, das Dev-X-Projekt zu starten – eine Initiative, um der Diskussion über die Entwicklererfahrung mehr Struktur und Definition zu verleihen. In jeder „Folge“ stelle ich einem Branchenführer 10 Fragen zur Entwicklererfahrung, um seine Erkenntnisse und Meinungen zu diesen spezifischen Themen einzuholen. Diese Diskussionen veröffentliche ich dann und teile sie mit der Community.


Mit fast 20 Interviews, die ich hinter mir habe, gibt es nun genug Material, um es sinnvoll zusammenzufassen und einige interessante Trends und sich wiederholende Themen aufzudecken.

Wie man eine großartige Ingenieurskultur schafft

Dies ist der ultimative Leitfaden zur Schaffung einer großartigen Ingenieurskultur. Eine der Fragen, die ich in den Interviews mit dem DevX-Projekt gestellt habe, lautete : „Was sind die Schlüsselbestandteile einer großartigen Ingenieurskultur?“


Das ist eine wichtige Frage, denn letztendlich wird alles in Ihrem Unternehmen von der von Ihnen geschaffenen Kultur beeinflusst – im Guten wie im Schlechten. Wie Liran Haimovitch es ausdrückte: „Kultur isst Strategie zum Frühstück, weil Kultur es Ihren Teams ermöglicht, unter unvorhersehbaren Umständen auf vorhersehbare Weise zu handeln.“


Was genau ist Kultur? Gute Frage. Ich habe diesen Teil bewusst interpretierbar gelassen, und die Antworten waren ebenso breit gefächert. Einige Interviewpartner konzentrierten sich auf die Entwickler selbst. Andere konzentrierten sich auf Unternehmen und Unternehmenspolitik. Einige gaben technische oder berufliche Ratschläge, während andere zwischenmenschliche Beziehungs- und Kommunikationstipps gaben.


Und das ist der erste und vielleicht wichtigste Punkt von allen. Eine wirklich großartige Ingenieurskultur muss mehrere Elemente parallel ausbalancieren.


Die Besonderheiten können je nach Organisation und Situation variieren, aber der gemeinsame Nenner ist die Notwendigkeit eines dreidimensionalen Ansatzes zur Kulturbildung.


Ich hoffe, Ihnen gefällt dieser Leitfaden zur Entwicklererfahrung zum Aufbau einer großartigen Ingenieurskultur, der aus Interviews mit dem DevX-Projekt zusammengestellt und angepasst wurde.


Entwicklerautonomie

Mehrere Funktionen des DevX-Projekts verdeutlichten die Bedeutung der Schaffung einer Kultur der Freiheit und Autonomie für Entwickler.


Wie Seif Lotfy von Axiom es ausdrückte: „Ich denke, es lehnt sich wirklich an das an, worüber Dan Pink in seinem Buch „Drive – Die überraschende Wahrheit darüber, was uns motiviert“ spricht.“ Als zentrale Motivationsfaktoren nennt er Autonomie, Meisterschaft und Zielstrebigkeit. Wenn Sie Entwicklern also die Autonomie geben, ihr Handwerk zu beherrschen, entwickeln sie auch einen Zweck, der eine großartige Kultur schafft … Und zwingen Sie Ingenieuren keine Werkzeuge auf. Ich denke, Sie sollten Ihren Ingenieuren die Wahl ihrer eigenen Werkzeuge überlassen. Stärken Sie sie mit Autonomie und Eigenverantwortung.“


Viktor Farcic fügte hinzu: „Das Wichtigste für mich ist die Freiheit, Entscheidungen zu treffen. Ich glaube, viele Unternehmen behandeln Ingenieure wie Kinder – sie halten ihre Hände und sagen ihnen, was sie tun sollen. Jetzt können Sie die Straße überqueren, jetzt müssen Sie anhalten. Jetzt gehst du nach links, jetzt gehst du nach rechts. Meiner Meinung nach kann dies die Kreativität und Lernfähigkeit von Entwicklern wirklich beeinträchtigen. Das ist verheerend, weil ich glaube, dass der größte Teil unserer Arbeit als Entwickler darin besteht, Dinge zu denken und herauszufinden. Code schreiben ist einfach. Sobald Sie wissen, was Sie schreiben müssen, und davon ausgehen, dass Sie zumindest ein grundlegendes Verständnis der Syntax und dergleichen haben, ist das Schreiben von Code der einfachste Teil des Prozesses. Herauszufinden, was man schreibt und wie man es schreibt – das ist der komplexe Teil. Und wenn wir den Leuten nicht genügend Freiheit geben, diese Dinge herauszufinden, dann erhalten wir am Ende die Ergebnisse, die wir nicht wollten – die Dinge funktionieren nicht, weil die Entwickler nur Roboter waren, die genau das taten, was man ihnen sagte, ohne welche eigener Gedanke oder eigene Kreativität.“

Schaffen Sie echte Beziehungen

Die Vorteile der Entwicklerautonomie beschränken sich nicht nur auf technische Entscheidungen. Es kann auch dazu beitragen, bessere zwischenmenschliche Beziehungen zwischen Teammitgliedern zu fördern. Seif Lotfy betonte die Vorteile des Aufbaus authentischer Beziehungen und erklärte: „Geben Sie dem Team über die superprofessionelle Beziehung hinaus die Freiheit, sich zu bewegen, sie selbst zu sein und sich gegenseitig so zu schätzen, wie sie sind.“


Autonomie bedeutet, Menschen die besten und authentischsten Versionen ihrer selbst sein zu lassen. Und wenn dies geschieht, führt dies häufig zu positiven Ergebnissen für das Team und das Unternehmen.


Es hilft auch, wie Barak Schoster sagte, wenn man „kluge Leute einstellen kann, mit denen die Zusammenarbeit Spaß macht“.

Proaktive Verantwortung und Verantwortung

Die Gewährung von Autonomie für Entwickler geht mit der Notwendigkeit einher, dass Entwickler proaktive Verantwortung und Verantwortung für ihre Arbeit übernehmen.


Laut Liran Haimovitch sind Eigenverantwortung und Verantwortung zwei der wichtigsten Elemente jeder großen Kultur.


Shawn „Swyx“ Wang betonte, dass diese Eigenverantwortung „proaktive Eigenverantwortung“ sein sollte: „Punkt Nr. 9 auf Amazons Liste der 16 Führungsprinzipien – „eine Tendenz zum Handeln“. Das halte ich in diesem Zusammenhang für wichtig, denn viele Dinge werden nicht erledigt, wenn man sie nicht proaktiv in die Hand nimmt. Das ist also wirklich wichtig für eine gesunde Ingenieurskultur.“

Kommunizieren Sie und erklären Sie „Warum?“

Seif Lotfy meinte, dass es für Entwickler wichtig sei, zu kommunizieren und zu fragen, warum: „Stellen Sie sicher, dass Sie die Gedanken verstehen, die in die Ansätze und Entscheidungen anderer Menschen eingeflossen sind. Auf diese Weise können Sie, auch wenn Sie anderer Meinung sind, alles berücksichtigen und versuchen, den bestmöglichen Weg nach vorne zu finden.


Amir Shevat fügte hinzu, dass dies nicht davon abhängen dürfe, ob jemand nach einer Erklärung frage. Sie sollten eine Kultur aufbauen, die das „Warum“ von vornherein darlegt:


„Teilen Sie Ihr Wissen und erklären Sie, warum Sie sich für x und nicht für y entschieden haben. Auf diese Weise können die Menschen von Ihnen lernen und Ihre Best Practices und Ihre einzigartige Denkweise auch in ihren Alltag übernehmen.“

Transparenz

Ein ähnlicher und nicht weniger wichtiger Wert ist die Transparenz.


Amir Shevat erklärte: „Transparenz ist sehr wichtig. Das bedeutet, eine Umgebung zu schaffen, in der Ingenieure das Gesamtbild sehen können – wohin wir gehen, warum wir tun, was wir tun. Die Schaffung einer solchen Umgebung für Entwickler wird es ihnen ermöglichen, besseren Code zu erstellen.“

Integrität

Wenn Kommunikation und Transparenz ordnungsgemäß gewahrt bleiben, erhalten Sie mit „Integrität“ auch einen weiteren wichtigen Kulturbestandteil. Wie Amir es ausdrückte: „Wenn Sie denken, dass etwas nicht stimmt, sagen Sie es. Prozesse können und sollten sich zum Besseren verändern und weiterentwickeln.“


Shem Magnezi von Wilco vertrat eine ähnliche Perspektive: „Der Schlüssel liegt darin, immer darüber nachzudenken, was wir verbessern können: in unserem System, unseren Prozessen, unserem Produkt, unserem Codestil, unseren Überwachungstools und was nicht.“ Es gibt unzählige Aspekte beim Aufbau eines Systems und es wird niemals perfekt sein – aber wir sollten immer nach Möglichkeiten suchen, uns zu verbessern.“ So manifestieren sich Kommunikation, Transparenz und Integrität in einer guten Ingenieurskultur.

Keine Schuld

Sowohl Swyx als auch Jason Bosco betonten, dass eine untadelige Feedback- und Post-Mortem-Kultur von entscheidender Bedeutung sei.


Mit den Worten von Swyx: „Wenn Sie Dinge versenden und sie in Produktion halten, denken Sie daran, dass Dinge immer kaputt gehen. Daher ist es auch wichtig, eine tadellose Post-Mortem-Kultur zu haben.“


Dies wurde auch von Amir Shevat bestätigt, der hinzufügte, dass jeder im Team offen für Feedback sein sollte: „In der Regel erledigen Ingenieure, die offen für gegenseitiges Feedback sind, ihre Arbeit viel besser.


Und wie erreicht man eine Zero-Blame-Kultur? Laut Seif Lotfy beginnt man mit der Arbeit an den Grundannahmen: „Es ist wichtig, die Grundannahme zu entwickeln, dass es jeder gut meint.“ Dies ist besonders wichtig bei verteilten Teams, die unterschiedliche Zeitzonen und Zeitpläne haben.“


Wenn jeder davon ausgeht, dass es alle anderen gut meinen, und jedes Teammitglied offen für Feedback ohne Vorwürfe ist, ist das Team gut aufgestellt, um Dinge effektiv zu erledigen.


Adam Gordon Bell von Earthly.dev drückte es so aus: „Eine großartige Kultur basiert auf Vertrauen und Verständnis. Beides baut sich im Laufe der Zeit auf, basierend auf gemeinsamen Erfahrungen.“

Zusammenarbeit

Es überrascht nicht, dass Zusammenarbeit als zentraler Bestandteil der Ingenieurskultur eine Botschaft war, die sich in mehreren unserer Interviews widerspiegelte.


Wie Hila Fish von Wix es ausdrückte: „Man muss mit anderen zusammenarbeiten, um die besten Lösungen zu finden und sicherzustellen, dass das Endziel erreicht wird.“


Und Amir Shevat erklärte: „Ich denke, dass ein Team aus Menschen, die zusammenarbeiten, immer besser sein wird als ein weniger kollaboratives Team, selbst wenn dieses weniger kollaborative Team aus „erstaunlichen“ einzelnen Ingenieuren besteht.“ Ich persönlich war Teil von Ingenieurteams, die nicht so kooperativ waren. Sie hatten großartige, großartige Ingenieure, aber sie teilten nicht wirklich mit, was sie taten. Es ist weitaus vorteilhafter, wenn Menschen anfangen, zusammenzuarbeiten, sich auszutauschen, Feedback zu geben und über die Schnittstellen zwischen dem, woran die einzelnen arbeiten, zu sprechen.“


Leidenschaft für das Handwerk und das Produkt


Tom Snelling von Norhflank sagte: „Ich denke, das Beste, was ein Team haben kann, ist echte Leidenschaft für das Produkt, das es entwickelt. Nachdem ich an Projekten gearbeitet habe, in die ich investiert habe und in die ich nicht investiert habe, ist der Unterschied in der Arbeitsmoral (und damit im Output) erstaunlich. Wenn sich Ingenieure wirklich darum kümmern, woran sie arbeiten, verbessert sich meiner Meinung nach die Kultur um das Zehnfache. Stellen Sie kluge Leute ein, die an Ihrem Projekt arbeiten möchten .“

Professionalität

Amir Shevat betonte die Bedeutung von Professionalität für die Schaffung einer großartigen Ingenieurskultur: „Denken Sie immer an die Bedürfnisse des Unternehmens. Dies sollte für jeden Aspekt Ihrer Arbeit gelten … Und obwohl technische Kenntnisse großartig und sogar notwendig sind, würde die Schulung Ihrer geschäftlichen Denkweise wirklich dazu beitragen, eine Kultur zu schaffen, in der nicht nur den technischsten Lösungen der Vorzug gegeben wird, sondern vielmehr den Lösungen, die dabei helfen, etwas zu erreichen das beste Ergebnis für das Unternehmen.“


Gil Tayar von Roundforest stimmte zu: „Für mich sind die wichtigsten Zutaten einer großartigen Ingenieurskultur: Nette Leute. Nicht viel Ego. Professionalität und Stolz auf das Handwerk. Diese Elemente schaffen ein kreatives Umfeld und ohne diese Zutaten ist es schwierig, eine positive, produktive Kultur zu schaffen.“

Schaffen Sie eine großartige Dokumentationskultur

Aus eher technischer Sicht empfahl Swyx den Teams, den Schwerpunkt auf ihre Dokumentation zu legen: „Eine gute Dokumentations- oder Designdokumentationskultur ist ebenfalls sehr wichtig. Mit anderen Worten: Bevor Sie etwas umsetzen, sollten Sie natürlich versuchen, es zu entwerfen, die Vorschläge durchzudenken und sich mit allen auf die übergeordneten Dinge zu einigen. Aber eine gute Kultur geht noch einen Schritt weiter. Das bedeutet, dass jeder das Dokument tatsächlich liest, wenn er es erhält. Und das ist ziemlich selten. Eine gute Dokumentationskultur bedeutet also gutes Schreiben und auch gutes Lesen, sodass Sie Designprobleme und nicht übereinstimmende Erwartungen eher früher als später erkennen.“

Lieferrhythmus

Amir Shevat betonte den Wert eines gesunden Lieferrhythmus: „Ein gesunder Lieferrhythmus ist auch für die Ingenieurskultur sehr wichtig, denn wenn ein Team weiterhin liefert, kann es regelmäßig von Freude und Zufriedenheit bei der Arbeit profitieren.“


Barak Shoester ermutigte die Teams ebenfalls, „auf Iterationsgeschwindigkeit zu optimieren“.


Und Jason Bosco sagte: „Einige der wichtigsten Zutaten für mich sind: Verkürzung der Zeit, die zwischen dem Schreiben des Codes durch einen Ingenieur und der Verwendung durch die Benutzer vergeht, gepaart mit mühelosen Rollbacks …“

Demut

Während dies in der einen oder anderen Form in vielen unserer Interviews zur Sprache kam, brachte es Sunil Sandhu von Circut und In Plain English gut auf den Punkt: „Bescheidenheit hat für mich einen hohen Stellenwert, und das gilt nicht nur für das Ingenieurwesen, sondern für die Arbeitskultur im Allgemeinen.“ Teammitglieder sollten willens und bereit sein, anderen zu helfen und ein Umfeld zu schaffen, in dem niemand das Gefühl hat, eine Frage sei zu dumm, um sie zu stellen.“


Ich denke, dass ich hier viele klischeehafte Antworten geben könnte, und bis zu einem gewissen Grad habe ich das Gefühl, dass es viel erfahrenere Entwickler gibt, die diese Frage besser beantworten könnten. Eine letzte Sache, die ich hervorheben möchte, ist, dass erstaunliche Dinge passieren können, wenn ein Team missionsorientiert ist und alle von derselben Hymne singen.


Und um es mit den Worten von Gil Tayar zu sagen: „Für mich sind die wichtigsten Zutaten einer großartigen Ingenieurskultur: Nette Leute. Nicht viel Ego. Professionalität und Stolz auf das Handwerk.“

Abschließende Gedanken

Offensichtlich muss ein guter Ingenieur über bestimmte grundlegende technische Fähigkeiten verfügen. Aber beim Aufbau und der Führung eines Teams sind es diese zusätzlichen Faktoren, die dafür sorgen, dass sie sich gegenseitig an hohe Standards halten, neugierig bleiben, positiv bleiben und kontinuierlich nach Verbesserungen streben.

Und genau darum geht es bei einer großartigen Ingenieurskultur.


Gefällt Ihnen, was Sie hier sehen? Möchten Sie vorgestellt werden? Schauen Sie sich unser DevX-Projekt für weitere tolle Funktionen an und bewerben Sie sich, um Ihr eigenes Wissen über die Erfahrung von Entwicklern zu teilen.


Auch hier veröffentlicht.