Wie kann man ein Team gut trainieren? [geschlossen]

11

Ich betreue derzeit ein kleines Team von 4 Junior-Entwicklern in einem kleinen Softwareunternehmen. Sie sind sehr klug und erfüllen ihre Aufgaben oft mit einem qualitativ hochwertigen Job, aber ich bin sicher, dass sie es immer noch besser machen können - eigentlich habe ich genau das gleiche Gefühl für mich selbst :) -. Außerdem sind einige von ihnen "jünger" als andere.

Daher würde ich gerne einen lustigen Weg finden, um ihre CS-Fähigkeiten (Design, Codierung, Testen, Algorithmus ...) zusätzlich zu den Erfahrungen, die sie in ihrer täglichen Arbeit sammeln, zu verbessern. Zum Beispiel dachte ich daran, wöchentliche Sitzungen einzurichten, die nicht länger als 2 Stunden dauern und in denen wir zusammen an herausfordernden CS-Übungen arbeiten können. Ein bisschen wie ein Coding-Dojo.

Ich bin mir sicher, dass das Team das genießen würde, aber ist es wirklich eine gute Idee? Wäre es im beruflichen Kontext effizient? Sie verbringen bereits die ganze Woche damit, Code zu schreiben. Wie soll ich das organisieren, damit sie einige Vorteile erhalten?

Jede Rückmeldung willkommen!

PierrOz
quelle
3
HERR. NOLAN ~ Dead Poets Society: "Im Alter dieser Jungen? Nicht in Ihrem Leben! Tradition, John. Disziplin. Bereiten Sie sie auf das College vor, und der Rest wird für sich selbst sorgen." Ich konnte nicht widerstehen: P +1 für eine gute Frage.
Matthieu

Antworten:

9

Hier sind ein paar Ideen

  • Buchclub, lesen Sie die Bücher wie Pragmatic Programmer oder andere karriereorientierte Dinge.
  • Wenn Sie Dojo codieren, können Sie mit einem einfachen Problem außerhalb des Projekts beginnen und es dann auf das Projekt oder auf andere Weise erweitern, wenn Sie dies wünschen.
  • Retrospektiven oder Feedback-Meetings, um Ideen von der Gruppe selbst zu erhalten, um die Projektentwicklung zu verbessern, an der jeder teilnimmt
  • Ein Benutzergruppentreffen, in dem eine bestimmte Person dies präsentiert, würde die Präsentation / Soft Skills des Teams verbessern

  • Hin und wieder erledige ich eine nicht arbeitsbezogene Aufgabe wie Dave & Busters zu besuchen, um einen lustigen Freitag oder eine Art Spaß zu haben ... um die Teamchemie zu verbessern

Jede der Aufgaben oder Besprechungen sollte weniger als 45 Minuten dauern, damit die gesamte Gruppe interessiert ist. Alles, was über eine Stunde hinausgeht, fällt vollständig auf die Schultern des Moderators oder Leiters der Gruppe.

Srikanth Remani
quelle
Ich unterstütze den Buchclub. Ich wäre nicht einmal einem guten Entwickler nahe, wenn ich nicht die Bücher gelesen hätte, die ich über Programmierung und Softwareentwicklung habe. In Büchern können Sie sehen, wie die Experten es tun, damit Sie selbst einer werden können.
Brian D.
1

Menschen haben vielleicht ihre eigenen Vorstellungen davon, wie sie lernen wollen. Persönlich würde ich lieber in meiner Freizeit einen Kurs belegen oder an einem Projekt arbeiten - und beides getan. Wenn alle im Team mit den Trainingseinheiten einverstanden sind, dann machen Sie es, solange die Leute in Ihrem Team nicht anfangen, es im Laufe der Zeit wie "Arbeit" zu behandeln ...

Justin Ethier
quelle
Ich verstehe, dass sie eine andere "Atmosphäre" brauchen, um zu lernen, aber ich mag den kollektiven Ansatz des Codierens von Dojo. Jeder kann von den besten Ideen profitieren und verstehen, wie er sie gefunden hat ...
PierrOz
Fair genug, aber wenn Sie alle zusammenbringen wollen, möchten Sie vielleicht die Gruppe stärker einbeziehen. Bringen Sie beispielsweise Ihre eigenen Ideen zu den ersten Sitzungen mit, und lassen Sie dann in den folgenden Wochen jeweils eine andere Person die Übung durchführen. Erwägen Sie auch, andere Dinge zu tun, z. B. ein wöchentliches Code-Snippet zu überprüfen, Personen Aufgaben präsentieren zu lassen, an denen sie gearbeitet haben (oder technische Bereiche, über die sie lernen, wie WPF, TCP usw.), und so weiter ...
Justin Ethier
1

Ich denke, dass die einzige Möglichkeit, ein Team gut ausgebildet zu halten, darin besteht, Entwickler einzustellen, die weiter lernen möchten.

Wenn es nicht von innen kommt, liefert es keine dauerhaften Ergebnisse.

Wenn sie lernen möchten, hängt es hauptsächlich von den Interessen und Lernstilen ab, ob Team-Lernaktivitäten effektiv sind oder nicht.

Eric Wilson
quelle
1

