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

41

Sono stato uno sviluppatore di software (a tempo parziale o a tempo pieno) per quasi 3 anni. Sono sempre stato il tipo di persona che ha quel talento per prendere il comando delle cose e fornire all'organizzazione le cose per fare le cose. Sin da quando ero al comando del mio progetto di senior design al college, sentivo che quella era la mia vera vocazione, non seduto dietro una codifica da scrivania. Ora, so che ho bisogno di capire come codificare gli altri sviluppatori per rispettarmi veramente. Inoltre, amo davvero la programmazione. Lavoro su molti progetti collaterali a casa al di fuori del lavoro, mi tengo aggiornato con le migliori pratiche di codifica e cerco continuamente di approfondire la mia conoscenza del dominio.

La mia domanda principale è, che tipo di cose o opportunità dovrei cercare, mi aiuterà a portare avanti la mia carriera in un ruolo più manageriale, piuttosto che in un ruolo di codifica. Come ho detto, amo programmare, tuttavia mi piacerebbe ancora di più per essere in grado di progettare le cose ad alto livello e organizzare la squadra in modo tale da fare le cose, e monitorare i loro progressi, mentre aiutando con le tecniche decisioni qua e là. Questi tipi di cose mi rendono davvero felice, invece di stare seduto dietro una scrivania che codifica tutto il giorno.

Ovviamente uno dei miei sogni principali è produrre una sorta di software per conto mio che alla fine esploderà e diventerà grande, e poi comincerò ad assumere una squadra e fare tutto da sola, ma sento che le probabilità che ciò accada sono molto peggio di alterare il mio percorso di carriera un po 'per arrivare dove voglio andare. Mi sento come se potessi ottenere quella stessa soddisfazione per un datore di lavoro piuttosto che per me. Anche se non mi sono mai sentito così, mi sento come se fosse principalmente perché non sto facendo ciò che voglio veramente fare.

Qualche suggerimento, suggerimento o cosa da tenere a mente? Chiunque abbia fatto proprio questo, e se sì, come l'hai fatto?

    
posta gnat 28.10.2011 - 15:48
fonte

6 risposte

40

Passare da un ruolo di sviluppo del software a un ruolo manageriale o di leadership è qualcosa che richiede tempo. Mi sono specializzato nell'ingegneria del software, sottolineando il processo di ingegneria del software e minorato nella gestione e comunicazione aziendale. Anche con quella esperienza accademica su come gestire i progetti software, come reclutare e assumere, come guidare i team e come comunicare con i gruppi verbalmente e per iscritto, ho scoperto che la maggior parte dei ruoli manageriali e di leadership, soprattutto nel settore che volevo lavorare, richiedere più di 5 anni di esperienza nell'ingegneria del software (ne avevo 2, incluse cooperative e stage).

Nel frattempo, ho semplicemente continuato i miei studi sugli 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 le conversazioni difficili e raggiungere un accordo che avvantaggia tutti. Non è un obiettivo facile, ma il libro Conversazioni difficili: come discutere di ciò che conta di più è uno che consiglierei che copre questo. Ce ne sono altri, come Come ottenere non passato e ottenere a Sì: Contratto di negoziazione senza rinuncia In questo sarebbe anche utile. Questi sono rilevanti indipendentemente dalla posizione in cui ti trovi.

Dal lato più tecnico, la comprensione del ciclo di vita dello sviluppo del software è importante per guidare e gestire i team di software. Le posizioni di leadership implicano probabilmente il coinvolgimento nell'ingegnerizzazione dei requisiti, nell'architettura del sistema software, nella progettazione, nell'implementazione, nella verifica e nell'assicurazione della qualità e nelle attività di manutenzione. Anche se non puoi essere un esperto in tutto questo, un manager o un leader deve almeno comprenderli tutti. Come sviluppatore, probabilmente esegui la maggior parte del tuo lavoro in progettazione, implementazione e manutenzione, con alcuni test. Consiglio vivamente libri come Requisiti software (ed è companion, Ulteriori informazioni sui requisiti software ), Architettura software in pratica (anche se la mia università è passata a Architettura dei sistemi software: lavorare con le parti interessate usando i punti di vista e le prospettive dopo aver preso la corso di architettura, e mi è stato consigliato), e Metriche e modelli nell'ingegneria della qualità del software .

Da una prospettiva di gestione del progetto, è possibile conoscere i modelli e le metodologie di processo. Esistono metodi agili, come Scrum e Extreme Programming e metodi pianificati come Waterfall e Spiral. Esistono anche strutture metodologiche, come CMMI e il Processo software personale / Processo software del team. Quelli che sono rilevanti per te dipendono da dove lavori, in termini di industria e azienda. Esistono numerosi libri su varie metodologie e framework, ma consiglio vivamente Rapid Development: Taming Wild Software Schedules per la gestione generale dell'ingegneria del software e il processo di ingegneria del software.

