Wie kann man dem Manager sagen, dass einige Teammitglieder nur kleine Fehler beheben sollen?

Ich arbeite in einem großen Team von 14 Personen. Ich bin der Teamleiter.

Als das Team in den letzten Jahren größer geworden ist, sind neue Leute hinzugekommen. Mein Vorgesetzter war hauptsächlich für die Einstellung des Teams verantwortlich. Ich wurde Teamleiter, nachdem das Team erweitert wurde. Trotzdem haben mein Vorgesetzter und ich unterschiedliche Erwartungen an gute Entwickler.

Ich persönlich denke, dass viele Leute in meinem Team nicht geeignet sind, neue Features zu entwickeln.
Es gibt 3 Entwickler, die ich für fähig halten würde, neue Entwicklungen durchzuführen. Die anderen 11 sind in der Lage, Fehler zu beheben und kleine Verbesserungen vorzunehmen. Selbst bei kleinen Verbesserungen müssen sie manchmal „Paarprogrammierung“ durchführen, was dazu führt, dass die anderen Teammitglieder stark verlangsamt werden. Unnötig zu erwähnen, dass die Teamdynamik weit aus dem Gleichgewicht geraten ist. 2 Senioren, 1 Mittelstufe, 11 Junioren.

Ehrlich gesagt sieht mein Vorgesetzter diese Tatsache nicht.
Ich habe solche Dinge ausprobiert:

  • Im täglichen Standup werde ich bestimmte Personen fragen, ob die Dinge klar sind, um ihre Bestätigung vor dem Manager zu erhalten. Auch nachdem sie sagen, dass alles "klar" ist. Sie bestehen darauf, sich zu treffen und "Dinge durchzugehen", mein Manager erlaubt es. Er fördert sogar "Pairprogramming".
  • Ich bin auch einen Schritt zurückgetreten und sehe zu, wie Menschen scheitern. Das wird dem Unternehmen nicht gerecht.
  • Jedes Mal, wenn ich ein neues Feature starte, versuche ich, die neue Arbeit den leistungsstärksten Leuten zuzuweisen. Ich will die stärksten Spieler zur richtigen Zeit am richtigen Ort. Mein Manager mischt sich jedoch immer ein und lässt die jüngsten Leute einige der herausforderndsten Teile „leiten“.

Soweit ich weiß, zieht mein Manager Mitarbeiter nicht zur Rechenschaft, wenn sie unterdurchschnittliche Leistungen erbringen.

Wie kann ich meinem Vorgesetzten mitteilen, dass bestimmte Personen nicht in der Lage sind, mit neuen Funktionen umzugehen? Er muss sie entweder feuern oder ihnen nur kleine Fehler zum Beheben geben und niedrige Erwartungen haben.

Aktualisierungen und Klarstellungen
Vielen Dank für die bisherigen Kommentare und Antworten.

  • Paarprogrammierung stört mich nicht. Das eigentliche Problem ist, dass wir zu viele Leute in unserem Team haben, die jetzt jedes Mal nur Paarprogrammierung erwarten. Wenn sie dieselben Aufgaben für ein neues Modul wiederholen müssen, erinnern sie sich nicht einmal daran, dieselbe Aufgabe für ein anderes Modul bearbeitet zu haben. Ich überprüfe den Git-Verlauf und es war klar, dass sie an einem vorhandenen Modul gearbeitet haben, sie müssen sich nur daran erinnern, wie wir diesen Teil "peer-programmiert" haben.
  • Die Leute bereiten sich nicht vor. Es gibt nur 2 junge Leute, die ich sehe, wie sie technische Blogs lesen, technische Videos ansehen und so weiter. Ich denke, diese Jungs werden auf lange Sicht gut abschneiden.
  • Die Zeitspanne dafür beträgt 2 Jahre. Es ist ein sich wiederholender Prozess mit einigen Jungs und ich sehe nicht, dass sie es auf lange Sicht schneiden. Sie wissen nicht, wie man die richtigen Fragen stellt, und ich sehe nicht, dass sie es versuchen, da es keine "echten" Konsequenzen gibt.
  • Seit ich eine Führungskraft geworden bin, habe ich aufgehört, die Entscheidung des Managements, Junioren einzustellen, zu bevormunden. An diesem Punkt, wenn ich sehe, dass die Senioren extra lange Stunden arbeiten, um die Flaute auszugleichen, würde ich es vorziehen, wenn 3-4 der Junioren nur Fehler beheben und Fehler beheben. Verwenden Sie stattdessen dieses Geld, um 1 zusätzlichen älteren Mann einzustellen.

