Zu viele Senioren in einem Team? [geschlossen]

15

Kann es sich als schlecht herausstellen, zu viele hochrangige Programmierer in einem Team zu haben?

Mit 4-5 erfahrenen Programmierern in einem Team von 6-7 Leuten. Was ist die optimale Anzahl / Verhältnis in solchen Situationen?

Kann dies zu zu viel Philosophie und Argumenten über Ideen führen?

Hat jemand eine solche Erfahrung gemacht, die man mit mir teilen kann?

TheBoyan
quelle
Gibt es einen Architekten? Zu viele Alpha- Entwickler brauchen jemanden über sich, der alle "kreativen" Potenziale orchestriert ;-). Als ich das letzte Mal mit so vielen Senioren an einem Projekt gearbeitet habe, war der erste Monat hilarius. Es gab zu viele "Refactorings" und "Re-Designs", weil zu viele "kreative" Sichtweisen :-)
Laiv

Antworten:

40

Wenn ich wählen könnte, hätte ich 6-7 Senioren in einem Team (vorausgesetzt, das Projekt benötigt so viele).

Das einzige Mal, wenn ich sehe, dass dies ein Problem ist, sind die Senioren nur in ihrer Selbstwahrnehmung und nicht in ihrer Arbeitsmoral.

Es gibt nichts Besseres, als mit einer Gruppe von Menschen zusammenzuarbeiten, die es zu schätzen wissen, dass jede Softwareentwicklung wichtig ist - die Dokumentation, die Planung, der Code, der Kaffee, alles, was zählt, und es braucht reife (echte Senior-) Entwickler, um oben zu sein nichts "und erledige den Job richtig.

EDIT : Viele andere Antworten haben gesagt, dass zu viele Führungskräfte ein Problem sind - aber warum gibt es eine Wahrnehmung, die ein Senior führen muss? Ein Senior sollte reif genug sein, um einen Anführer auszuwählen und ihm zu folgen. Auf das Projekt kommt es an - hol dir eine Rolle und rock sie albern!

Stephen Bailey
quelle
1
Es stimmt, Sr. Devs nicht haben zu führen, aber sie haben oft eine gewisse Führung Verantwortung. Dies kann von Unternehmen zu Unternehmen unterschiedlich sein ...
FrustratedWithFormsDesigner
10
Zustimmen! Ein echter Senior-Level-Software-Praktiker sollte über die Fähigkeiten und die fachliche Reife verfügen, um in der Lage zu sein, Führungspositionen nach Bedarf des Unternehmens zu übernehmen und zu wechseln. Ein Team von echten Senioren agiert eher wie ein Jazzensemble als wie ein Orchester.
Bit-Twiddler
Oh! Das ist die Antwort, die ich früher zu komponieren versucht habe, aber nicht ganz richtig verstehen konnte. +1
pdr
10

Das größte Problem, das ich beim Laden eines Teams mit erfahrenen Programmierern sehe, ist, dass es andere Teams schwächen könnte. Wenn Sie Nachwuchsentwickler in anderen Teams haben, die Betreuung und Anleitung benötigen, müssen Sie möglicherweise die Leute umstellen.

Kann dies zu zu viel Philosophie und Argumenten über Ideen führen?

Sicher kann es , aber sie sollten ausgereift genug sein, um zu wissen, welche Unterschiede wichtig sind und welche nicht. Wenn Sie einen angesehenen Teamleiter benannt haben, sollten diese Art von philosophischen Argumenten mit geringem Aufwand auf ein Minimum beschränkt werden.

Bill the Lizard
quelle
Auch der Bildungswert von Senioren wird durch die Tatsache gemindert, dass sie niemanden zum Unterrichten haben.
Basilevs
7

Kann es sich als schlecht herausstellen, zu viele hochrangige Programmierer in einem Team zu haben?

Bestimmt.

Ich bin ein großer Befürworter von Fred Brooks ' Operationsmuster .

