Art der Teamleitung: Mehr Programmierer || Mehr! Programmierer [geschlossen]

8

Gestern hatte ich einen Teamleiter von einem anderen Team, der gesagt hat, dass sie eine Weile brauchten, um etwas herauszufinden, was ich auf einer Wiki-Seite geschrieben habe, weil ich mich darauf bezog, Code von der Quellcodeverwaltung als "Auschecken" zu verwenden. Sie sagten, dass sie Clear Case nutzen würden und nur von dem Begriff "einem Projekt beitreten" gehört hätten und sagten, dass sie lange nicht wirklich viel programmiert hätten.

Obwohl das in Ordnung ist, habe ich dann an die verschiedenen Arten von Teamleitern gedacht Ich hatte einige, die fast ausschließlich als Manager fungierten, und ich hatte diejenigen, die Programmierer sind, die gleichzeitig leitende Dinge tun.

Haben die Leute eine Vorliebe dafür, welche Art von Teamleiter sie haben? Wie interessiert es Sie, wenn Ihr Teamleiter aktiv an der Entwicklung Ihres Produkts beteiligt ist? Ich finde Teamleiter, die tatsächlich sitzen und wie der Rest des Teams programmieren, eher Dinge zu verstehen (aus meiner Erfahrung):

  • Dinge sind nicht immer so einfach wie sie klingen. Teamleiter, die ich habe, die nicht oder nur sehr selten Code schreiben, glauben, dass alles ein Kinderspiel ist und nicht viel Zeit in Anspruch nehmen sollte (was vielleicht der Fall ist, wenn man es zusammen hacken will) >
  • Sie verstehen mehr, dass Entwickler nicht immer gerne in langen Meetings sitzen und ihr Bestes tun, um zu verhindern, dass ihr Team in so viele sinnlose Meetings wie möglich kommt.
  • sie verstehen, was Sie von einem technischen Standpunkt aus sagen. Diejenigen, die vielleicht eine Weile nicht codiert haben, sind mit vielen neuen Technologien, Techniken oder dem Jargon nicht auf dem neuesten Stand.

Ich finde es viel befriedigender, einen Teamleiter zu haben, der den Verstand eines Entwicklers hat und sich im Code auch gerne die Hände schmutzig macht. Vielleicht gibt es da draußen Leute, die Teamleiter mögen, die sich von der eigentlichen Coding-Seite der Dinge distanzieren und einfach die Arbeit austeilen, oder vielleicht eine andere Art von Teamleiter, die ich nicht erwähnt habe?

    
digiarnie 09.02.2009, 22:15
quelle

5 Antworten

21

Ein Teamleiter muss ein Coder sein - er kann das Team nicht führen <, wenn das Team sie nicht respektiert und wo sie alle hinbringen.

Ein Team Manager hingegen kann entweder ein Programmierer oder jemand sein, der gut organisiert ist und weiß, wann er Fragen stellen und sich mit anderen Führungskräften verbinden muss.

Es ist möglich, sowohl einen Manager als auch einen Anführer in derselben Person zu finden, aber häufiger sind die Rollen (sollten) getrennt und verschieden.

    
womble 09.02.2009, 22:20
quelle
5

Ich habe keine Vorliebe, ich kann nicht, ich muss mit allen arbeiten, auch wenn zu viele Köche die Brühe verderben. Bei einem typischen Projekt mit mehreren Entwicklern habe ich einen technischen Leiter, einen Projektmanager und einen nichttechnischen Kunden. Natürlich wird das Abteilungs- und das Programmmanagement ihren Kopf festhalten.

Es gibt eine Reihe von Arten von Anführern, jeder hat seine eigenen Eigenschaften:

Nicht-technischer Kunde: "Der Kunde hat immer Recht." Oft will er einen Mond auf dem Spieß. Will sowohl das Management als auch die technischen Organe anrufen und die beste Antwort als Evangelium nehmen.

Teammanager / Linienmanager: Etwas pastorale Rolle. Nicht besonders interessiert an dem Projekt, an dem ich gerade arbeite. Tritt ein, wenn eine Entscheidung zwischen den Projektprioritäten getroffen werden muss. Wahrscheinlich möchte er wirklich ein Programmierer sein und delegiert den Rest seiner Arbeit, die er seinen Untergebenen geben kann.

Projektleiter: Unterschiedliche technische Kenntnisse. Es geht nur um Zeitpläne und Kosten. Versteht nicht: "Ich weiß nicht, wie lange es dauern wird, ich muss erst ein paar Tage damit spielen, um ein Gefühl zu bekommen."