Ich habe einen Wechsel in eine andere Division vorgenommen, weil die Situation jetzt meinem kontinuierlichen Wachstum schadet. Auch die Top-Entwickler befinden sich in ähnlichen Situationen. Wir verbringen viel Zeit bei der Arbeit mit „Peer-Programmierung“ und wir haben nicht genügend Tagesstunden, um unsere Aufgaben zu erledigen. Am Ende müssen wir Überstunden machen und der Manager ist zufrieden mit der Situation, solange die Junioren lernen.

Ein gewisses Gleichgewicht muss doch sein, oder?

Wie erwarten Sie, dass die Junioren zu Mid-Level/Senior heranwachsen, wenn sie immer nur Fehler beheben?
Beinhaltet Ihre Bewertung dieser Junioren die Tatsache, dass Sie nicht glauben, dass sie als Entwickler wirklich wachsen können? Einige werden dies offensichtlich auch nicht können, also möchte ich nur wissen, ob Sie vorher darüber nachgedacht haben, da ich denke, dass dies die Antwort definitiv ändern kann.
Warum halten Sie Pairing und Peer-Programming für schlecht?
Könnten Sie Ihr Management fragen, warum Ihr Team 11 Mitglieder hat? Wahrscheinlich sind sie da, um zu lernen.
Peer-Programmierung ist keine Sache. Pair Programming (mit einem Peer) ist...
Ich halte Paarprogrammierung nicht für eine schlechte Sache. Ich denke, es ist schlecht in meiner aktuellen Umgebung, weil wir am Ende immer wieder die gleichen Aufgaben paarweise programmieren. Es ist für mich offensichtlich, dass die Leute sich nicht die zusätzliche Mühe geben, zu verstehen, was wir Peer-Programmierung sind. Ich bitte um Zusammenfassungen, um sicherzustellen, dass sie teilnehmen. Aber 1 oder 2 Wochen später fragen sie nach einem Peer-Programm für etwas, das mit dem identisch ist, das von ihnen in der Git-Geschichte codiert wurde.
Nichts für ungut, aber Sie haben keine langfristige Vision, und Sie "wachsen" nicht im Team. Sie haben wahrscheinlich auch noch nie von dem Begriff „von einem Bus angefahren“ gehört.
Es ist 2 Jahre her. Wie sonst kann ich das Team erweitern, wenn ich Jungs dazu ermutige, zu Treffen zu gehen, schicke ich ihnen technische Blogs. Ich habe technische Bücher für das Team gekauft. Ich habe auch viele, viele Stunden lang mit den gleichen Leuten Peer-Programmierung durchgeführt. Senioren bereiten Dokumentationen für sie vor. Ich habe das Gefühl, dass ich keine Dinge mehr zu tun habe und das Beste, was ich tun kann, ist, getrennte Wege zu gehen?
@SandraK wie lange dauert es, bis du weißt, ob jemand leistungsfähig ist? Für viele der Jungs in meinem Team sind es 2 Jahre gewesen. Ehrlich gesagt habe ich das Gefühl, dass mir die Optionen ausgegangen sind.
Können Sie darauf eingehen, warum Sie anscheinend glauben, dass das Beheben von Fehlern irgendwie mit weniger komplizierter Arbeit zusammenhängt? Eine der kompliziertesten Programmierungen, die ich je gemacht habe, war das Beheben von Fehlern.
Sie können viel lernen, indem Sie den Code erfahrener Programmierer lesen. Offensichtlich ist nicht jedes Bit des Codes perfekt. Ich denke, diese Übung lehrt Junioren, wie man in der bestehenden Codebasis navigiert. Sie können auch versuchen, die vorhandenen Design Patterns zu verstehen. Wenn Sie einem Junior nur ein brandneues Feature zum Schreiben geben. Höchstwahrscheinlich werden viele Leute das Rad neu erfinden oder neue Designmuster einführen, wodurch die Codebasis noch komplexer wird. Sie wären überrascht, wie viel Sie lernen können, wenn Sie nur den Quellcode vieler beliebter Betriebssystembibliotheken wie Spring lesen und befolgen.
Daher lernen sie die Grundlagen großer Codebasen. Außerdem würden sie lernen, wie man debuggt. Du glaubst gar nicht, wie viele Leute immer noch mit System.out.printlnoder zu mir kommen console.log. Diese Verhaltensweisen lassen mich glauben, dass wir die Junioren im Stich gelassen haben, indem wir kein angemessenes Wissen über die Grundlagen aufgebaut haben. Ich glaube daran, Menschen Chancen zu geben, aber lassen Sie uns zuerst an den Grundlagen arbeiten. Das ist alles, was ich sage.
Haben diese Junior-Programmierer einen ganz anderen (Bildungs-)Hintergrund als Sie und diese mittleren/älteren Kollegen? Vielleicht ziemlich viel technischer / wissenschaftlicher und Junioren haben etwas kommerzielleres?
Was für Trainings hast du ausprobiert? Für mich klingt dein Text so, als würdest du nur auf „Learning by Doing“ und Pair Programming setzen.
„Am Ende müssen wir Überstunden machen“ Nein, musst du nicht. Sie brauchen Ihren Vorgesetzten, um Ihnen zu sagen, was Sie priorisieren sollen. Und wenn der Manager sagt, dass Paarprogrammierung oberste Priorität hat, dann CYA, indem Sie es ihm per E-Mail wiederholen, und danach ist das andere Zeug auf Sparflamme, bis Ihr Manager sagt, dass Sie jetzt aufhören können, 8 Stunden Paarprogrammierung mit Junioren pro Tag zu machen, und anfangen können echte Arbeit machen.
Von Junior-Programmierern wird nicht erwartet, dass sie selbstständig arbeiten können. Sie müssen Ihr Team reifen lassen – dies könnte erfordern, dass die Senioren die Junioren trainieren, indem sie diese Dinge paarweise tun.