Und wenn die Senioren eines Entwicklungsteams nicht wissen, wer der "Chefchirurg" ist, geraten sie bei wichtigen Architekturentscheidungen in Konflikt und ziehen zum Nachteil des Teams in verschiedene Richtungen.

PS Das Bedürfnis eines Entwicklungsteams nach einem "Chefchirurgen" ähnelt dem eines Orchesters nach einem Dirigenten. In beiden Fällen werden Sie wahrscheinlich viele Veteranen haben. aber Sie werden ein feines Durcheinander ohne eine Person haben, die unbestritten verantwortlich ist.

Jim G.
quelle
7
Nur Teams, bei denen Senior "fünf Jahre Erfahrung" bedeutet, benötigen einen "Chefarzt". Jeder in meinem Team ist über vierzig. Wir verwenden ein vollkooperatives Modell, um ein Projekt aufzuteilen. Wir sind wie ein Jazzensemble.
Bit-Twiddler
2
Das chirurgische Teammuster funktioniert möglicherweise für ein oder zwei Projekte, genau wie das Mikromanagement. Tatsächlich ist Mikromanagement häufig der beste Ansatz, wenn Sie sich nur um kurzfristige Probleme kümmern. Auf lange Sicht führt dies jedoch zu demoralisierten Arbeitnehmern, die nicht auf ihre Fähigkeitsstufe gebracht werden. Dann werden die besten Mitarbeiter zu besseren Gelegenheiten aufbrechen und die faulen und weniger kompetenten bleiben, weil es ziemlich einfach ist, eine Arbeit zu erledigen, wenn man genau weiß, was zu tun ist, ohne selbst darüber nachdenken zu müssen.
Dunk
1
Und ist es fair anzunehmen, dass Sie sich als Chefarzt sehen?
William Pietri
3

Es kommt darauf an, wie die Zuständigkeiten verteilt sind. Wenn ALLE Sr. Devs die gleiche Verantwortung für Design, Codeüberprüfung usw. haben sollen, könnte dies zu einem Problem werden. Wenn ihnen unterschiedliche Verantwortlichkeiten übertragen werden, so dass sie arbeiten können, ohne sich gegenseitig um die Kontrolle über die Domänen zu bemühen, sollte dies kein Problem sein. Beispielsweise übernimmt ein Senior-Entwickler die Hauptverantwortung für das Projektdesign, ein anderer übernimmt die Verantwortung Wenn Sie ein Quell-Repository einrichten und verwalten, wird ein anderer für Unit-Tests zuständig sein, usw.

FrustratedWithFormsDesigner
quelle
2
Jeder Software-Praktiker in meinem Team hat die gleiche Verantwortung und die gleiche Autorität. Wir sind ein kleines, aber sehr erfahrenes Team, das die Arbeit eines viel größeren gemischten Teams erledigt.
Bit-Twiddler
1
Wenn Entwickler nicht wissen, wie sie ohne definierte Domänen zusammenarbeiten sollen, sind sie noch nicht älter.
William Pietri
3

Kann es sich als schlecht herausstellen, zu viele hochrangige Programmierer in einem Team zu haben?

Nicht unbedingt. Ich habe in kleinen Teams von Senior-Entwicklern gearbeitet, die sehr produktiv waren. Das Niveau des Diskurses war sehr hoch und es gab keinen Groll.

Mit TDD gibt es nur sehr wenige große Verpflichtungen in Bezug auf die Software-Architektur, so dass es wenig Grund gibt, sich darüber zu streiten. Entwurfsentscheidungen können gelöst werden, indem einfach beide Ansätze implementiert werden und herausgefunden wird, welcher am besten funktioniert. Da die Entwickler sehr schnell sind, sind die Kosten für diese Versuche sehr gering.

Kevin Cline
quelle
2

Ja, es kann das Problem geben, zu viele Köche in der Küche zu haben, als dass eine Metapher zutreffen könnte. Es könnte auch recht kostspielig sein, wenn sie alle hohe Gehälter erwarten. Beachten Sie, dass dies nur die Existenz eines schlimmen Falls überprüft und nichts über dessen Wahrscheinlichkeit aussagt.

