Die Rolle eines leitenden Softwareentwicklers meistern
In den letzten Jahren habe ich viele Artikel darüber gelesen, wie man schnell zum Senior Software Engineer wird. Diese Artikel enthalten in der Regel einige Ratschläge (oftmals eine Liste mit Schritten), die man befolgen muss, um schliesslich Senior Engineer zu werden. Ich glaube jedoch, dass diese Art von Ratschlägen grundsätzlich falsch ist, da sie meiner Meinung nach oft den Titel „Senior Engineer” mit der tatsächlichen Tätigkeit eines Senior Engineers verwechseln.

Ein solcher Titel ist zwar sicherlich in Ordnung, aber bedenken Sie, dass ein Senior Software Engineer in einem Unternehmen nicht unbedingt einem Senior Engineer in einem anderen Unternehmen entspricht. Verschiedene Unternehmen haben unterschiedliche Karrierestrukturen mit unterschiedlicher Anzahl von Stufen und grossen Unterschieden zwischen den Anforderungen für jede Stufe. Was die Sache noch komplizierter macht, ist die Titelinflation. Dabei werden Mitarbeiter in eine neue Position befördert, ohne dass die mit dieser Position verbundenen Aufgaben und Anforderungen entsprechend angepasst werden. Dies ist besonders problematisch, da es ein falsches Gefühl der beruflichen Weiterentwicklung vermittelt. Oh, und vergessen wir nicht, dass es auch das Gegenteil gibt! Menschen, die zwar nicht den Titel eines leitenden Softwareentwicklers tragen, aber von allen in ihrer Organisation für ihre Leistungen anerkannt werden.
Natürlich haben Titel eine Bedeutung, aber sie können aus verschiedenen Gründen irreführend sein. Vor allem können Titel schnell erworben werden (durch Beförderung oder „Jobhopping“), während der Aufbau echter Erfahrung (in jedem Bereich) Zeit braucht. Aber wie erkennen wir erfahrene Ingenieure, wenn wir Titel ausser Acht lassen? Wenn Menschen jemanden als erfahren beschreiben (unabhängig vom Beruf), verwenden sie in der Regel die folgenden Kriterien: langjährige Erfahrung und Kenntnisse in einem bestimmten Fachgebiet. Allerdings kann auch dies irreführend sein, und ich werde erklären, warum.
Relevante Erfahrung
Langjährige Erfahrung bedeutet wenig, wenn es sich um „ein Jahr Erfahrung, zehnmal wiederholt” handelt. Das bedeutet, dass die Person viel Zeit damit verbracht hat, immer wieder dasselbe zu tun, ohne Fortschritte zu machen oder neue Aufgaben zu übernehmen. Diese Person hat zwar „langjährige Erfahrung” auf dem Papier, aber ihre tatsächliche Erfahrung ist sehr begrenzt.
Umfassendes Wissen
Wenn es um Wissen geht, ist es immer gut, viel über ein bestimmtes Thema zu wissen. Allerdings bedeutet die Tatsache, dass jemand ein Experte auf seinem Gebiet ist, nicht unbedingt, dass man mit dieser Person zusammenarbeiten kann. Leider gibt es einige sachkundige Menschen, die eine schlechte Arbeitsmoral und ein toxisches Verhalten haben. Die Zusammenarbeit mit solchen Menschen kann das gesamte Team destabilisieren und ist in der Regel das Risiko nicht wert.
Grosse Reife
Natürlich sind langjährige Erfahrung und Wissen wichtig, aber sie reichen nicht aus, wenn sie nicht durch eine angemessene Einstellung zur Arbeit im Allgemeinen untermauert werden. Und damit kommen wir zur dritten Komponente, die bei der Diskussion über Seniorität oft ausser Acht gelassen wird: Reife. Reife bedeutet, ein bestimmtes Mass an geistiger und emotionaler Entwicklung erreicht zu haben. Sie spiegelt sich in der Art und Weise wider, wie diese Person mit verschiedenen Dingen bei der Arbeit (aber auch im Leben) umgeht. Ich glaube nicht, dass ein Ingenieur ohne diese Komponente wirklich senior sein kann.
Aber wie erkennen wir Reife? Gibt es Anzeichen, Hinweise oder Verhaltensweisen, die wir beobachten können? Ich glaube, dass es diese gibt. Im Folgenden finden Sie einige Beispiele dafür, wie ein erfahrener Softwareentwickler mit einigen häufigen Situationen am Arbeitsplatz umgehen könnte. Es gibt viele weitere Beispiele, aber ich habe versucht, mich auf die wichtigsten zu konzentrieren und die Auswirkungen zu beschreiben, die das Verhalten des Entwicklers auf den Rest des Teams haben wird.