Antworten (6)

Gespräche mit Menschen hängen oft davon ab, ihr Ziel zu verstehen. Es scheint mir, dass, während Ihr Hauptziel derzeit darin besteht, gute Software zu produzieren, Ihr Manager einen Teil des derzeitigen Fachwissens investieren möchte, um den Nachwuchs auszubilden, damit es in Zukunft mehr gute Entwickler gibt.

Wie Sie sehr gut wissen, braucht die Ausbildung jüngerer Kollegen Zeit und die Aufgaben werden von einem Senior allein oft schneller und besser erledigt. Ich denke, Ihr Vorgesetzter weiß das auch, also wird es seine Meinung nicht ändern, ihm das zu sagen.

Während das Training der Junioren wahrscheinlich eines seiner Ziele ist, ist es wahrscheinlich nicht das einzige. Es wird eine Grenze dafür geben, wie viel der aktuellen Produktivität in Schulungen investiert werden kann. Wenn Ihr Team es nicht schafft, seine Mindestziele zu erreichen, können Sie ihn dazu überreden, das Training herunterzufahren, wenn auch wahrscheinlich nicht ganz damit aufzuhören.

Wenn das Problem hingegen darin besteht, dass Sie von vornherein keine jüngeren Kollegen haben möchten, dann haben Sie wahrscheinlich Pech gehabt. Sie müssen herausfinden, warum das Team erweitert wurde und warum auf diese Weise. Ältere Entwickler sind schwer zu finden, also musste das Unternehmen vielleicht unerfahrene nehmen, um sie wachsen zu lassen.

Sie in die Fehlerbehebung zu verbannen, ist wahrscheinlich ein hoffnungsloser Fall. Sie würden aufhören und du würdest an ihrer Stelle auch. Das Unternehmen weiß es und hat weder Zeit noch Geld darauf verwendet, sie zu finden, auszuwählen und einzustellen, nur damit sie ausbrennen. Ich würde mit viel Widerstand rechnen.

Übrigens erfordert das Beheben von Fehlern auch Sorgfalt und Wissen. Wenn Sie glauben, dass neue Entwickler damit umgehen können, warum können sie dann nicht zu einem neuen Feature beitragen?

EDIT: Letzten Absatz verbessert. Vielen Dank an die Kommentatoren für den Hinweis auf unerwünschte Interpretationen dessen, was ich geschrieben habe.

