Come posso passare da uno sviluppatore software a un gestore software o team leader? [chiuso]


42

Sono uno sviluppatore di software (part-time o full-time) da quasi 3 anni. Sono sempre stato il tipo di persona che ha quel talento per assumere un ruolo guida e fornire l'organizzazione per fare le cose. Sin da quando ero il capo del mio progetto di design senior al college, ho sentito che questa era la mia vera vocazione, non sedermi dietro un codice di scrivania. Ora so che devo capire come programmare gli altri sviluppatori per rispettarmi veramente. Inoltre, adoro davvero programmare. Lavoro su molti progetti secondari a casa al di fuori del lavoro, mi tengo aggiornato con le migliori pratiche di codifica e cerco e continuo di approfondire la mia conoscenza del dominio.

La mia domanda principale è: che tipo di cose o opportunità dovrei cercare che mi aiuteranno a portare la mia carriera a un ruolo più manageriale, piuttosto che un ruolo di programmazione. Come ho detto, adoro programmare, tuttavia mi piacerebbe ancora di più poter progettare cose di alto livello e organizzare il team in modo da fare le cose e monitorare i loro progressi, aiutando nel contempo con la tecnica decisioni qua e là. Questo tipo di cose mi rende davvero felice, invece di stare seduto dietro una scrivania a scrivere codice tutto il giorno.

Ovviamente uno dei miei sogni principali è produrre da solo una sorta di software che alla fine possa esplodere e renderlo grande, e quindi iniziare a assumere una squadra e fare tutto da solo, ma sento che le possibilità che ciò accada sono molto peggiori piuttosto che alterare un po 'il mio percorso di carriera per arrivare dove voglio andare. Sento di poter ottenere la stessa soddisfazione facendolo per un datore di lavoro piuttosto che per me stesso. Anche se non mi sono mai sentito così prima, penso che sia stato principalmente perché non sto facendo quello che VERO VERAMENTE voglio fare.

Suggerimenti, suggerimenti o cose da tenere a mente? Chiunque abbia fatto proprio questo, e se sì, come hai fatto?


Che tipo di educazione hai? Da quanto tempo sei nella tua posizione attuale?
Thomas Owens

Ho una laurea in informatica. Sono stato nella mia posizione attuale per circa un anno.

1
@slandau Vorrei esplicitamente dire che non stai cercando di entrare in un ruolo di PM. mentre quello può apparire come la direzione ovvia; la tua descrizione e i desideri differiscono da un ruolo di PM e non credo che un ruolo di PM sarà quello che stai cercando.
Aaron McIver,

1
@AaronMcIver Dipende da dove lavori. Alcuni PM sono affari, altri PM sono di natura più tecnica. In alcuni luoghi, "responsabile tecnico" potrebbe essere un titolo più comune o, in altri, potrebbe essere semplicemente "ingegnere software".
Thomas Owens

2
Bene, innanzitutto, rinuncia alla tua anima ... :-)
Paul Tomblin,

Risposte:


41

Passare da un ruolo di sviluppo software a un ruolo manageriale o di leadership è qualcosa che richiede tempo. Mi sono laureato in ingegneria del software, sottolineando il processo di ingegneria del software e mi sono laureato in gestione aziendale e comunicazione. Anche con quell'esperienza accademica su come gestire i progetti software, come assumere e assumere, come guidare i team e come comunicare verbalmente e per iscritto con i gruppi, ho scoperto che la maggior parte dei ruoli manageriali e di leadership, specialmente nel settore che desideravo per lavorare, ho bisogno di oltre 5 anni di esperienza nell'ingegneria del software (ne ho avuti 2, tra cui cooperative e stage).

Nel frattempo, ho semplicemente continuato i miei studi su argomenti di gestione del progetto.

La prima cosa che consiglierei è diventare un buon comunicatore e negoziatore. Scopri come avere le conversazioni che contano. Anche come sviluppatore, ci sono decisioni che devono essere prese, con colleghi, clienti e utenti. A volte devi avere conversazioni difficili e raggiungere un accordo a beneficio di tutti. Non è un obiettivo facile, ma il libro Conversazioni difficili: come discutere di ciò che conta di più è uno che consiglierei a questo proposito. Ce ne sono altri, come Superare No e Arrivare a Sì: negoziare un accordo senza dare ciò sarebbe utile. Questi sono rilevanti indipendentemente dalla posizione in cui ti trovi.

Dal punto di vista più tecnico, la comprensione del ciclo di vita dello sviluppo del software è importante per guidare e gestire i team del software. Le posizioni dirigenziali probabilmente significano che sei coinvolto nell'ingegneria dei requisiti, nell'architettura del sistema software, nella progettazione, nell'implementazione, nei test e nella garanzia della qualità e nelle attività di manutenzione. Anche se non puoi essere un esperto in tutti questi, un manager o un leader deve almeno capirli tutti. Come sviluppatore, probabilmente svolgi la maggior parte del tuo lavoro in progettazione, implementazione e manutenzione, anche con alcuni test. Consiglio vivamente libri come Requisiti software (e relativo compagno, Ulteriori informazioni sui requisiti software ), Software Architecture in Practice (anche se la mia università è passata aArchitettura dei sistemi software: lavorare con le parti interessate Utilizzando punti di vista e prospettive dopo che ho seguito il corso di architettura, e mi è stato consigliato), e metriche e modelli nell'ingegneria della qualità del software .