Tägliche Arbeit
Ein leitender Ingenieur spielt eine wichtige Rolle bei der Festlegung des Prozesses und der verschiedenen Verfahren. Er kann zur Optimierung der täglichen Arbeit beitragen, indem er Engpässe, zeitraubende Schritte oder unnötige Phasen identifiziert und beseitigt. Er kann auch die Richtlinien für die Codeüberprüfung, Runbooks, Dokumentation oder Designdokumentation festlegen und dem Team generell bei der Organisation der internen Wissensdatenbank helfen. Darüber hinaus sollte ein Senior Software Engineer immer den festgelegten Prozess einhalten und andere Teammitglieder daran erinnern, dasselbe zu tun (falls dies nicht der Fall ist). Dies ist sehr wichtig, denn wenn man beobachtet, wie das Team arbeitet, und bei Bedarf Verbesserungen vornimmt, wird das Team mehr erreichen und die Mitarbeiter werden mit ihrer Arbeit zufriedener sein.
Leider gibt es Ingenieure, die ihre Seniorität als Ausrede nutzen, um Dinge auf ihre eigene Weise zu tun. Manchmal arbeiten sie sogar nur an Dingen, die sie für wichtig (oder interessant) halten. Auch wenn man in bestimmten Situationen vielleicht einige Regeln brechen muss, ist es schädlich, dies ständig zu tun. Denn dadurch wird die Botschaft vermittelt, dass bestimmte Personen über den Regeln stehen, was dem Sinn der Teamarbeit von vornherein zuwiderläuft. Ein guter leitender Softwareentwickler macht nicht einfach, was ihm gerade passt. Er hilft allen, ihre Arbeit besser zu machen und versteht, dass jede Aufgabe ihren Platz hat, egal wie trivial sie auch erscheinen mag.
Technische Diskussionen
Bei der Teilnahme an technischen Diskussionen sollte ein leitender Ingenieur immer Argumente für seine Lösungen vorbringen. Er sollte auch gute Ideen anderer Teammitglieder anerkennen und dabei helfen, diese weiter zu verbessern. Etwas nur zu tun, weil jemand anderes es sagt, ist keine gute Idee – noch schlimmer ist es, wenn dieser Jemand das erfahrenste Mitglied des Teams ist, das Dinge „einfach so” auf seine Weise erledigt haben will. Indem er Argumente und Gründe vorbringt, warum er eine Lösung für besser hält als eine andere, erklärt der leitende Softwareentwickler nicht nur seine Argumentation, sondern gibt anderen Teammitgliedern auch ein gutes Beispiel dafür, wie man technische Lösungen objektiv bewertet (oder vergleicht), unabhängig davon, wer sie vorgeschlagen hat.
Kommunikationsstil
Für einen leitenden Ingenieur ist gute Kommunikation (sowohl mündlich als auch schriftlich) ein Muss. Er muss in der Lage sein, komplexe Themen aufzuschlüsseln und seine Gedanken klar und prägnant auszudrücken. Er muss sich der Unterschiede im Kommunikationsstil zwischen technischen und nicht-technischen Personen bewusst sein. Darüber hinaus sollte er in der Lage sein, seine Herangehensweise entsprechend anzupassen. Die Diskussion mit dem Entwicklungsteam ist nicht dasselbe wie die Diskussion mit der Geschäftsleitung. Beide Gruppen konzentrieren sich auf unterschiedliche Dinge mit unterschiedlichem Detaillierungsgrad.
Verständnis für das Geschäft
Für einen leitenden Ingenieur ist es sehr wichtig, das Geschäft und seine Anforderungen (bis zu einem gewissen Grad) zu verstehen und sich nicht nur auf den technischen Aspekt zu konzentrieren. Um die beste Lösung zu liefern, müssen Sie den Kontext des Problems verstehen, das Sie lösen möchten. Das bedeutet, dass Sie ein gewisses Mass an Verständnis für den Geschäftsbereich benötigen. So können Sie Ihre Lösung auf die Bedürfnisse der Kunden zuschneiden. Dies hat auch Auswirkungen darauf, wie Funktionen entwickelt werden (und welche Funktionen entwickelt werden). Wenn Sie dies vermeiden, laufen Sie Gefahr, eine technisch beeindruckende Lösung zu entwickeln, die die Probleme des Kunden überhaupt nicht löst.
Umgang mit kritischen Situationen
Von Zeit zu Zeit muss sich Ihr Team möglicherweise mit sehr schwerwiegenden technischen Problemen befassen – beispielsweise Produktionsausfällen oder Sicherheitsverletzungen –, die sogar zu finanziellen Verlusten oder Reputationsschäden für das Unternehmen führen können. In solchen Situationen ist es sehr wichtig, so ruhig wie möglich zu bleiben, um Panik zu vermeiden und keine weiteren Fehler zu machen.
Genau in solchen Situationen kann ein erfahrener Ingenieur, der möglicherweise bereits in der Vergangenheit mit ähnlichen Problemen zu tun hatte, eine beruhigende Wirkung auf andere Teammitglieder ausüben und sie auf vielfältige Weise unterstützen – von der Durchführung von Untersuchungen bis hin zur Kommunikation, wobei er sich stets an die in Ihrem Incident Runbook (oder einem ähnlichen Dokument, falls Ihr Team über eines verfügt) festgelegten Verfahren hält.
Leider gibt es Ingenieure, die sich dagegen entscheiden, vor allem weil es stressig und unbequem ist. Das ist zwar sicherlich richtig, aber ein solches Verhalten sendet ein sehr schlechtes Signal an den Rest des Teams, da es keine professionelle Verantwortung und mangelnde Fürsorge für das Team im Allgemeinen zeigt (und wenn Ihre erfahrensten Kollegen das tun, ist es sogar noch schlimmer).
Fazit
Als leitender Softwareentwickler trägt man eine grosse Verantwortung. Der vorangegangene Satz klingt vielleicht wie etwas aus einem Spiderman-Comic, aber die Wahrheit ist, dass Senior-Softwareentwickler Vorbilder sind; sie geben den anderen Teammitgliedern ein Beispiel, dem sie folgen können. Mit ihrer einzigartigen Kombination aus Wissen, Fähigkeiten, Erfahrung und Reife können sie einen enormen Einfluss auf das gesamte Team sowie auf die gesamte Teamkultur haben. Sie wissen, dass es nicht darum geht, ein Rockstar oder Ninja zu sein, sondern darum, alle zu befähigen, ihre beste Arbeit zu leisten.
Wenn technische Fähigkeiten und Erfahrung jedoch nicht durch ein gewisses Mass an Reife und professioneller Verantwortung untermauert werden, können Senior-Mitarbeiter falsche Vorbilder sein und sogar schädlich für das Team werden (weil die Menschen zu ihnen aufschauen, ob sie wollen oder nicht). Es gibt keine Abkürzungen, um Senior Engineer zu werden, denn obwohl man die Karriereleiter eines Unternehmens relativ schnell erklimmen kann, lässt sich eine reife Herangehensweise an die Arbeit (und das Leben im Allgemeinen) nicht so schnell entwickeln. Man muss immer weiter wachsen – und das braucht Zeit.
Lassen Sie uns gemeinsam Spitzenleistungen erzielen
Kontaktieren Sie noch heute unsere Experten, um Ihre Ideen zu verwirklichen und Ihr Geschäftswachstum zu beschleunigen.