Das Beheben von Fehlern ist ein guter Ausgangspunkt für ein neues Projekt. Sie finden sich im Code zurecht und bekommen ein Gefühl für Stil. Tatsächlich ist es wahrscheinlich der beste Ort, um anzufangen. Aber jeder Noob braucht einen Mentor, jemanden, der weiß: „Es gibt keine dummen Fragen, nur dumme Antworten.“ Der Mentor ist dafür verantwortlich, aus dem Noob ein Teammitglied zu machen. Ja, es braucht Zeit, aber es muss getan werden. Wir haben alle als Noobs angefangen.
Es gibt Codebasen, die voller Fehler sind, die einfach zu beheben sind und perfekt für eine neue Gruppe von Anfängern wären. Es ist normalerweise ein Zeichen für Probleme mit den erfahrenen Entwicklern, die jedoch viele Fehler hinterlassen. Entweder sind sie überarbeitet oder sie sind einfach schlampig.
Es gibt viele Beispiele von Anfängern oder sogar Schulkindern, die sehr schwerwiegende Fehler im Code oder sogar andere Dinge finden ... die von denen mit "Erfahrung" übersehen wurden ...
Ich stimme zu. Menschen aufzuklären braucht Zeit. Es erfordert auch Investitionen vom Unternehmen selbst. Als ich anfing, war ich hauptsächlich dafür verantwortlich, Fehler zu beheben und kleine Verbesserungen vorzunehmen. Ich bin gewachsen, indem ich die richtigen Fragen gestellt habe. Ich habe versucht, Verständnis für die Tatsache zu haben, dass Menschen nicht auf die gleiche Weise lernen. Aber es ist zwei Jahre her, und einige Leute verstehen immer noch nicht, wie das Einrichten des Projekts funktioniert oder wie Dependency Inject in unseren Angular- und Spring-Anwendungen funktioniert. Ich habe dies gehandhabt, indem ich Wikis erstellt habe.
Auch das ist nichts Eigenes. Wenn sie wirklich lernen wollten, würden sie Google durchsuchen, um zu verstehen. Unsere Grundlagen finden sich in der Basisdokumentation vieler bekannter Bibliotheken. Eckig und Feder.
@earlyuser könnten sie selbst lernen, aber das Lernen von einer Person ist einfacher und dann viel schneller. Sie zu unterrichten ist eine Möglichkeit, die Investition zu maximieren, die bei der Einstellung getätigt wurde.
@earlyuser Dies ist eine ausgezeichnete Antwort. Ich möchte nur hinzufügen, dass Sie Gruppenzwang einsetzen können, um die Junior-Entwickler auf den neuesten Stand zu bringen, dh: Stellen Sie sie für ein neues Feature mit Senioren und Mid-Level-Entwicklern in ein Team, und sie werden die Verantwortung und den Leistungsdruck spüren sowie der beste Entwickler im Team. Am Ende haben Sie ein funktionierendes Feature (wenn auch etwas später als erwartet) und sie werden weniger Druck verspüren, weil sie wissen, dass sie Teamkollegen haben, die ihnen helfen können, wenn sie mit ihren Aufgaben ins Hintertreffen geraten.

Du nicht.

Der Hauptgrund dafür ist, dass Sie anscheinend nicht glauben, dass einige Leute sich an das Beheben von Fehlern halten sollten, Sie scheinen zu denken, dass nur die qualifiziertesten Leute entwickeln sollten.

Mein Vorgesetzter und ich haben unterschiedliche Erwartungen an gute Entwickler.

Sie können nicht nur 10 Mitarbeiter haben. Sie brauchen 7s-8s, um mit den Dingen Schritt zu halten. Es liegt an Ihnen, wie Sie das vorhandene Talent einsetzen. Wenn Sie zu wählerisch sind, landen Sie bei einem 1-Mann-/Frauengeschäft. Wenn Sie jedoch der Meinung sind, dass die Einstellungen Bonkus sind, müssen Sie diese Bedenken an Ihren Vorgesetzten richten.

Es gibt 3 Entwickler, die ich für fähig halten würde, neue Entwicklungen durchzuführen. Die anderen 11 sind in der Lage, Fehler zu beheben und kleine Verbesserungen vorzunehmen [...] Jedes Mal, wenn ich ein neues Feature starte, versuche ich, die neue Arbeit den leistungsstärksten Leuten zuzuweisen.

Das ist lächerlich. Wie erwarten Sie, dass 3 Entwickler mit der Entwicklung Schritt halten, die von einem 14-köpfigen Team erwartet wird? Es macht keinen Sinn.

Im täglichen Standup werde ich bestimmte Personen fragen, ob die Dinge klar sind, um ihre Bestätigung vor dem Manager zu erhalten. Auch nachdem sie sagen, dass alles "klar" ist. Sie bestehen darauf, sich zu treffen und "Dinge durchzugehen", mein Manager erlaubt es. Er fördert sogar "Peer Programming".

Ein täglicher Standup sollte etwa 15 Minuten dauern. Das ist ungefähr eine Minute pro Entwickler. Ich würde mir Sorgen machen, wenn die Leute in einem Meeting, das für ein bestimmtes Problem bestimmt ist, Dinge nicht durchgehen wollen. Das tägliche Standup sollte verwendet werden, um anzusprechen, was getan wird, was ansteht und welche Probleme vorhanden sind. Es ist nicht der Ort, um die Probleme zu lösen, sondern sie nur anzusprechen.