Ich denke, das Dojo-System klingt cool und erlaubt ihnen, zu Hause fortzufahren, wenn sie wollen. Das Hinzufügen einer Belohnung könnte nützlich sein, aber Sie könnten den Wettbewerb betonen, und ich denke nicht, dass viel davon für die Teamarbeit gut ist. Wie auch immer, ein großartiger Ort, um nach Computerproblemen zu suchen, ist der Sphere Online Judge . Es definiert ein Problem, eine Reihe von erwarteten Ergebnissen und ermöglicht das Hochladen einer Datei mit der Lösung des Problems. Wenn Sie es richtig machen, steigen Ihre Punkte.

Viel Glück damit!

Guiman
quelle
1

Es gibt eine Reihe von Fähigkeiten, die wir als Entwickler benötigen und die nicht unbedingt direkt mit Code zusammenhängen. Ein Beispiel ist das Präsentieren und Erklären technischer Dinge für nicht-technische Personen auf eine Weise, die sie verstehen können. Etwas, das effektiv sein kann, während Sie Ihr Team dahin bringen, wo Sie es haben möchten, ist, so etwas wie Hausaufgaben zu machen.

Jede Woche geben Sie Ihren Jungs ein Problem, das sie lösen müssen. Damit es für das Unternehmen am vorteilhaftesten bleibt, sollten Sie die Probleme auf etwas beschränken, das für Ihre Arbeit relevant ist. Am besten ein Schmerzpunkt, den Sie noch nicht selbst herausgefunden haben. Jedes Ihrer Junior-Mitglieder präsentiert sich abwechselnd (vorzugsweise eines pro Woche), während Sie die Rolle des Kunden spielen. Im Wesentlichen haben Sie mit diesem Ansatz zwei Ziele:

  1. Das Lehren / Präsentieren erfordert, dass der Mann auf dem Boden ein tieferes Wissen hat als nur Übungen. Es ist eine indirekte und dennoch sehr effektive Möglichkeit, jemandem ein Thema beizubringen.
  2. Wenn sie Sie davon überzeugen können, dass es eine gute Idee ist, können sie möglicherweise einen Kunden davon überzeugen. Stellen Sie sicher, dass Sie Fragen stellen, die sie über die geschäftlichen Auswirkungen ihrer Vorschläge nachdenken lassen.

Beginnen Sie jede Sitzung natürlich mit einer Erinnerung daran, dass Sie gezielte Fragen stellen werden - und der Zweck ist nicht, gemein zu sein, sondern sie auf einen harten Kunden vorzubereiten.

Berin Loritsch
quelle
1

Als Manager oder Senior würde ich mich bemühen, die „echte“ Arbeit immer wieder vor Herausforderungen zu stellen. Versuchen Sie, den Leuten Dinge zu geben, an denen sie arbeiten können, die etwas außerhalb ihrer Liga liegen oder die sie zumindest herausfordern. Senden Sie einen ihrer Kollegen ein, um zu helfen und bei Bedarf Nachhilfe zu leisten.

Wenn jemand etwas erledigt hat, fordern Sie ihn auf, einen neuen / anderen Ansatz auszuprobieren.

Trainieren Sie sie darin, Dinge vor Ort herauszufinden, anstatt an Dingen zu arbeiten, die sie noch nicht wissen.

Integrieren Sie das Lernen in die Arbeit selbst. Nebenprojekte zum Lernen werden häufig mit Fristen am Horizont übersprungen.

Manchmal kann es als Motivator hilfreich sein, direkt die Notwendigkeit eines bestimmten Fachwissens anzugeben.

Joppe
quelle
1

Geben Sie ihnen 3 Stunden pro Woche Zeit, um zu recherchieren / zu hacken, woran sie für die Programmierung interessiert sind. Im Idealfall wäre dies mehr, aber ich denke, 3 Stunden sind ein guter Anfang. Es könnte alles in einem Stück sein, es könnte auf dem Weg in kleine 30-Minuten-Segmente zerlegt werden. Es hört sich so an, als wären diese Programmierer so motiviert, dass sie die Dinge in Schach halten könnten.

Wenn sie jedoch ihre eigenen Interessengebiete erkunden können, wird dies auch dem Team helfen. Eine Person, die Daten wirklich mag, kann eine kleine App mit einer NoSQL-Lösung untersuchen und schreiben, die einem Projekt helfen kann, das einige Monate später ansteht. Eine andere Person kann eine kleine Dienstprogramm-App für einen trivialen Bedarf (z. B. das Parsen von Protokolldateien) einrichten, der zu einer Haupt-App in Ihrem Team wird. Selbst das Wissen, das aus dem Nachlesen der Aktivitäten der großen Unternehmen gewonnen wurde, kann dazu beitragen, Optionen für das nächste anstehende Projekt zu bewerten.

Wir befinden uns in einem Umfeld, das sich ständig ändert, und ich bin sicher, dass jedes Mitglied Ihres Teams etwas Einzigartiges auf den Tisch bringt. Geben Sie ihm also die Möglichkeit, zu seinen eigenen Bedingungen zu expandieren. Sie werden es zu schätzen wissen, dass sie nicht zu etwas gezwungen wurden (obwohl alle Absichten gut sind), und Sie erhalten eine gute Vielfalt an Rückmeldungen.

Dillie-O
quelle
0

Eine andere Technik, die ich gesehen habe, ist eine Präsentation zum Mittagessen von einem leitenden Entwickler / Berater etwa einmal im Monat. Und vergessen Sie nicht, das Mittagessen bereitzustellen. Die meisten Entwickler, die ich kenne, lieben Free Grub. Sie könnten sie fragen, ob sie bestimmte Themen bevorzugen.

SnoopDougieDoug
quelle