Andere Programmierer verwalten, während Sie selbst Teil der Programmier-Belegschaft sind.
Zumindest in den Unternehmen, für die ich gearbeitet habe, ist dies ein weit verbreitetes Programm.
Können Sie ein guter Programmierer oder ein guter Manager sein, wenn Sie beides gleichzeitig tun?
Ich bezweifle die Effektivität eines Individuums, das zwei sehr unterschiedliche Rollen innehat und sehr unterschiedliche Fähigkeiten, Umgebungen, Konzentration, Organisation usw. erfordert.
UPDATE : Meine Frage bezieht sich auf das Management des Unternehmens (was mein Fall ist), nicht speziell auf das Teammanagement. Aber natürlich interessiert mich beides.
Antworten:
Dies hängt vom Umfang und der Art der Programmierung ab, die Sie ausführen müssen, sowie vom Umfang und der Art der Verwaltungsaufgaben, die Sie ausführen müssen.
Manager zu sein, bedeutet viele Unterbrechungen, Änderungen der Taktik und Dinge wie Besprechungen usw.
Wenn Ihre Programmierung auf kleine, nicht dringende Aufgaben beschränkt ist, können Sie diese in Ihre Managementaufgaben integrieren. Wenn Sie viel "Qualitäts" -Zeit für eine Programmieraufgabe aufwenden müssen, erhalten Sie diese Zeit aufgrund Ihrer Führungsverantwortung nicht.
Wenn Ihr Team groß und / oder komplex ist, müssen Sie mehr Zeit für die Verwaltung aufwenden als bei einem kleinen Team, das sich einem oder zwei Produkten / Projekten widmet. Sie werden feststellen, dass Sie einfach nicht die Zeit haben, eine sinnvolle Programmierung vorzunehmen - selbst bei kleinen Aufgaben.
In einem früheren Job hatte ich diese Rolle und sie hat bei mir funktioniert, weil ich meine Programmieraufgaben klein gehalten habe. Es hat tatsächlich zu unserem Vorteil funktioniert.
Erstens konnte ich alle eingehenden Anfragen bewerten und sie meiner Warteschlange hinzufügen (die immer kurz war) oder mit einem genaueren Zeitplan zum Kunden (in diesem Fall einem anderen Manager) zurückkehren, bis wann die Arbeit ausgeführt werden würde getan werden.
Zweitens bedeutete dies, dass die Entwickler im Team nicht ständig von ihrer aktuellen Arbeit abgezogen wurden, um kleinere Fehler zu beheben oder kleine Verbesserungen vorzunehmen.
Drittens waren die Kunden zufrieden, da ihre dringenden Probleme ziemlich schnell behoben wurden.
Dadurch blieb ich mit der Codebasis in Kontakt, sodass ich mit meinem Team über Probleme und mit meinen Managern und Kunden über Zeitpläne Gespräche führen konnte, ohne das Team ständig einbeziehen zu müssen.
quelle
Ich war Teil eines Entwicklerteams, in dem ein Programmierer auch unser Manager war. Dies führte zu einem völligen Zusammenbruch von allem, was der Produktivität ähnelte. Kurz gesagt, alle Entscheidungen wurden von diesem Typen getroffen + er war ein kompletter Mikromanager. Alle Ideen und Vorschläge, denen er nicht zustimmte, wurden abgeschossen oder ignoriert. Dies tötete schließlich jede Kreativität und Motivation.
Ich denke, es ist eine schlechte Idee, jemanden im Entwicklerteam in einer "höheren" Position zu haben. In meinem Fall war der Typ ein Befehls- und Kontrollmanager, aber ich selbst ein großartiger Manager wird (ungewollt) die anderen Entwickler beeinflussen, was letztendlich zu einer geringeren Leistung führt. Zumindest das Team berichtet ihm.
quelle
Ja,
ich habe ein paar Manager gesehen, die gleichzeitig Programmierer und Manager waren. Glauben Sie mir, dass es wunderbar war, unter diesen Leuten zu arbeiten.
Manager und Programmierer zu sein, erlaubt Managern nicht nur, von vorne zu führen, sondern motiviert auch die Untergebenen, ihr Bestes zu geben.
Die meisten Mitarbeiter beschweren sich über ihre Manager, dass die Manager nichts wert sind, aber der Manager, der nicht nur Code verwaltet, sondern auch schreibt, immer die besten Ergebnisse liefert.
Die beiden Manager, die ich erwähnt habe, programmieren war ihre Leidenschaft, die nicht nur anderen half, sondern auch eine fast fehlerfreie Anwendung hervorbrachte.
quelle
Ich bin seit Jahren Programmier-Projektmanager bei verschiedenen Unternehmen, Projekten und Teams.
Projektmanagement und Programmierung sind so unterschiedliche Arten von Jobs / Rollen, dass ich behaupten würde, dass Sie nicht beide gleichzeitig auf "exzellentem" Niveau erledigen können. Es ist ein Kompromiss - Meister des Nichts, Alleskönner.
Das größte Problem ist für mich der Kontextwechsel zwischen Manager- und Programmierermodus. Sie scheinen verschiedene Teile des Gehirns (oder etwas anderes) zu beschäftigen. Eines Tages programmieren, eines Tages verwalten kann ich gut, aber es ist schwierig, ständig zwischen diesen Rollen zu wechseln.
quelle
Ich habe beide Szenarien gesehen. Entwickler-Manager, die {einen gewissen Prozentsatz ihrer Zeit} für das Codieren aufwenden, und Entwickler-Manager, die überhaupt kein Codieren ausführen.
Das Problem ist, desto mehr älter man wird , desto mehr wahrscheinlich sind Sie mehr bezahlt werden wollen, und der einzige Weg zu bekommen , dass in vielen Orten in dem Management zu bewegen. (natürlich nicht alle, aber viele Orte). Das kann dazu führen, dass Leute, die wirklich nicht bereit sind, Manager zu sein, in dieser Situation stecken bleiben.
(Natürlich gibt es Unternehmen, in denen Sie durch Dev, Dev Lead - anders als natürlich durch Dev Manager - zu Positionen wie Architect usw. aufsteigen können.)
Die Chancen stehen gut , einen techy sein, Sie können bei Menschen-Management nutzlos sein, und bringen Sie weiter vom Code. Sie werden also zu einem schlechten Manager und machen weniger von dem, was Ihnen Spaß macht, und haben vermutlich die Entwicklung für begonnen!
Für mich als Manager sollten Sie sich wirklich von der Programmierung lösen, aber auf jeden Fall auf dem neuesten Stand der Technik sein, damit Sie zumindest noch kohärent über Probleme sprechen können.
Aus genau diesem Grund habe ich angefangen, freiberuflich zu arbeiten. Ich habe kein Interesse an People Management, und ich denke, ich wäre nicht besonders gut darin, und ich würde nicht so viel Code bekommen.
quelle
Es kann getan werden, aber es steckt voller Tücken. Gruppengröße und Unterbrechungsgrad spielen eine große Rolle, aber das größte Risiko besteht darin, dass der Manager auch der technische Leiter ist. Eine zu harte Meinung, wenn nicht genügend Zeit / Mühe aufgewendet wird, um die Meinung zu rechtfertigen, kann zu einigen schlechten Entscheidungen führen. Und die Debatte über die Richtung ist kein faires Spielfeld zwischen einem Manager und dem Rest des Teams.
Für diejenigen, die diesen Weg in Betracht ziehen, einige Ratschläge:
Arbeiten Sie sich aus der Rolle der Architektur heraus und identifizieren Sie Leads in Ihrer Gruppe.
Arbeiten Sie nicht an den kritischen Pfadelementen. Beheben Sie Fehler, arbeiten Sie an Prototypen oder anderen Elementen, die schnell verworfen werden können, wenn Ihr Chef viel mehr „wichtige Dinge“ findet, die Sie ablenken.
Erhöhen Sie Ihre Aufmerksamkeit und konzentrieren Sie sich auf die allgemeine Effizienz, die Verteidigung und Förderung des Teams, des Prozesses, der Moral und anderer Aspekte, die für ein erfolgreiches Team erforderlich sind. Ihr Ziel ist wahrscheinlich viel mehr als nur ein erfolgreiches Projekt (unabhängig davon, was Ihr Chef, Premierminister oder andere sagen mögen).
Helfen Sie Ihrem Team zu wachsen: Werden Sie unabhängiger, selbstorganisierender, technisch versierter und sensibilisierter.
In vielerlei Hinsicht sind Sie die Brücke zwischen dem Team und der Außenwelt. Ein wesentlicher Teil Ihres Fokus sollte außerhalb des Teams liegen.
Um die Frage zu beantworten: Ja, das ist möglich. Nein, es ist nicht einfach und viel zu viele neue Manager von der technischen Seite des Hauses, die großartige Leads waren, können nicht in den Job eines erfolgreichen Managers wechseln.
quelle
Ein guter Manager kann sein, ja. Solange Sie selbstbewusst und konsequent bleiben, gibt es normalerweise kein Problem.
Wenn Mitarbeiter angewiesen werden, Probleme mit Teamkollegen mit ihrem Vorgesetzten zu besprechen, und der Vorgesetzte auch ein Teamkollege ist, kann dies zu Problemen führen. Es ist wichtig, dass Sie alle Rückmeldungen objektiv betrachten und erkennen, dass Sie von Zeit zu Zeit falsch liegen können. Sie sollten auch eine Art anonymes Mittel für das Feedback bereitstellen.
Es ist (wie Sie sagten) äußerst verbreitet, dies in Start-up-Unternehmen zu beobachten.
quelle
Ich denke nicht.
Beide Jobs erfordern viel Fokus, Energie und Engagement. Es ist sehr schwierig, beide gleichzeitig auszuführen. Als ich einige Aufgaben als Teamleiter übernehmen musste, verringerte sich der Zeitaufwand für die Programmierung (und folglich auch der von mir geleistete Arbeitsaufwand für die Programmierung).
Ich kenne einen anderen Kollegen, der eine Führungsrolle in einem Team übernommen und innerhalb eines Monats das Programmieren vollständig eingestellt hat (obwohl er versucht hat, beides zu tun).
Ich kenne auch einen Architekten, der gebeten wurde, Manager zu werden. Außerdem hörte er innerhalb eines Monats nach Übernahme der Führungsverantwortung mit dem Programmieren auf. Nach 8 Monaten musste derselbe Architekt aufgrund kritischer Feldprobleme wieder zur Codierung zurückkehren. Er trug erheblich zur Fehlerbehebung bei, aber innerhalb eines Monats mussten sie einen Ersatzmanager finden, um seine Führungsaufgaben wahrzunehmen.
In meiner begrenzten Erfahrung habe ich niemanden gefunden, der andere Programmierer und Codes wie ein Vollprogrammierer verwaltet.
quelle
Meiner Meinung nach ist es zwar in den meisten Szenarien möglich, aber keine gute Vereinbarung. Es gibt zahlreiche Artikel darüber, wie Leute, die als Entwickler kompetent sind, wahrgenommen und in eine Team-Management-Rolle gebracht werden, obwohl dies nicht ihre spezifischen Fähigkeiten oder sogar eine gewünschte Position ist. Sie tun sich schwer damit, sich auf "Management" zu konzentrieren, weil sie "Arbeit" als Erledigung der Programmierung ansehen, nicht als Erstellung von Berichten und als Teilnahme an Besprechungen.
Spolsky schrieb in seinem Artikel über den Developer Abstraction Layer Folgendes:
"Bei einem Software-Unternehmen muss die Erstellung dieser Abstraktion für die Programmierer die erste Priorität des Managements sein."
In dem Artikel (meiner Meinung nach gut begründet) geht es bei der Rolle des Managers nicht darum, in den Code oder in die Softwareentwicklung einzusteigen, sondern darum, eine Umgebung zu schaffen, in der sich die Hersteller voll und ganz darauf konzentrieren können.
quelle
Mein ehemaliger Chef hat es versucht. Es gab zu viele Unterbrechungen von seiner Führungsrolle.
Er ist immer noch einer der besten Entwickler, die ich kenne.
quelle
Das können Sie auf jeden Fall, aber das bedeutet nicht, dass es einfach ist. Es braucht eine bestimmte Art von Person, um ein guter Entwickler zu sein, es braucht eine bestimmte Art von Person, um ein guter Manager zu sein, und eine bestimmte Art von Person, um beides zu sein. Wenn Sie diese Person finden können (oder diese Person sind), gibt es bestimmte Vorteile. Manager der ersten oder zweiten Ebene von Programmierern müssen wirklich verstehen, was ihre Mitarbeiter täglich tun und begegnen. Schwer zu tun, wenn Sie kein Entwickler waren und es schwierig ist, auf dem Laufenden zu bleiben, ohne sich weiterzuentwickeln.
Der beste Manager, den ich je hatte (ich bin seit 25 Jahren im Geschäft), war ein aktiver Entwickler, mein Manager und der halbe Eigentümer des Unternehmens (ungefähr 40 Mitarbeiter). Er war etwas Besonderes, aber es gelang ihm eindeutig, diese Frage zu beantworten.
quelle
MIT SICHERHEIT NEIN !!
Sie können es versuchen, aber Sie werden am Ende mehr als alles andere verwalten. Das Problem ist, dass Sie nicht codieren können, wenn Leute Sie alle 5 Minuten anrufen oder versuchen, stündlich "Status" -Meetings abzuhalten. Es ist lächerlich ... ich mache es jetzt, weshalb ich über diesen Thread gestolpert bin.
Obwohl ein Manager in einem Technologieunternehmen ... nein ... wissen MUSS, wie man codiert. Sie sind einfach nicht in der Lage, die Probleme des Kunden einzuschätzen oder zu verstehen. Codierung und Verwaltung sind zwei Arten von Menschen. Eine Seite ist geeks und unbeholfen mit Menschen (ehrlich, geeks, du weißt wovon ich spreche), und die andere Seite ist gut mit Menschen. Sie müssen eine Seite wählen. Sie werden mit der Codierung nichts anfangen, wenn Sie beides tun. Wenn Sie Codierung lieben und dies rund um die Uhr tun können, wenn Ihre Frau Sie nicht behindert, bleiben Sie dem Management fern. Nehmen Sie sogar eine Lohnkürzung, wenn Sie müssen. Ich bin dabei, das zu tun, aber ich glaube nicht, dass die Chefs das mögen werden, weil ich ihnen das Management erleichtern werde. Ich muss wieder freiberuflich arbeiten, wenn sie nicht einverstanden sind, weil Glück und das, was Sie lieben, viel wichtiger sind als Geld und die Illusionen, die es kauft.
Mit den besten Wünschen für Ihre Bemühungen und bitte halten Sie diese Beiträge kommen. Ihr seid fantastisch.
Lesen Sie den Abschnitt "Fehlen eines programmierorientierten Karrierepfads" auf dieser Site. Ziemlich gutes Zeug und sehr relevant: http://c2.com/cgi/wiki?ProgrammingIsNotFun
quelle
Es ist möglich, dass eine Person sowohl gute Manager- als auch gute Programmierkenntnisse besitzt, obwohl das Sprichwort "Ein Alleskönner ist ein Meister des Nichts" in den Sinn kommt ...
Die gleichzeitige Kombination beider Funktionen scheint mir jedoch anfällig zu sein, beide Aufgaben nur zur Hälfte zu erledigen. Es hängt von der Menge des zu bewältigenden Aufwands ab, aber es ist unvermeidlich, dass Sie mit zwei Aufgaben völlig unterschiedlicher Art jonglieren, und der Fokuswechsel, den dies erfordert, ist ziemlich groß. Ich stelle selbst fest, dass ich im Codierungsbereich bei einigen Verwaltungsaufgaben (in meinem Fall beim Verwalten der Kurse und beim Verfassen von Berichten) weniger Leistung erbringen kann.
Eine weitere Gefahr besteht darin, dass Sie eine Gruppe leiten, aber auch direkt involviert sind. Manchmal zahlt sich das aus, manchmal kann das große Probleme verursachen. Wenn andere Programmierer mit Ihrer Arbeit nicht einverstanden sind, kann die Tatsache, dass Sie der Manager sind, verhindern, dass sie vollständig offen sind.
Wenn Sie jedoch in demselben Projekt programmieren, das Sie verwalten, fühlen Sie sich ein wenig wohler mit dem Code selbst, sodass in diesem Fall das Programmierbit tatsächlich das Verwaltungsbit unterstützen kann. Alles hängt davon ab, was Sie verwalten müssen, wie viel Zeit es erfordert und wie viel es im Zusammenhang mit dem Code bleibt, an dem Sie arbeiten.
Ich glaube, es gibt keine klare Antwort, aber ich vermeide es, beides zu sehr zu vermischen. Meine 2 Cent
quelle
Nun, ich habe gelesen, dass Manager von Softwareprojekten auf jeden Fall selbst Programmierer sein sollten.
Ich denke, ein Manager ist aus einem Grund ein Manager - zu verwalten. Ich würde dies als Faustregel nehmen ... einige können ein zweischneidiges Schwert sein.
quelle
Ich kenne einen Fall, in dem es funktioniert. Der Mann ist so etwas wie ein Workoholic, also arbeitet er hauptberuflich als Manager und fast hauptberuflich als Programmierer.
In Anbetracht der normalen Arbeitszeiten halte ich eine solche Doppelrolle nicht für eine gute Idee. Ein leitender Programmierer (oder Programmiermanager) ist immer versucht, einen Großteil der Programmieraufgaben selbst zu erledigen, anstatt seine Programmierer dazu zu bringen, dies zu tun. Es gibt immer die Ausrede "es dauert länger zu erklären als zu tun", aber auf lange Sicht fehlen ihm die 50% der Programmiererarbeit im Verwaltungsteil, so dass andere Programmierer weniger effizient sind.
quelle