Teamleiter / technischer Leiter: Nur ein anderer Entwickler, aber mit mehr Erfahrung. Verantwortlich für technische Entscheidungen, die das gesamte Projekt betreffen. Oft mit dem Projektleiter zu kämpfen, um gute Ingenieurpraxis durchzuführen, auch wenn es auf kurze Sicht länger dauern wird.

Teamleiter / verklärte Sekretärin: Jemand, der das Team leiten soll, aber eher wie eine Sekretärin handelt. (Normalerweise eine Note über dem Team). Antwortet die Telefone, isoliert Kunden von den technischen Bodies. Das funktioniert gut, bis sie eine technische Frage stellen, wo die verklärte Sekretärin versucht, sich ihren Weg zu bahnen, und schließlich arbeiten sie um die Sekretärin herum und sprechen direkt mit dem Team.

    
Mat 09.02.2009 22:28
quelle
4

Sie sollten das Buch Managing Humans lesen. Ich bin der Meinung, Manager sollten ihre Hände aus dem Code behalten. Sie haben wichtigere Aufgaben, wie zum Beispiel Menschen von Entwicklern fernzuhalten, damit sie ihre Arbeit machen können. Wenn sie in die Entwicklung springen, schafft das Verwirrung, da sie nicht genug sind, um zu wissen, was vor sich geht und ihre Zeit zwischen diesen und anderen Dingen aufgeteilt ist, so dass es schwierig ist, auf sie für größere Funktionen zu zählen. Außerdem ist es wirklich nervig, wenn Sie Ihrem Manager sagen müssen, dass etwas, das sie gerade geschrieben haben, geändert werden muss, und Sie müssen zurückgehen und es wiederholen. Manager sind wirklich ihre, um auf die Granaten für den Rest des Teams zu springen, damit sie sich darauf konzentrieren können, die Aufgabe zu erledigen.

Soll das gesagt werden, sollte Manager über Software-Engineering wissen? Ja, natürlich sollten sie, das ist der Bereich, in dem sie sich befinden. Sollte man wissen, wie man in der neuesten und großartigsten Whizbang-Technologie programmiert? Das sollte nicht wirklich wichtig sein, solange sie verstehen, wie Softwareentwicklung funktioniert.

    
kemiller2002 09.02.2009 22:21
quelle
1

Wir haben normalerweise einen PM (nicht technisch), der das Projekt von einem Administrator verwaltet. Standpunkt und ein Tech Lead, der die technischen Aspekte verwaltet und das Team technisch leitet.

Der technische Leiter wird Teile des Projekts kodieren und wahrscheinlich der (einzige) Hauptentwickler für die "Proof of Concept" -Stufe sein.

Bei einigen kleineren Projekten sind sie dieselbe Person, aber es ist eine seltene Kombination.

    
nzpcmad 09.02.2009 22:29
quelle
1

Die absolut schlechtesten Software-Leads / Chief Software Engineers, mit denen ich gearbeitet habe, waren diejenigen, die eng in die technischen Details involviert sein wollten. Zu viele wichtige Aufgaben wurden entweder verpasst oder einfach nicht ausgeführt. Die Führung eines Teams ist ein Vollzeitjob. Wenn sich der Lead in die technischen Aspekte einmischen will, wird dies sicherlich auf Kosten der Managementaspekte gehen.

Ich hatte nur zwei Software-Leads / Chief Software Engineers von Dutzenden, von denen ich dachte, dass sie sich lohnen würden. Während beide zuvor Softwareingenieure waren, waren diese Zeiten für beide längst vorbei. Sie wussten es. Sie versuchten nicht einmal so zu tun. Ihre Aufgabe war es jetzt zu verwalten. Ihre Aufgabe bestand darin, sicherzustellen, dass die Entwickler alle Chancen hatten, erfolgreich zu sein. Sie taten ihr Bestes, um alle Hindernisse zu beseitigen und sicherzustellen, dass alle Fortschritte machten.

Ich habe eine Theorie, habe sie aber nie in Aktion gesehen, dass der beste Software-Leiter jemand wäre, der kein Softwareentwickler ist oder jemals war. Sie sind auf den wahren Geist des Managements spezialisiert, insbesondere darauf, ein Vermittler zu sein. Leider sind die meisten Manager eher politisch motiviert oder arbeiten nur, weil sie technisch ihren Höhepunkt erreicht haben.

    
Dunk 09.02.2009 22:56
quelle

Tags und Links