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 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.
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 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.
Mehrere Funktionen des DevX-Projekts verdeutlichten die Bedeutung der Schaffung einer Kultur der Freiheit und Autonomie für Entwickler.
Wie von 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.“
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.“
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 sagte, wenn man „kluge Leute einstellen kann, mit denen die Zusammenarbeit Spaß macht“.
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.
betonte, dass diese Eigenverantwortung „proaktive Eigenverantwortung“ sein sollte: „Punkt Nr. 9 auf Amazons Liste der – „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.“
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.
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.“
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.“
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.“
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.
Sowohl Swyx als auch 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.
von 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.“
Es überrascht nicht, dass Zusammenarbeit als zentraler Bestandteil der Ingenieurskultur eine Botschaft war, die sich in mehreren unserer Interviews widerspiegelte.
Wie von 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
von 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 .“
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.“
von 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.“
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.“
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 …“
Während dies in der einen oder anderen Form in vielen unserer Interviews zur Sprache kam, brachte es von und 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.“
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 für weitere tolle Funktionen an und bewerben Sie sich, um Ihr eigenes Wissen über die Erfahrung von Entwicklern zu teilen.
Auch veröffentlicht.