Se vuoi continuare la tua formazione, puoi guardare più a una traccia di gestione tecnica piuttosto che a una traccia di gestione aziendale. Se si desidera una posizione di gestione tecnica, consultare l'ingegneria del software, la gestione dell'ingegneria del software e i programmi di gestione tecnica. Per ulteriori informazioni su un percorso di gestione aziendale, puoi prendere in considerazione programmi MBA, gestione aziendale o alcuni programmi di gestione ingegneristica con una componente economica o finanziaria strong.

    
risposta data 28.10.2011 - 16:30
fonte
19

Queste altre risposte sono grandiose, ma io aggiungo $ 0,02. Mi sono trasferito da uno sviluppatore junior alla mia attuale azienda, passando per la posizione di sviluppatore senior e poi team lead e ora architetto. Ci sono voluti diversi anni. Ogni volta che mi è stata offerta una promozione è perché ero già a fare aspetti del lavoro, e la mia gestione stava solo riconoscendo quello e dandomi il titolo appropriato. Quindi il mio consiglio è di non aspettare che ti venga detto che sei un capo tecnico o un manager. Inizia ad assumere responsabilità che le persone in quei ruoli hanno. Dopo alcuni mesi o un anno, scoprirai che in pratica stai facendo il lavoro che hai scelto come bersaglio e puoi segnalarlo alla tua gestione se non l'hanno notato.

    
risposta data 28.10.2011 - 19:59
fonte
9

Non cercherò di fornire una risposta completa poichè Thomas Owens ha già elencato alcuni buoni consigli (+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 invece prendere l'iniziativa per aiutarlo. Se il tuo capo è come il mio, di solito è sovraccarico di troppe attività / riunioni nel suo piatto. Se vede che stai fornendo una direzione in cui potrebbe non avere abbastanza tempo per stare al passo, sarà molto probabilmente più che felice di delegare alcune responsabilità di gestione nei tuoi confronti. Nel corso del tempo, se lo fai bene, il tuo capo ti delegherà sempre di più (meno per lui di cui preoccuparsi) e sarà più probabile che ti supporti assumendoti maggiori 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ù popolari libri di metodologia software, forse Brooks). Come guida, l'obiettivo è comprendere le persone e il modo in cui si comportano, il che è molto diverso da capire come funzionano i computer. Senza questa consapevolezza, i bravi ingegneri fanno sì che alcuni dei peggiori team conducano perché non fanno questo passaggio mentale e si rendono conto che non è possibile controllare le persone nello stesso modo in cui controlli le macchine. In effetti, l'unico approccio che sembra funzionare non è controllare le persone ma dare loro una direzione. Leggi, leggi e continua a leggere libri / articoli / blog sulla leadership. Un libro che potrei raccomandare è Gestione 3.0

... e ora sono fuori per rivedere i link pubblicati da Thomas

    
risposta data 28.10.2011 - 19:34
fonte
4

Se vuoi entrare in un ruolo di project management, non fa assolutamente male prendere lezioni notturne e lavorare per il tuo MBA.

Un'altra opzione potrebbe essere quella di esaminare la certificazione PMBOK Project Management of the Knowledge . Molti luoghi non ti prenderanno in considerazione a meno che tu non abbia qualche anno di esperienza di leadership effettiva o uno dei due elementi sopra elencati.

Il PMBOK è un test estremamente duro e richiede MOLTO studio per superarlo. Penso anche che abbiano requisiti sulla gestione effettiva del progetto e sull'esperienza di leadership solo per essere idonei a sostenere il test.

    
risposta data 28.10.2011 - 16:12
fonte
4

Personalmente non ho alcun desiderio di lasciare la mia posizione attuale al momento, ma a seconda di dove ci troviamo nel ciclo di rilascio spendo dal 10% al quasi 100% del mio tempo su attività diverse dalla programmazione. Se sei paziente e attento, ci sono molte opportunità che puoi fare per fare qualcosa di diverso da "solo codifica" nella tua posizione attuale. Ad esempio:

  • Volontario per guidare un nuovo membro del team.
  • Diventa un esperto di nuovi strumenti, processi o tecnologie che l'azienda sta considerando di adottare.
  • Volontario per comitati interfunzionali.
  • Parla delle idee che hai.
  • Invitatevi a progettare riunioni per le prossime funzioni.

Lascia che il tuo manager sappia che sei interessato a questo tipo di opportunità e, presumendo che tu stia facendo bene con le tue attuali responsabilità, indirizzerà le opportunità verso di te quando arriveranno. L'iniziativa conta molto. La maggior parte dei manager ti permetterà almeno di osservare anche se non pensano di essere qualificato al momento.

    
risposta data 28.10.2011 - 16:35
fonte
2

Mi sembra che potresti voler lavorare per la gestione dei progetti. Un gran numero di postazioni PM all'interno dello sviluppo del software richiede anche esperienza di codifica.

Cercherò posizioni in cui puoi crescere in responsabilità che ti daranno la gestione / la nave leader che desideri. Salendo la scala, può sembrare diverso in base a come le cose funzionano dove stai lavorando. Ma anche con piccole quantità di esperienza nella codifica, le posizioni PM sono disponibili se hai esperienza di leadership e gestione.

    
risposta data 28.10.2011 - 15:52
fonte

Leggi altre domande sui tag