Unnötig zu erwähnen, dass die Teamdynamik weit aus dem Gleichgewicht geraten ist. 2 Senioren, 1 Mittelstufe, 11 Junioren.

Ich verstehe, dass Sie vielleicht nicht möchten, dass Junioren sofort in die Feature-Entwicklung einsteigen. Das Beheben von Fehlern und das Verständnis der Systeme ist großartig, aber nach ein paar Monaten sollten sie genug Verständnis haben, um neue Funktionen hinzuzufügen. Wenn sie es nicht sind, dann bekommen sie nicht das Coaching, das sie brauchen, oder die Möglichkeiten, sich zu beweisen. Entweder das, oder sie sind einfach unqualifiziert.

Sie bekommen nichts in Bezug auf Features, wenn Sie nur 2-3 Entwickler haben, die an Features arbeiten. Das ist ein riesiger Engpass.

Verwenden Sie die Junioren, die ein gewisses Verständnis des Systems haben. Erlauben Sie ihnen, tatsächlich zu lernen und sich zu beweisen. Sie werden auf diese Weise niemals Senioren. Außerdem können Sie sicher sein, dass die Leute bald anfangen werden zu gehen, wenn sie nur Fehler beheben.

Außerdem, wovor hast du solche Angst? Wenn ein Junior den Code vermasselt, sollte dies durch den Code-Review-Prozess entdeckt werden. Bitten Sie die Seniors, Ihnen dabei zu helfen, diese Juniors zu qualifizierten Softwareentwicklern zu machen.

Er fördert sogar "Peer Programming".

Die Tatsache, dass Sie sich keine Sorgen machen. Ich denke nicht, dass es die ganze Zeit verwendet werden sollte, aber es ist ein erstaunliches Tool, das sogar die erfahrensten Leute in meinem Unternehmen verwendet haben, um Mitarbeiter der unteren und mittleren Ebene in Tagen, die Wochen gedauert hätten, auf den neuesten Stand zu bringen.

Ich bin auch zurückgetreten und sehe zu, wie Leute scheitern [...] Soweit ich weiß, zieht mein Vorgesetzter Leute nicht zur Rechenschaft, wenn sie unterdurchschnittliche Leistungen erbringen.

Es ist leicht, als Entwickler unterdurchschnittliche Leistungen zu erbringen, wenn ihm keine Entwicklungsaufgaben zugewiesen sind. Haben Sie darüber nachgedacht, dass Menschen möglicherweise „unterdurchschnittlich“ sind, weil sie nicht die Ausbildung erhalten, die sie benötigen?

Nehmen wir an, die Junioren bekommen Aufgaben zugeteilt, bei denen sie unterdurchschnittlich sind. Es ist dann Ihre Aufgabe, herauszufinden, wo sie Hilfe bei der Erfüllung ihrer Aufgaben benötigen. Helfen Sie ihnen, das Top-Talent zu werden, das Sie sich so sehr wünschen.

Wie kann ich meinem Vorgesetzten mitteilen, dass bestimmte Personen nicht in der Lage sind, mit neuen Funktionen umzugehen? Er muss sie entweder feuern oder ihnen nur kleine Fehler zum Beheben geben und niedrige Erwartungen haben.

Sie haben uns noch nicht einmal angesprochen, warum sie Ihrer Meinung nach nicht qualifiziert sind. Sind sie nicht in der Lage, weil es nicht Ihrem Senior-Level-Standard entspricht? Wenn das der Fall ist, dann musst du dein Ego loslassen, weil es die Produktion behindert. Sicher, es sollte Standards geben, aber diese Standards werden durch Mentoring und Überprüfung implementiert.

Ich würde Ihre Bedenken verstehen, wenn es ein paar Entwickler gäbe, die einfach unqualifiziert sind und die Sie unbedingt loswerden möchten, aber wenn Sie nur einigen von ihnen die Entwicklung anvertrauen, habe ich das Gefühl, dass Sie ' re das Problem, nicht umgekehrt.

Lassen Sie Ihr Ego los und helfen Sie den Entwicklern bei der Bewältigung ihrer Aufgaben, die aus Wartung und Entwicklung bestehen sollten. Sonst verliert man bald Leute oder sitzt mit Leuten fest, die eigentlich nicht entwicklungsfähig sind.

