Gibt es eine Zukunft jenseits des Schreibens von großartigem Code?
Veröffentlicht: 2022-03-10Lassen Sie uns eine schnelle Übung machen. Angenommen, Sie arbeiten seit mehr als fünf Jahren professionell als Entwickler. Sie haben in Dutzenden von Projekten praktische Erfahrungen gesammelt und Ihre Fähigkeiten auf dem neuesten Stand gehalten, indem Sie neue Techniken, Tools und Frameworks kennengelernt haben. Sie tragen zu verschiedenen Bibliotheken bei, überarbeiten den von Ihnen geschriebenen Code routinemäßig und tauschen Code-Reviews regelmäßig mit Ihren Kollegen aus.
Aber dann kommt jemand zu Ihnen und stellt Ihnen diese eine Frage, die Sie noch nicht beantworten konnten: Wo sehen Sie sich in zehn Jahren?
Vielleicht machen Sie sich Sorgen wegen der Vorstellung, dass Sie, wenn Sie denselben Weg weitergehen, einfach ein älterer Entwickler sein werden, der ein bisschen besser und ein bisschen schneller programmiert. Einige Entwickler sind mit diesem Gedanken zufrieden und können es kaum erwarten, diesen Weg fortzusetzen. Aber andere werden vielleicht erkennen, dass diese Achterbahnfahrt von Lektionen und Wachstum, die Sie durchgemacht haben, schnell in den Tempomatmodus übergeht.
Sobald Sie das Gefühl haben, Ihre Rolle als Entwickler vollständig unter Kontrolle zu haben, spüren Sie den Drang, mehr zu tun. Nicht mehr vom Gleichen, sondern mehr persönliches Wachstum. Vielleicht etwas anderes.
In den letzten Jahren meiner Karriere habe ich nach Antworten gesucht. Ich hatte die Gelegenheit, mit vielen erfolgreichen Entwicklern zusammenzuarbeiten (und von ihnen zu lernen), die es geschafft haben, in sehr einflussreiche Rollen zu wechseln, in denen sie das Beste aus ihrem technischen Hintergrund herausholen. Jeder von ihnen erkundete einen anderen Weg, auf dem er einen organischen Übergang schaffen konnte, der auf einem Gleichgewicht zwischen seinen Kernkompetenzen und seinen komplementären Fähigkeiten basierte.
Wohin können wir von hier aus gehen?
Es gibt einige neue Wege, die wir erkunden können, die uns zwingen können, über unsere Komfortzonen hinauszuwachsen und gleichzeitig von den Fähigkeiten zu profitieren, an deren Entwicklung wir so hart gearbeitet haben.
Als Entwickler sind die meisten Artikel, die wir lesen, die Programmierbücher und sogar die Ratschläge unserer Kollegen darauf zugeschnitten, uns dabei zu helfen, uns nur auf das Schreiben von besserem Code zu konzentrieren. Abgesehen davon wird uns nicht wirklich beigebracht, wie wir besser arbeiten oder, um es in einer philosophischeren Perspektive auszudrücken, wie wir uns weiterentwickeln können.
Wir haben normalerweise keine Ahnung, was nach dem Erreichen der Ziele kommt, die wir uns zu Beginn unserer Karriere gesetzt haben, oder ob es überhaupt etwas gibt, was wir tun möchten, außer acht Stunden am Tag zu programmieren, für den Rest unseres Lebens. Es ist üblich, unseren möglichen Beitrag zum Team sogar zu unterschätzen, wenn wir in naher Zukunft etwas anderes tun würden, als Code zu schreiben. Wir sind uns nicht sicher, wie wir eine größere Wirkung erzielen können, obwohl unsere Perspektive und Fähigkeiten definitiv in einflussreicheren Positionen benötigt werden.
Hören Sie auf die Industrie
Als ich 2008 meine Karriere als Frontend-Entwickler begann, gab es keinen Menschen auf der Welt, der nicht von Mark Zuckerberg gehört hatte, dem jungen Programmierer, der zum Millionär wurde und gleichzeitig die Art und Weise veränderte, wie Menschen kommunizieren. Millennials begannen, die Idee zu romantisieren, legal reich zu werden, während sie einen Hoodie tragen. Plötzlich wollte fast jeder aus meiner Generation Entwickler werden.
Jetzt, über ein Jahrzehnt später, beginnen wir, die wahren Auswirkungen dieses Booms von Programmierern zu spüren. Durch die diesjährige Stack Overflow-Umfrage haben wir erfahren, dass mehr als zwei Drittel der Befragten weniger als zehn Jahre professionelle Programmiererfahrung haben.
Wir können deutlich sehen, dass erfahrene Entwickler mit Führungsqualitäten rar sind, also müssen Unternehmen jetzt kreative Wege finden, ihre besten Talente so zu buchen, dass sie mehr Nachwuchsentwickler beaufsichtigen und die Qualität der Arbeit aufrechterhalten können. Dies schafft eine organische Führungsstruktur innerhalb wachsender Teams.
Die Branche wächst weiterhin in rasantem Tempo und so auch unsere Rolle als Entwickler. Es ist üblicher geworden, Direktoren und Manager zu finden, die als Programmierer begonnen haben, und Unternehmen eröffnen jetzt mehr Führungspositionen, die einen Entwicklungshintergrund erfordern.
Man kann mit Sicherheit sagen, dass die Rolle des Entwicklers zu sehr einflussreichen Positionen innerhalb von Organisationen heranwächst, obwohl das Programmieren als der nächste Arbeiterjob angesehen wurde. Aber es gibt keine schriftliche Roadmap oder bewährte Formel, die uns durch diesen Übergang führt.
Was sind einige unserer Optionen?
Es kam ein Punkt in meiner Karriere, an dem mir die gefürchtete Frage nach der Zukunft gestellt wurde, die ich mir für mich vorstelle. Ich hatte keine Antwort. Tatsächlich löste es noch mehr Fragen aus, die mir nicht in den Sinn gekommen waren.

