Mit einem Team von 3 anderen Webentwicklern habe ich seit einem Jahr den Titel eines führenden Webentwicklers. Dies ist mein erster Job als Lead.
Ich bin ziemlich sicher, was meine Rollen vom Management sind. Ich bin gespannt, was andere Senior-Entwickler tun. Ich bin in erster Linie neugierig, welche Aufgaben andere Menschen als leitender / leitender Entwickler in anderen Organisationen haben. da ich nur in einem kleinen / mittleren Unternehmen gearbeitet habe.
(a) Was würde man von einem leitenden Webentwickler einer Organisation erwarten (unabhängig von ihrer Größe)?
(b) Gibt es einen Unterschied zwischen dem Leiter der Webentwicklung und dem leitenden Webentwickler?
Ich habe einige Threads durchgesehen, und es gab nur einen, in dem besprochen wurde, wann Sie sich als Senior Developer bezeichnen sollten , der jedoch die Rollen, die ein Senior Developer mit seinem Team spielen sollte, nicht ausführlich bespricht .
quelle
Sie haben zwei Hauptaufgaben als Hauptentwickler: Sie sind ein Anwalt Ihres Teams für die geschäftliche Seite Ihres Betriebs und bieten Ihrem Team technische Anleitung.
Als Anwalt sollten Sie dazu beitragen, die Anforderungen an Ihr Team zu kommunizieren, zurückzudrängen, wenn die Geschäftsseite (sei es das Management, Projektmanager oder Vertriebsmitarbeiter) unrealistische Anforderungen oder Anforderungen stellt, und sich im Allgemeinen mit allem befassen, was Ihr Team daran hindert, Code zu schreiben.
Als technischer Mentor müssen Sie Ihrem Team helfen, gute Entscheidungen zu treffen, es bei technischen Problemen zu unterstützen und geeignete Lösungen zu finden. Sie sollten sie ermutigen, ihre Fähigkeiten zu verbessern, und ein absoluter Stickler sein, wenn es darum geht, den richtigen Entwicklungsstandards zu folgen.
Vor allem müssen Sie ein tadelloses Vorbild sein. Ihr Code sollte dem höchsten Standard entsprechen, Ihre Projekte sollten pünktlich geliefert werden und von höchster Qualität sein. Was Sie tun, wird weitaus wichtiger sein als das, was Sie sagen.
EDIT: Eine weitere Sache. Sie müssen proaktiv mit technischen Problemen umgehen. Warten Sie nicht, bis Ihr Team mit Problemen zu Ihnen kommt. Seien Sie sich dessen bewusst, woran sie arbeiten, und wenden Sie sich an sie, wenn sie zu lange brauchen, wenn Sie wissen, dass sie sich auf etwas Kniffliges oder außerhalb ihrer Kernkompetenzen befinden oder wenn sie frustriert aussehen. Hören Sie zu, wenn die Leute in Ihrem Team anfangen, technische Probleme ohne Sie zu besprechen, und treten Sie ein, wenn (und nur dann) Sie das Gefühl haben, von einer anständigen Lösung abzuweichen, oder wenn sie sich im Kreis drehen und nichts erreichen.
quelle
Nun, lassen Sie uns erklären ... Führung .
Alle Fehler Ihres Teams sind jetzt Ihre Schuld.
Gleiches gilt für die Erfolge, aber in Wirklichkeit ist dies Softwareentwicklung, der Erfolg ist bescheiden, Sie werden kaum Probleme haben, mit einem Übermaß an Erfolg umzugehen .
Konzentriere dich auf diese Fehler. Vermeiden Sie sie, minimieren Sie sie, versuchen Sie, sie in Schach zu halten.
Und werde nicht herrisch, dein Team macht mehr Fehler, wenn du das tust .
quelle
IMO ist die Rolle einer der Anleitung. Wenn ein anderer Entwickler (kein Junior-Entwickler, aber kein Senior-Entwickler) eine Frage hat oder auf ein Problem im Foobar-Modul stößt, sind Sie der richtige Ansprechpartner mit Foobar, irgendwelche Ideen? " Sie sollten dem Management auch die Ziele und Anstrengungen des Teams mitteilen, während Sie sich in technischen Angelegenheiten mit dem Team abfinden (z. B. wenn Sie und das Team davon ausgehen, dass ein Projekt 4 Monate in Anspruch nimmt, sollten Sie nicht nachgeben und dem CEO mitteilen, dass dies der Fall sein wird in 1 Monat erledigt und dann alle zu Überstunden gezwungen). Sie sollten auch dafür verantwortlich sein, sicherzustellen, dass der Code von angemessener Qualität ist und die anderen Teammitglieder alles richtig machen und nicht nur den Müll raushacken, der später zusammenbrechen wird.
Das ist natürlich alles theoretisch. Das hängt vom Team ab. Ich habe unter "Senioren" gearbeitet, die in den letzten 5 Jahren nichts über eine moderne Entwicklung wussten, und war "Schmiede" für die Geschäftsleitung und sagte "Sir, jawohl, Sir!" auf jede noch so lächerliche Forderung, unterdrückte die Kreativität anderer Teammitglieder und förderte ein sehr trübes Arbeitsumfeld anstelle eines ständigen Lernens und handwerklichen Könnens. Ich habe auch unter erfahrenen Senior-Entwicklern gearbeitet, die eine aktive Rolle übernommen haben, um sicherzustellen, dass die Dinge so gut wie möglich sind und nie dem Druck des Managements gewachsen sind.
quelle
Ich bin ein leitender Entwickler und habe mehrere technische Leiter, mit denen ich zusammenarbeite. Der Unterschied besteht darin, dass sie die technischen Projektleiter sind. Wenn zwischen Entwicklern ein Konflikt über ein technisches Problem besteht, entscheiden sie, was zu tun ist. Wenn die Dinge im Rückstand sind, entscheiden sie, wie sie das angehen sollen. Sie sind dafür verantwortlich, dass die Leute ihre Projektzeit in Rechnung stellen, dass mehr Stunden nach Bedarf angefordert werden, dass neue Aufgaben zugewiesen werden, dass Codeüberprüfungen durchgeführt werden (als Senior darf ich die Codeüberprüfungen durchführen) usw. Als Senior, Mir werden im Allgemeinen die schwierigeren Aufgaben zugewiesen. Als Senior werde ich konsultiert und als Mentor für Junioren erwartet. Das alles tun auch die technischen Leiter, aber sie haben die Entscheidungsbefugnis und die Verantwortung für den Gesamterfolg des Projekts. Als Senior bin ich nur für meinen eigenen Teil des Projekts verantwortlich.
quelle
Es könnte viele verschiedene Standpunkte geben, wie Jonathan oben erwähnt hat.
Als leitender Entwickler können Sie die Architekturentscheidungen für Ihre Gruppe festlegen und als Vertreter Ihres Teams für übergeordnete Entwicklungsgruppensitzungen fungieren. Sie können auch als Mentor fungieren und die technischen Aktivitäten Ihrer Teammitglieder leiten.
Häufig können Sie auch eine Verbindung zum Projektmanagement und zu den Geschäftsbenutzern herstellen. Sie helfen bei der Entscheidung, wie und wann Projektergebnisse zu liefern sind, und haben möglicherweise die Möglichkeit, die Prioritäten von Projektelementen auf längere Sicht zu verhandeln.
Kurz gesagt, Ihre Rolle bestimmen Sie anhand der von Ihrem Management festgelegten Grenzen (sowohl auf technischer als auch auf geschäftlicher Seite).
quelle
Andere Leute haben den grundlegenden Aspekt der Führung dieser Frage behandelt, deshalb werde ich versuchen, meine Punkte auf die direkten Fragen zu konzentrieren, die gestellt werden:
Ich würde eine Person mit starkem Charakter und technischem Wissen erwarten. Ich würde jemanden erwarten, der nicht nur Ideen abreißt, sondern neue Ideen vorschlägt, um die zu ersetzen, die er für mangelhaft hält. Ich würde jemanden erwarten, der Entwickler nicht pusht oder mobbt, sondern versucht, Wege zu finden, die jeden Einzelnen motivieren, lehren und führen. Ich würde jemanden erwarten, der bereit ist, Verantwortung und Verantwortung für Projekte, Konzepte und Entscheidungen zu übernehmen. "Ja-Männer" und "Mauerblumen" müssen nicht zutreffen. Ein leitender Angestellter muss in der Lage sein, mit Menschen genauso effektiv umzugehen wie mit Code ... in einigen Fällen sogar noch besser.
Der Hauptunterschied, den ich beobachtet habe, ist der des Umfangs, und ich habe nie gesehen, dass er irgendwo aufgeschrieben wurde. Ein Lead ist in der Regel für die Produktivität eines einzelnen Teams verantwortlich. Ein Senior kann für mehrere Teams, ein einzelnes Team oder kein Team verantwortlich sein. Von einem Lead wird erwartet, dass er seinen untergeordneten Entwicklern hilft, ihre Ziele im Rahmen eines bestimmten Projekts oder Auftrags zu erreichen. Unter Untergebenen verstehe ich einfach Entwickler, die einem Projekt zugewiesen wurden, für das der Leiter technisch "verantwortlich" ist. Ich finde oft, dass ich bei Projekten, bei denen mehrere der Entwickler entweder gleich oder älter sind als ich, der Leiter ist nicht unbedingt der "älteste" im Team. Angesichts dieses Umfangs Ein leitender Entwickler ist jemand, auf den sich die gesamte Organisation verlassen kann, um über das erforderliche Wissen und die Erfahrung zu verfügen, um jedem zu helfen. Von einem Senior wird erwartet, dass er jedem Entwickler in der Organisation ein Vorbild ist (wie jemand anderes sagte), und von ihm wird erwartet, dass er Junior-Entwicklern bei technischen Problemen hilft.
Kurz gesagt, für mich: Ein Vorsprung hilft. Ein Senior unterrichtet.
quelle
Erfahrene Webentwickler können als die Person angesehen werden, die ein Problem lösen, verschiedene Lösungen finden und das Beste selbst umsetzen kann. Die Armee einer Person in gewissem Sinne. Mentor Junior-Entwickler, um die allgemeine Teamleistung zu verbessern. Könnte auch einbezogen werden, um Fachwissen in verschiedenen Softwarepaketen zu nutzen, da in einigen Fällen von Senioren erwartet werden kann, dass sie wirklich etwas Besseres als andere Entwickler wissen. Im Allgemeinen werden die Fähigkeiten des Entwicklers für den maximalen Nutzen eingesetzt, der aus einer Kombination von Mentoring, Beratung, Codierung, Design und Erstellung von Prozessen bestehen kann.
Führende Webentwickler kommen mir auf verschiedene Arten in den Sinn. Die Leitung für ein Team ist der administrative Leiter, der eine allgemeine Leistungsüberprüfung durchführt, sich darüber im Klaren ist, welche Projekte einem Entwickler zugewiesen wurden, und einige Formalitäten erledigt, wenn dies erledigt ist. Es gibt auch die Führung für ein Projekt, bei dem der Fokus der Person viel enger ist, da diese Person nur für dieses Projekt die Verantwortung für die Durchsetzung von Standards und Praktiken innerhalb des Teams hat. Es stellt sich also die Frage, wohin der Lead wirklich führt. Ein Projekt oder eine Gruppe von Entwicklern aus administrativer Sicht?
quelle