+1 auf die keine Angst hängende Codeüberprüfung; Wenn Junioren gute Arbeit leisten, bekommt man ein Feature und im schlimmsten Fall kann man den Junioren etwas beibringen und verstehen, was sie daran hindert, zum Projekt beizutragen.
Noch wichtiger ist, dass Sie, wenn die Entwicklungsarbeit von nur 3 Entwicklern erledigt werden kann, effektiv bewiesen haben, dass Sie keine 11 Teammitglieder benötigen. Irgendetwas sagt mir, dass diese 11 Mitarbeiter aus einem bestimmten Grund eingestellt wurden. Sie brauchen sicherlich nicht 11 Entwickler, die Fehler behandeln, wenn Sie das tun, dann haben Sie zu viele Fehler.
Ich stimme zu. Du kannst nicht alle 10(en) haben. Was ich sage ist, dass wir 2 haben, die 9-10 sind. 1, das ist 7-9. 11, die ungefähr 3-5 sind. Ich habe meine Frage aktualisiert, um einige Punkte zu klären. Ich glaube nicht, dass 3 Leute das Arbeitspensum von 14 bewältigen können. Senioren arbeiten 12-16 Stunden am Tag... Junioren arbeiten bestenfalls 8-9 Stunden am Tag. Ich weiß, dass das Team sehr unausgeglichen ist, aber mein Manager erkennt nicht an, wie schlimm es ist.
Wenn es so schlimm ist, wie Sie behaupten, dann zeigen Sie es ihm, indem Sie ihn die Arbeit erledigen lassen, für die er eingestellt wurde, und wenn er versagt, obwohl er Hilfe von Ihnen und den anderen Senioren erhalten hat, dann können Sie ihm zeigen, wie er versagt hat. Sie können nichts beweisen, wenn Sie sie nicht zeigen lassen, wozu sie fähig oder unfähig sind. Dies ist praktisch die Antwort. Lassen Sie sich oder Ihren Vorgesetzten das Gegenteil beweisen.
Übrigens, Arbeitszeit hat absolut nichts mit der Qualität der Arbeit zu tun. Ich möchte nicht, dass jemand 12-16 Stunden am Tag für mich arbeitet, ich kann mir nur die Fehler vorstellen, die in den letzten Stunden gemacht werden, und die ausgebrannten Mitarbeiter, die bald gehen würden.
12 bis 16 Stunden am Tag ist einfach lächerlich. Wie viele Stunden sind sie im Büro und wie viele Stunden arbeiten sie?
Dumme Antwort. Sie erwarten, dass 1 Teamleiter 11 Misserfolge in den Griff bekommt und betreut, während Sie gleichzeitig seiner regulären Arbeit nachgehen?
@Jack Du bist wahnhaft, wenn du denkst, dass jeder außer dem Teamleiter ein Versager ist.

Es wurde in Kommentaren erwähnt, wie Sie erwarten können, dass Ihre Juniors lernen, wenn Sie ihnen keine Chance geben, ich wiederhole das zehnfach. Sie stellen Ihr Unternehmen auf Abhängigkeiten von Schlüsselpersonen ein, und das ist letztlich auf lange Sicht ein Problem für das Unternehmen. Junior-Entwickler sind billiger und sie können geformt werden, sie können auch viele negative Eigenschaften von denen über ihnen lernen (dh von Ihnen).

Ihr Manager scheint tatsächlich die aufgeklärte Person in dieser Hierarchie zu sein, da er versucht, den Juniors Erfahrung zu vermitteln.

Im täglichen Standup werde ich bestimmte Personen fragen, ob die Dinge klar sind, um ihre Bestätigung vor dem Manager zu erhalten. Auch nachdem sie sagen, dass alles "klar" ist. Sie bestehen darauf, sich zu treffen und "Dinge durchzugehen", mein Manager erlaubt es. Er fördert sogar "Pairprogramming".

Die Junior-Entwickler sind wahrscheinlich nervös und Sie setzen sie in Verlegenheit. Das haben wir alle schon durchgemacht. Ich kann mich erinnern, dass ich damals gesagt habe, dass die Dinge klar waren, als es noch nicht so war. Es brauchte einen Vorgesetzten, um mich hinzusetzen und zu erklären, dass Fragen stellen nichts Schlechtes ist – nicht jeder versteht alles.

Die Tatsache, dass Sie sich darüber beschweren, dass sie sich mit Ihnen treffen, um „Dinge durchzugehen“, ist für mich ein Warnsignal und sicherlich nicht das einzige. Sie sollten diejenigen, die es nicht wissen, ermutigen, zu fragen, als ob sie versuchen würden, Stunden damit zu verbringen, keine Lösung zu finden, die Geld kostet. Sie sollten sie so unterrichten, dass sie sicher sein können, sich zu melden, eine Antwort zu bekommen und sachkundig genug zu sein, um diese Frage nicht noch einmal zu stellen.