Dal punto di vista della gestione del progetto, è possibile conoscere i modelli e le metodologie di processo. Esistono metodi agili, come Scrum ed Extreme Programming e metodi guidati dal piano come Waterfall e Spiral. Esistono anche framework metodologici, come CMMI e il processo software personale / processo software di gruppo. Quelli che sono rilevanti per te dipendono da dove lavori, in termini di settore e società. Esistono numerosi libri su varie metodologie e framework, ma consiglio vivamente lo sviluppo rapido: programmi di domare Wild Software per la gestione generale dell'ingegneria del software e il processo di ingegneria del software.

Se si desidera continuare la propria formazione, è possibile esaminare più di una traccia di gestione tecnica rispetto a più di una traccia di gestione aziendale. Se si desidera una posizione di gestione tecnica, guardare ingegneria del software, gestione dell'ingegneria del software e programmi di gestione dell'ingegneria. Per più di una traccia di gestione aziendale, puoi prendere in considerazione programmi MBA, gestione aziendale o alcuni programmi di gestione ingegneristica che hanno una forte componente economica o finanziaria.


1
Sì, ma come si passa effettivamente dall'ingegnere del software senior al manager? Voglio dire, supponendo di sentirmi come se conoscessi tutte le cose che hai elencato sopra, cosa devo fare ora per dimostrare che posso farlo considerando che non ho esperienza di ruolo di manager ufficiale e solo la sensazione di sapere davvero tutte quelle cose? Come si fa a fare questo passo?
Trusktr,

19

Queste altre risposte sono ottime, ma aggiungerò $ 0,02. Mi sono trasferito da uno sviluppatore junior nella mia attuale azienda attraverso i ranghi a senior developer e quindi team leader e ora architetto. Ci sono voluti diversi anni. Ogni volta che mi è stata data una promozione era perché stavo già facendo degli aspetti del lavoro, e il mio management lo stava solo riconoscendo e mi ha dato il titolo appropriato. Quindi il mio consiglio è di non aspettare di sapere che sei un capo tecnico o un manager. Basta iniziare ad assumersi le responsabilità delle persone in quei ruoli. Dopo alcuni mesi o un anno scoprirai che stai praticamente facendo il lavoro che stai prendendo di mira e puoi segnalarlo alla tua direzione se non se ne sono accorti.


2
Sono stato licenziato per aver fatto esattamente quello che hai detto in una compagnia (e quel manager che mi ha licenziato in seguito ha lasciato anche la compagnia). Non era una buona scelta. Sembrava sempre una lotta per raggiungere le prime posizioni in azienda, molto competitivo ed egocentrico. È molto meglio essere in un'azienda in cui quando le persone prendono l'iniziativa per cercare di realizzare cose più grandi di quanto non abbiano fatto prima, ricevono supporto, incoraggiamento e direzione da coloro che sono già più alti.
Trusktr,

9

Non tenterò di fornire una risposta completa poiché Thomas Owens ha già elencato alcuni consigli davvero validi (+1 a quello).

Volevo solo aggiungere alcuni suggerimenti / suggerimenti:

  1. Non aspettare che qualcuno ti faccia guidare; inizia a farlo. Non intendo andare contro il tuo attuale capo, ma prendere l'iniziativa per aiutarlo. Se il tuo capo è qualcosa come il mio, di solito è sovraccarico di troppi compiti / incontri nel suo piatto. Se vede che stai fornendo indicazioni in cui potrebbe non avere abbastanza tempo per tenere il passo, molto probabilmente sarà più che felice di delegarti una responsabilità di gestione a te. Nel tempo, se lo fai nel modo giusto, il tuo capo ti delegherà sempre di più (meno per lui di cui preoccuparsi) e molto probabilmente ti supporterà nell'assumere più responsabilità fino al punto in cui sei il capo ufficiale.
  2. Tieni presente che il team building e la leadership riguardano più la sociologia che la tecnologia (da uno dei più famosi libri di metodologia del software, forse Brooks). Come obiettivo, l'obiettivo è comprendere le persone e il loro comportamento, il che è molto diverso dalla comprensione del funzionamento dei computer. Senza questa consapevolezza, i bravi ingegneri portano alcuni dei peggiori team leader perché non fanno questo cambio mentale e si rendono conto che non puoi controllare le persone nello stesso modo in cui controlli le macchine. In effetti, l'unico approccio che sembra funzionare non è affatto controllare le persone ma dare loro una direzione. Leggi, leggi e continua a leggere libri / articoli / blog sulla leadership. Un libro che potrei raccomandare è Management 3.0

... e ora vado a rivedere i link pubblicati da Thomas



Questo è un cattivo consiglio, suggerendo che qualcuno fa qualcosa che il loro capo non gli ha chiesto di fare, la maggior parte dei capi aggrotta le sopracciglia sulle persone che fanno cose che non gli è stato chiesto di fare.
Professore di programmazione il