Das Optimum hängt von einer Reihe von Variablen ab, die Sie nicht offenlegen. Welche Metrik möchten Sie verwenden, um zu erkennen, dass hier eine gute Chance für Spiele besteht? Ebenso, welche Einschränkungen haben Sie in Ihrer Welt, die es möglicherweise anders machen als Google oder Microsoft im Gegensatz dazu.

Zu viele leitende Entwickler haben möglicherweise das Problem, dass entweder keine oder zu viele Konventionen vorhanden sind. Einige leitende Entwickler können sich zwar gut anpassen, aber wenn keiner von ihnen eine Konvention einführt, wo würde dann ein Team anfangen? Umgekehrt mag es einige erfahrene Entwickler geben, die sich für einige Konventionen interessieren, für deren Lösung möglicherweise eine Konfliktlösung erforderlich ist.

JB King
quelle
2

Ich denke, es hängt von den Persönlichkeiten der Senioren ab. Wenn sie arrogant und argumentativ sind, kann es eine schlechte Sache sein. Aber wenn sie alle respektvoll, offen für andere Sichtweisen und bereit sind, voneinander zu lernen, dann haben Sie ein großartiges Team.

Ich arbeite derzeit in einem 8-köpfigen Team, in dem 5 oder 6 Senioren sind, und es funktioniert wirklich gut für uns. Wir verstehen uns gut, lernen voneinander und es ist eine großartige Mentoring-Umgebung für die neueren Leute, die wir haben.

Randy Coulman
quelle
2
Meiner bescheidenen Meinung nach vermittelt der "Senior" -Titel auch einen Grad an beruflicher Reife.
Bit-Twiddler
Wenn hochrangige Entwickler arrogant und argumentativ sind, werden sie in keinem Team schlecht abschneiden. Bei anderen älteren Entwicklern ist das nur offensichtlicher, weil sie wissen, dass sie sich mit dem Bullshit nicht abfinden.
William Pietri
1

Ich habe in einem Team gearbeitet, in dem es 1 leitenden Entwickler, 4 leitende Entwickler und 1 mittleren Entwickler gab. Und aus dem Grund, dass ein "älteres" Mitglied des Teams keine wirklich reife Person war (obwohl ein guter Entwickler), stellte sich heraus, dass es ein Albtraum war. Er versuchte die ganze Zeit (implizit oder explizit) zu beweisen, dass andere Teammitglieder nicht älter genug sind. Außerdem verstand er die Grundprinzipien der Softwareentwicklung und die Besonderheiten unseres Produkts nicht und versuchte daher arrogant und hartnäckig zu beweisen, dass er Recht hat. Infolgedessen wurde die Effektivität des Teams ernsthaft beeinträchtigt. Der traurige Teil ist, dass es nicht zu viele Auseinandersetzungen über Ideen / Lösungen gab - es ging um nichts . Beispielsweise:

  • der den Build gebrochen hat (der die meiste Zeit grün war und technisch gesehen nicht kaputt ging. Es war die Benutzeroberfläche, die aufgrund der schlechten architektonischen Lösungen sehr oft nicht richtig funktionierte)
  • Warum gibt es Regressionen? (Module wurden nicht durch Unit-Tests abgedeckt, zu denen wir keinen Beitrag leisten konnten.)
  • Streiten über eine architektonische Lösung in einem Modul, für die ein anderer verantwortlich ist, ohne die Anforderungen und Besonderheiten des Moduls zu kennen.
  • ...

Aber ich gebe zu, es war eher eine Ausnahme. Ich möchte glauben, dass Senioren sich die meiste Zeit richtig verhalten :)

altern
quelle
Die Person, die Sie beschreiben, ist nicht reif genug, um als Senior zu gelten, selbst wenn sie diese Berufsbezeichnung hat.
Bikeman868