Ich bin seit fast 3 Jahren ein Softwareentwickler (ob Teilzeit oder Vollzeit). Ich war schon immer der Typ, der es verstanden hat, eine Führungsrolle zu übernehmen und die Organisation bei der Erledigung von Aufgaben zu unterstützen. Seit ich an der Uni die Leitung meines Senior-Design-Projekts hatte, fühlte ich, dass dies meine wahre Berufung war und nicht hinter einer Tischkodierung saß. Jetzt weiß ich, dass ich verstehen muss, wie man Code für andere Entwickler erstellt, um mich wirklich zu respektieren. Außerdem liebe ich es wirklich zu programmieren. Ich arbeite an vielen Nebenprojekten zu Hause außerhalb der Arbeit, halte mich an die besten Codierungsmethoden und versuche, mein Wissen über die Domäne kontinuierlich weiterzuentwickeln.
Meine Hauptfrage ist, nach welchen Dingen oder Möglichkeiten ich Ausschau halten soll, um meine Karriere zu einer eher leitenden als zu einer kodierenden Rolle voranzutreiben. Wie gesagt, ich liebe es zu programmieren, aber ich würde es noch mehr lieben, Dinge auf hohem Niveau zu entwerfen und das Team so zu organisieren, dass Dinge erledigt und deren Fortschritt überwacht werden und gleichzeitig technische Hilfe geleistet wird Entscheidungen hier und da. Diese Art von Dingen macht mich wirklich glücklich, anstatt einfach den ganzen Tag hinter einem Schreibtisch zu sitzen und zu programmieren.
Offensichtlich ist es einer meiner Hauptträume, selbst eine Art Software zu entwickeln, die irgendwann in die Luft jagt und groß wird. Dann beginne ich, ein Team zu engagieren und alles selbst zu machen, aber ich denke, die Chancen dafür stehen weitaus schlechter als nur meinen Karriereweg ein wenig zu ändern, um dahin zu gelangen, wohin ich gehen möchte. Ich habe das Gefühl, dass ich die gleiche Zufriedenheit erzielen kann, wenn ich das für einen Arbeitgeber und nicht für mich selbst tue. Auch wenn ich mich vorher noch nicht so gefühlt habe, habe ich das Gefühl, dass dies hauptsächlich deshalb geschah, weil ich nicht das tue, was ich WIRKLICH tun möchte.
Irgendwelche Tipps, Hinweise oder Dinge, die Sie beachten sollten? Jemand, der genau das getan hat, und wenn ja, wie haben Sie es getan?
quelle
Antworten:
Der Wechsel von einer Softwareentwicklungs- zu einer Management- oder Führungsrolle ist etwas, das Zeit in Anspruch nimmt. Ich habe einen Schwerpunkt in Software-Engineering mit Schwerpunkt auf Software-Engineering-Prozessen und einen Schwerpunkt in Unternehmensführung und Kommunikation. Trotz dieser akademischen Erfahrung in der Verwaltung von Softwareprojekten, der Anwerbung und Einstellung von Mitarbeitern, der Leitung von Teams und der mündlichen und schriftlichen Kommunikation mit Gruppen fand ich die meisten Führungs- und Führungsaufgaben, insbesondere in der von mir gewünschten Branche für die arbeit benötige ich mehr als 5 jahre erfahrung in der softwareentwicklung (ich hatte 2 mit kooperationen und praktika).
In der Zwischenzeit habe ich einfach mein Studium zu Projektmanagement-Themen fortgesetzt.
Als erstes würde ich empfehlen, ein guter Kommunikator und Verhandlungsführer zu werden. Erfahren Sie, wie Sie die wichtigen Gespräche führen. Auch als Entwickler müssen Entscheidungen mit Mitarbeitern, Kunden und Benutzern getroffen werden. Manchmal muss man schwierige Gespräche führen und eine Einigung erzielen, die allen zugute kommt. Es ist kein leichtes Ziel, aber das Buch Schwierige Gespräche: Was ist am wichtigsten? Ist eines, das ich empfehlen würde und das dies abdeckt. Es gibt noch andere, wie beispielsweise " Überholen", "Nein" und " Ja": Das Aushandeln einer Vereinbarung ohne Nachgeben wäre ebenfalls hilfreich. Diese sind relevant, unabhängig davon, in welcher Position Sie sich befinden.
Technisch gesehen ist ein Verständnis des Softwareentwicklungslebenszyklus wichtig, um Softwareteams zu führen und zu verwalten. Führungspositionen bedeuten wahrscheinlich, dass Sie mit Requirements Engineering, Softwaresystemarchitektur, Design, Implementierung, Tests und Qualitätssicherung sowie Wartungsaufgaben befasst sind. Obwohl Sie überhaupt kein Experte sein können, muss ein Manager oder Leiter zumindest alle verstehen. Als Entwickler erledigen Sie wahrscheinlich den größten Teil Ihrer Arbeit in den Bereichen Design, Implementierung und Wartung, auch mit einigen Tests. Ich würde Bücher wie " Softwareanforderungen" (und Begleiter " Weitere Informationen zu Softwareanforderungen" ) und " Softwarearchitektur in der Praxis" sehr empfehlen (obwohl meine Universität gewechselt ist)Softwaresystemarchitektur: Arbeiten mit Interessengruppen unter Verwendung von Ansichten und Perspektiven, nachdem ich den Architekturkurs absolviert habe, und Metriken und Modelle in Software Quality Engineering .
Aus Sicht des Projektmanagements erfahren Sie mehr über Prozessmodelle und -methoden. Es gibt agile Methoden wie Scrum und Extreme Programming und plangesteuerte Methoden wie Waterfall und Spiral. Es gibt auch Methodik-Frameworks wie CMMI und Personal Software Process / Team Software Process. Welche für Sie relevant sind, hängt davon ab, in welcher Branche und in welchem Unternehmen Sie tätig sind. Es gibt eine Reihe von Büchern zu verschiedenen Methoden und Frameworks, aber ich würde Rapid Development wärmstens empfehlen : Taming Wild Software Schedules für das allgemeine Software Engineering Management und den Software Engineering-Prozess.
Wenn Sie Ihre Ausbildung fortsetzen möchten, können Sie sich eher eine technische als eine betriebswirtschaftliche Ausbildung ansehen. Wenn Sie eine technische Führungsposition suchen, schauen Sie sich Software-Engineering, Software-Engineering-Management und Engineering-Management-Programme an. Wenn Sie mehr Wert auf Unternehmensführung legen, können Sie MBA-Programme, Unternehmensführung oder einige Engineering-Management-Programme mit einer starken wirtschaftlichen oder finanziellen Komponente in Betracht ziehen.
quelle
Diese anderen Antworten sind großartig, aber ich werfe meine 0,02 $ ein. Ich bin von einem Nachwuchsentwickler in meinem derzeitigen Unternehmen zu einem leitenden Entwickler und dann zu einem Teamleiter und jetzt zu einem Architekten gewechselt. Es hat mehrere Jahre gedauert. Wann immer mir eine Beförderung zuteil wurde, geschah dies, weil ich bereits bestimmte Aufgaben wahrnahm und mein Management dies nur erkannte und mir den entsprechenden Titel gab. Daher rate ich Ihnen, nicht zu warten, bis Sie erfahren, dass Sie ein technischer Leiter oder Manager sind. Übernehmen Sie einfach die Verantwortung, die Personen in diesen Rollen haben. Nach ein paar Monaten oder einem Jahr werden Sie feststellen, dass Sie im Grunde genommen den Job machen, den Sie anstreben, und Sie können Ihr Management darauf hinweisen, wenn sie es nicht bemerkt haben.
quelle
Ich werde nicht versuchen, eine vollständige Antwort zu geben, da Thomas Owens bereits einige wirklich gute Ratschläge aufgeführt hat (+1 dazu).
Ich wollte nur ein paar Tipps / Vorschläge hinzufügen:
... und jetzt gehe ich die Links durch, die Thomas gepostet hat
quelle
Ich persönlich habe im Moment keine Lust, meine derzeitige Position zu verlassen, aber je nachdem, wo wir uns im Release-Zyklus befinden, verbringe ich zwischen 10% und fast 100% meiner Zeit mit anderen Aufgaben als dem Codieren. Wenn Sie geduldig und aufmerksam sind, gibt es viele Gelegenheiten, etwas anderes zu tun, als an Ihrer aktuellen Position "nur zu codieren". Zum Beispiel:
Lassen Sie Ihren Vorgesetzten wissen, dass Sie an solchen Gelegenheiten interessiert sind. Unter der Annahme, dass Sie mit Ihren derzeitigen Aufgaben gut zurechtkommen, wird er Gelegenheiten zu Ihnen lenken, wenn sie auftauchen. Initiative zählt viel. Die meisten Manager lassen Sie zumindest beobachten, auch wenn sie glauben, dass Sie im Moment nicht qualifiziert sind.
quelle
Wenn Sie in eine Projektmanagement-Rolle wechseln möchten, schadet es absolut nicht, Nachtstunden zu nehmen und auf Ihren MBA hinzuarbeiten.
Eine andere Möglichkeit wäre, einen Blick auf die PMBOK Project Management Body of Knowledge- Zertifizierung zu werfen . An vielen Orten werden Sie nicht berücksichtigt, es sei denn, Sie verfügen über einige Jahre tatsächliche Führungserfahrung oder einen der beiden oben aufgeführten Punkte.
Das PMBOK ist ein extrem harter Test und erfordert eine Menge Studium, um ihn zu bestehen. Ich denke auch, dass sie Anforderungen an das tatsächliche Projektmanagement und die Führungserfahrung haben, um sich für den Test zu qualifizieren.
quelle
Das hört sich für mich so an, als ob Sie in Richtung Projektmanagement arbeiten möchten. Eine große Anzahl von PM-Positionen innerhalb der Software-Entwicklung erfordert ebenfalls Codiererfahrung.
Ich würde nach Positionen suchen, in denen Sie zu Verantwortlichkeiten heranwachsen können, die Ihnen das Management / Führungsschiff verschaffen, das Sie sich wünschen. Wenn Sie die Leiter nach oben schieben, kann dies anders aussehen, je nachdem, wie die Dinge dort funktionieren, wo Sie arbeiten. Aber auch bei geringerer Erfahrung in der Programmierung stehen PM-Positionen zur Verfügung, wenn Sie über Erfahrung in Führung und Management verfügen.
quelle