Ho risposto a questa domanda 5 anni fa, quando ero uno sviluppatore. Ora tornando ad esso, riesco a leggerlo dal punto di vista di un manager. @Bonner - hai ragione. ci sono manager diversi con stili diversi là fuori. Alcuni ti aggrediranno se fai qualcosa che non ti è stato detto di fare. In tal caso, il mio consiglio è scappato da quel manager. Da quando sono diventato un leader, tutto ciò che ho fatto è insegnare ai miei ragazzi a pensare in modo indipendente e rendermi sostituibile. Chiedo a ciascuno di bilanciarsi tra la focalizzazione ristretta dei suoi compiti ma anche di guardare avanti e vedere un quadro più ampio.
DXM

5

Personalmente non desidero lasciare la mia posizione attuale al momento, ma a seconda di dove ci troviamo nel ciclo di rilascio, passo dal 10% a quasi il 100% del mio tempo in attività diverse dalla codifica. Se sei paziente e attento, ci sono molte opportunità che puoi cogliere per fare qualcosa di diverso dal "solo codice" nella tua posizione attuale. Per esempio:

  • Volontariato per guidare un nuovo membro del team.
  • Diventa un esperto di nuovi strumenti, processi o tecnologie che l'azienda sta valutando di adottare.
  • Volontario per i comitati interfunzionali.
  • Parla delle idee che hai.
  • Invita te stesso a organizzare riunioni per le prossime funzionalità.

Fai sapere al tuo manager che sei interessato a questo tipo di opportunità e, supponendo che tu stia andando bene con le tue attuali responsabilità, guiderà le opportunità verso di te quando si presentano. L'iniziativa conta molto. La maggior parte dei manager ti lascerà almeno osservare anche se non pensa che tu sia qualificato al momento.


4

Se vuoi passare a un ruolo di gestione del progetto, non fa assolutamente male prendere lezioni notturne e lavorare per il tuo MBA.

Un'altra opzione sarebbe quella di esaminare la certificazione del Project Management Body of Knowledge di PMBOK . Molti posti non ti prenderanno in considerazione a meno che tu non abbia alcuni anni di esperienza di leadership effettiva o uno dei due elementi sopra elencati.

Il PMBOK è un test estremamente difficile e richiede un sacco di studi per superarlo. Penso anche che abbiano requisiti per la gestione effettiva del progetto e l'esperienza di leadership solo per essere idonei a sostenere il test.


3
Forse sono solo io, ma tenderei verso una laurea in ingegneria del software o una laurea in ingegneria, specialmente se volessi andare in direzione tecnica o leadership. Ho visto gli ingegneri ottenere un MBA e essere spinti nella parte aziendale di un programma software, non in realtà gestendo o guidando gli ingegneri.
Thomas Owens

@ThomasOwens, questa è una buona nota. Sono sempre stato riluttante a ottenere un MBA poiché non ero sicuro che si sarebbe tradotto nella maggior parte dei luoghi tecnici o meno.
slandau,

L'esame PMP non è poi così difficile.
Morons,

@Morons Sto andando avanti su ciò che alcuni PM mi hanno raccontato della loro esperienza, non l'ho mai preso da solo. Ma ora che ci penso queste due persone non erano poi così brillanti.
maple_shaft

2

Mi sembra che potresti voler lavorare per la gestione dei progetti. Un gran numero di posizioni PM nello sviluppo del software richiede anche esperienza di codifica.

Cercherei posizioni in cui puoi crescere nelle responsabilità che ti porteranno la nave di gestione / leader che desideri. Salendo la scala, può apparire diverso in base al modo in cui le cose funzionano dove lavori. Ma anche con minori quantità di esperienza di programmazione, le posizioni PM sono disponibili se si dispone di esperienza di leadership o gestione.


Questo è stato affermato nella domanda originale: "... che tipo di cose o opportunità dovrei cercare che mi aiuterà a far progredire la mia carriera verso un ruolo più manageriale, piuttosto che un ruolo di codifica ...". @slandau è in cerca di consigli su come farlo.
Thomas Owens

1
Si, sono d'accordo. Hai qualche consiglio su come iniziare a lavorarci?
slandau,

Sì, ho accidentalmente premuto il pulsante post prima di farlo.
D ..

@D .., ho una certa esperienza di leadership, ma è stato tutto su progetti collaterali e progetti che ho fatto al college ... non sono sicuro che sia abbastanza. È?
slandau,

Molto probabilmente no, vuoi orientarti verso qualsiasi esperienza professionale che ti dia questo. Potresti trovare più facile lavorare per un ruolo di sviluppatore senior in alcuni luoghi. Vorrei tenere d'occhio le posizioni aperte facendo quello che vuoi, guardare i requisiti e cogliere tutte le opportunità che puoi per ottenere quelle più comuni. La maggior parte dei posti in cui ho lavorato sono stati piccoli e mi hanno permesso di passare ordinatamente al livello successivo senza troppi sforzi. Guarda il tuo attuale lavoro ... puoi trasferirti lassù? Forse hai un percorso definito da dove ti trovi ora che puoi sfruttare.
D ..
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.