Ich arbeitete bereits als Frontend-Lead, also wurden mir neben dem Schreiben von Code immer mehr Verantwortlichkeiten übertragen, was mich an eine mögliche Zukunft denken ließ, in der ich wahrscheinlich nicht mehr programmieren würde. Die Möglichkeit, mehr Einfluss auf verschiedene Projekte zu haben, war definitiv reizvoll.
Also machte ich mich auf die Suche, welche Optionen für meine Zukunft interessant sein könnten. Ich habe mir den Weg angeschaut, den einige Kolleginnen und Kollegen eingeschlagen haben, auf dem sie erfolgreich aus der Rolle des Entwicklers in wichtige Positionen im Unternehmen gewechselt sind. Die meisten Fälle bestanden darin, kleine Schritte zu tun und zur richtigen Zeit am richtigen Ort zu sein. Aber insgesamt beteiligten sich alle am Ende an diesen drei Hauptgruppen von Aktivitäten:
- Teams und Projekte leiten
Eine Gruppe von Menschen zu Größe zu führen, klingt aufregend, ist aber nicht einfach. Als erfahrene Entwickler gibt es viele Wachstumsmöglichkeiten, die entweder die Leitung einer Gruppe von Entwicklerkollegen als Team oder die Leitung von Projekten in multidisziplinären Teams beinhalten. Obwohl es eine sehr lohnende Option ist, erfordert es, sich von der Tastatur zu lösen und zu lernen, wie man delegiert, was für Entwickler, die daran gewöhnt sind, alle ihre Probleme persönlich zu lösen, sehr schwierig sein kann.
Wenn wir zu einer Position übergehen, in der wir mehr Kontrolle über den Prozess und das daran beteiligte Team haben, wird dies höchstwahrscheinlich dazu führen, dass wir die Kontrolle opfern müssen, die wir gewohnt sind, wenn es um Code geht. - Talente fördern und fördern
Wie viele Chefs haben davon geträumt, ihre Top-Entwickler zu klonen? In der realen Welt ist dies noch nicht wahrscheinlich, also tun kluge Chefs das Nächstbeste: Sie richten Prozesse ein, in denen die versiertesten Programmierer ihr Wissen aktiv an ihre Kollegen weitergeben können.
Wir müssen bedenken, dass, obwohl einige Entwickler dies in ihrem Alltag ganz natürlich tun, es immer effektiver ist, wenn erfahrenen Entwicklern eine formellere Rolle übertragen wird, in der sie ihre Zeit routinemäßig der Arbeit an ihrem Wachstum widmen können Mannschaften. Dies kann mit Code-Reviews, Workshops und individuellen Assessments mit einigen Kollegen erfolgen. - Im Technologiegeschäft tätig sein
Es kommt häufig vor, dass sich Entwickler darüber beschweren, wie Projekte vorgestellt oder definiert wurden, wenn sie an Kunden verkauft wurden. Und in den meisten Fällen ist es meist zu spät, sich zu beschweren.
Meiner Erfahrung nach war ich glücklicher, an Projekten zu arbeiten, an denen Entwickler während des Verkaufs beteiligt waren. Es ist immer großartig, einen logisch denkenden Verbündeten zu haben, der potenzielle technische Probleme in einem Raum anzeigt, in dem sonst niemand eine Ahnung hatte.
Die Rollen von Beratern und technischen Direktoren sind in großen digitalen Projekten von entscheidender Bedeutung. Die Einbindung von Entwicklern in Kundenworkshops und die Erstellung technischer Dokumentationen zu Beginn eines jeden Projekts können den Lebenszyklus eines Projekts entscheidend verändern.
Arbeiten an einem neuen Werkzeugsatz
Nehmen wir an, wir wollen weiter wachsen und in eine Zukunft starten, in der wir mehr tun wollen, als nur Code zu schreiben. Sobald wir eine Vorstellung davon haben, wohin wir gehen, ist es sehr wahrscheinlich, dass wir noch nicht auf den Sprung vorbereitet sind. Schließlich haben wir uns nur darauf konzentriert, Fähigkeiten zu erwerben, die uns zu besseren Entwicklern machen.
Sobald wir erkennen, dass wir viel zu lernen haben, müssen wir anfangen, an den richtigen Fähigkeiten zu arbeiten. Diesmal wird es anders sein: Wir werden keine neuen Sprachen, Frameworks oder Bibliotheken lernen. Wir müssen Fähigkeiten aufstocken, die uns in der Vergangenheit möglicherweise nicht wichtig erschienen, aber für die nächsten Schritte in diesen unsicheren Gebieten von entscheidender Bedeutung sind.
Kommunikation
Für jeden, der einen Job in einem Unternehmen hat, wäre dies ein Kinderspiel. Kommunikation ist bekanntlich der Kern der Zusammenarbeit in jeder Art von Organisation. Leider haben Programmierer in diesem Bereich viele Jahre lang einen Freifahrtschein erhalten. Die Notwendigkeit, logisch denkende, fleißige und leidenschaftliche Menschen zu finden, hat es uns ermöglicht, erfolgreich zu sein, ohne dass wir wirklich über großartige Kommunikationsfähigkeiten verfügen und sogar ein sehr sozial unbeholfener Haufen sein müssen.
Wenn wir irgendwelche Bestrebungen haben, mit verschiedenen Teams und Kunden zusammenzuarbeiten, müssen wir ganz klar daran arbeiten, alle Aspekte unserer Kommunikation zu verbessern. Einzelgespräche, Präsentationen und wichtige E-Mails müssen von nun an sorgfältig aufpoliert werden.
Eigentum
Eine logische Denkweise hat sich auf die Art und Weise ausgewirkt, wie wir unsere Arbeit organisieren. Als Entwickler haben wir normalerweise ein Schwarz-Weiß-Gefühl dafür, wo unsere Arbeit beginnt und wo sie endet. Dies ist positiv, da es uns ermöglicht, ein klares Verständnis der Arbeit zu haben, die von uns erledigt werden muss, uns aber manchmal daran hindert, unsere Grenzen zu überschreiten und außerhalb unserer Komfortzonen zu arbeiten.
Die erste Aufgabe besteht darin, die Verantwortung für alle Aspekte der Arbeit zu übernehmen, an der wir beteiligt sind. Indem wir die Grenze verwischen, die definiert, wo die Arbeit eines Entwicklers endet, können wir neue Verantwortlichkeiten übernehmen und schließlich in andere Rollen wechseln.
Führung
Wo auch immer wir uns in unserer Karriere hinbewegen, wir brauchen das Vertrauen unserer Teamkollegen. Wir müssen sie wissen lassen, dass wir auf dem richtigen Weg sind, auch wenn es für einen Moment nicht ganz klar ist.
Dazu müssen wir unser Wissen unter Beweis stellen können, wir müssen sicher in unseren Entscheidungen sein und wir müssen auf jeden Fall in der Lage sein, unsere Fehler einzugestehen und schnell daraus zu lernen.
Dies ist keine einfache Aufgabe und Sie können es nicht von einer Liste abhaken. Es wird unser Engagement erfordern, solange wir außerhalb der Entwicklungsblase weiter wachsen wollen.
An die Arbeit
Sobald wir sicher sind, dass wir einen Sprung in unserer Karriere machen wollen, müssen wir anfangen, uns in die richtige Richtung zu bewegen. Der erste Schritt wäre, die Optionen zu erkunden, zu entscheiden, welchen Weg Sie einschlagen möchten, und zu sehen, wie dieser Weg mit Ihrer aktuellen Rolle übereinstimmt.
Bietet Ihr Unternehmen einen Raum, in dem Sie Mentor oder Führungskraft sein könnten? Glauben Sie, dass es dort eine Chance gibt, oder glauben Sie, dass Sie Ihr Wachstum woanders fortsetzen müssen? Dies sind nur einige der Fragen, die Sie sich stellen müssen und die auch zu einem Gespräch mit einigen Ihrer Teamkollegen und Vorgesetzten führen werden.
Um einen Schritt in eine neue Richtung zu gehen, müssen Sie hart arbeiten, offen sein und belastbar genug sein, um zu scheitern und es erneut zu versuchen, so oft es nötig ist.