Sie sind ein „Leader“, das ist Ihre Rolle, wenn sie immer wieder ähnliche Fragen stellen, müssen Sie vielleicht Ihre Technik überdenken oder überlegen, welche Trainingsmöglichkeiten es gibt, die Sie arrangieren müssen.

Die Zeitspanne dafür beträgt 2 Jahre. Es ist ein sich wiederholender Prozess mit einigen Jungs und ich sehe nicht, dass sie es auf lange Sicht schneiden. Sie wissen nicht, wie man die richtigen Fragen stellt, und ich sehe nicht, dass sie es versuchen, da es keine "echten" Konsequenzen gibt.

Wenn sie damit nicht klarkommen, müssen Sie sich ansehen, welche Lernmöglichkeiten es für sie gibt, welche Schulungen haben Sie sich angesehen?

Wie kann ich meinem Vorgesetzten mitteilen, dass bestimmte Personen nicht in der Lage sind, mit neuen Funktionen umzugehen? Er muss sie entweder feuern oder ihnen nur kleine Fehler zum Beheben geben und niedrige Erwartungen haben.

Junioren wissen nicht, was sie nicht wissen. Ein Leiter soll sie anleiten, damit sie lernen können. Ihr Vorgesetzter sollte die Lernblockade beseitigen.

Ich würde es vorziehen, wenn 3-4 der Junioren nur Fehler beheben und brennen und abstürzen. Verwenden Sie stattdessen dieses Geld, um 1 zusätzlichen älteren Mann einzustellen.

Das ist eine absolut lächerliche Aussage. Sie sollten die Junior-Entwickler fördern, um sie an den Ort zu bringen, an dem Sie sie brauchen.

Soweit ich sehen kann, sind Sie definitiv kein Anführer, Sie sind ein Manager mit einer Ressource. Ich denke, Sie sollten einen Schritt zurücktreten und sehen, ob Sie das Gefühl haben, dass Sie sich zum Wohle von sich selbst, Ihrem Team und letztendlich dem Unternehmen in der richtigen Position befinden - da Ihre kurzfristigen Gewinne dem Unternehmen auf lange Sicht nur schaden können.

Ich habe einen Wechsel in eine andere Division vorgenommen, weil die Situation jetzt meinem kontinuierlichen Wachstum schadet

Ich denke, das ist eine fantastische Idee, da Sie nicht führend sind und dem kontinuierlichen Wachstum Ihrer Nachwuchsentwickler abträglich sind.

Auch die Top-Entwickler befinden sich in ähnlichen Situationen.

Wenn ich ein Senior wäre und die Last der ganzen Arbeit ständig auf meinen Füßen landen würde, anstatt die unteren zu trainieren, dann würde ich sicherlich auch versuchen, zu gehen.

Matt R. Ich denke, Sie haben tatsächlich über viele Dinge nachgedacht, über die ich mich selbst auch bewertet habe. Ich stimme all Ihren Punkten zu und der Hauptgrund, warum ich gehe, ist, dass ich nicht glaube, dass ich bereit bin, ein Teamleiter zu sein. Meine Organisation leidet unter vielen Problemen. Letztendlich ist Stress und lange Arbeitszeiten für die Lieferung von Projekten keine gesunde Sache mehr für mich. In meiner nächsten Rolle möchte ich zurücktreten und weniger Verantwortung übernehmen, vor allem, da ich noch recht jung bin und mich selbst noch stark weiterentwickeln muss. Nicht nur die Junioren.
Was glaubst du, wie viel Zeit ein Junior braucht? Einige der Juniors, die wir haben, haben nicht ihren ersten Job nach dem College.

Ich kann Ihnen nicht sagen, wie Sie Ihren Chef davon überzeugen können, aber ich kann Ihnen sagen, dass Ihr Problem anscheinend darin besteht, die Teamhierarchie festzulegen. Sie haben die Hierarchie in Ihrer Frage definiert, aber Sie scheinen sie nicht in Ihrem Arbeitsstream definiert zu haben.

Wenn es zwei Senioren gegen 11 Junioren gibt, sollten diese Senioren vielleicht überhaupt nicht programmieren. Sie sollten sich mehr um das Design der neuen Funktion kümmern, und dann übergeben Sie diese Designs an den Junior, der diese Designs unter der Aufsicht der Seniors implementiert, die Code-Reviews durchführen, während schwierige Teile an die übergeben werden können mittlere Ebene und die Senioren, wenn nötig.

So, wie Sie es einschlagen, haben Sie heute zwei Senioren, einen Mittelklassespieler und elf Junioren, und in fünf Jahren werden Sie auch zwei Senioren, einen Mittelklassespieler und elf Junioren haben.

Der effizienteste Weg, etwas Neues hinzuzufügen: Lassen Sie einen Senior einen Plan entwickeln, erklären Sie ihn zwei Junioren und lassen Sie ihn ihn erstellen. Mit etwas Händchenhalten. Nächstes Mal dasselbe mit weniger Händchenhalten. Und in einem Jahr können sie Dinge alleine machen und den Senior nur noch mit harten Stücken belästigen.

Ich sehe hier zwei Grundprobleme, die Sie kaum anerkannt haben, und viele Beschwerden über die Symptome, die sich aus diesen Problemen ergeben. Darüber hinaus habe ich immer wieder sehr ähnliche Situationen und Stimmungen in der SE-Branche gesehen.

Erstens sind 2 Senioren nicht einmal die Hälfte der Zahl, von der ich erwarten würde, dass sie das Training von 11 Junioren bewältigen kann. Ein einzelner Senior kann im Durchschnitt mit 1 Mid und 2 Juniors umgehen. Ein wirklich guter Teamleiter kann bestenfalls mit 2 Mids und 3 Juniors umgehen, und Ihr persönlicher Code-Output wird dafür dramatisch abnehmen. Allerdings baut man so größere Teams auf. Es spielt keine Rolle, was Ihr Tech-Stack ist, es gibt einfach nicht genug erfahrene Programmierer mit Erfahrung in Ihrem Tech-Stack, und sie werden es nicht sein, bis Sie sie schulen und das Notwendige tun, um sie zu halten.

Als Team ist Ihre durchschnittliche Erfahrung pro Teammitglied viel zu niedrig. Hochkomplizierte Probleme können und sollen Junioren noch nicht zugemutet werden und brauchen Mentoring. Wie jemand anderes bereits sagte, können Sie kein Team von nur 10 Personen erwarten, das gibt es nicht, weil niemand als 10 anfängt und ich noch keine Interviewkriterien finden muss, die in der Lage sind, 10er oder sogar wahrscheinliche zukünftige 10er genau zu identifizieren. Von wem Sie trainiert werden und wie viel Aufwand sie in das Training stecken, ist wichtig und liegt außerhalb der Kontrolle dieser Person. Sie wissen größtenteils noch nicht, was sie lernen müssen oder wie sie produktiver werden können. Das Lesen von zufälligen technischen Artikeln mag wie eine gute Folge des zukünftigen Erfolgs erscheinen, aber die meisten erfolgreichen und produktiven Ingenieure haben es nicht. Es ist eine seltene Eigenschaft, also kannst du'

Zweitens kann ich nur aus der Art und Weise, wie Sie die Dinge beschrieben haben, erkennen, dass Ihre Geschichten zu umfangreich sind. Sie müssen sie in kleinere, handlichere Größen zerlegen lassen. Eine Geschichte, für deren Fertigstellung ein Programmierer auf mittlerem Niveau mehr als 3 Tage benötigt, kann fast immer in kleinere, leichter verständliche Anforderungen unterteilt werden. Ich versuche, die durchschnittliche Geschichte bei etwa 1 Tag Arbeit für einen mittleren Ingenieur zu halten. Scheuen Sie sich nicht davor, Geschichten zu haben, die von der Fertigstellung anderer Geschichten abhängen, bevor sie gestartet werden können. Je mehr Sie die Dinge aufschlüsseln, desto einfacher ist es, alle mit Geschichten zu versorgen, bei denen die Abhängigkeiten bereits abgeschlossen wurden. Feature-Zweige kommen sehr ins Spiel für diesen Zweck nützlich. Darüber hinaus hat die Art und Weise, wie Geschichten geschrieben werden, einen großen Einfluss. Der erfolgreichste Ansatz, den ich'

Wenn Sie sie dazu bringen können, ein besseres Verhältnis von Senior- zu Junior-Level-Mitgliedern anzustreben, wird das einen großen Teil des Problems lindern, aber ich habe gesehen, wie besseres Storywriting ansonsten desorganisierte, unmotivierte Teams vollständig in die Art von hochproduktiven Vermögenswerten verwandelt, von denen das Management schwärmt um. Ihr Worst-Case-Szenario ist, dass Sie sich auf das Mentoring beschränken müssen, bis sie sich verbessern, und sich dann nach ein paar Sprints auf ein neues Paar Junioren konzentrieren müssen, die trainiert werden. Das ist nicht ideal, aber so kommt man auf den Durchschnitt.