Cosa rende un buon architetto / manager / sviluppatore capo?


12

Sono lo sviluppatore principale di una piccola azienda di software. Negli ultimi due anni, il mio team è passato da uno sviluppatore (me) a un gruppo di circa nove persone. Molti di noi sono ingegneri senior molto capaci (oltre 20 anni di esperienza nella costruzione di software per persona), quindi è generalmente necessaria una mano di presa molto ridotta. Usiamo Scrum per gestire i nostri sforzi e di solito facciamo molto rapidamente con requisiti scritti minimi.

Man mano che il team è cresciuto, ho raggiunto il punto in cui è difficile per me mantenere la supervisione tecnica sull'intero progetto mentre scrivo anch'io quantità significative di nuovo codice, quindi è tempo che io modifichi il mio ruolo. Come posso rendermi più utile alla squadra quando non passo più la maggior parte del mio tempo a sviluppare?

Il mio obiettivo è consentire al mio gruppo di crescere ulteriormente (ovvero aumentare la velocità di Scrum) aggiungendo più sviluppatori , quindi non voglio semplicemente diventare la "polizia dell'architettura" che impone la mia volontà alla squadra. In altre parole, voglio essere il ragazzo che aiuta le cose a funzionare meglio / più agevolmente, piuttosto che essere il ragazzo che rallenta le cose aggiungendo un inutile livello di burocrazia. Tuttavia, uno dei nostri principali rischi è che le cose andranno fuori controllo se aggiungiamo più persone senza avere una struttura sufficiente per tenerci tutti sulla stessa pagina.

Qual è il modo migliore per raggiungere il mio obiettivo?


6
Non sono sicuro che questa sia una risposta, ma vorrei che tu mantenga i team organizzati e personalizzi un po 'la tua gestione. Scopri a cosa stanno lavorando, tieniti aggiornato con quello su cui stanno lavorando, ecc. Quando non li organizzi come gruppo, prendi parte alle revisioni del codice, aiuta a scrivere moduli che richiedono un po 'di aiuto extra e magari passare del tempo con i singoli sviluppatori. Ho avuto un manager o due che non sono stati d'aiuto e non hanno fatto il check-in con noi per vedere come andavano le cose, ma non volevano sapere (sì, cattivo manager).
Simon Whitehead,

Penso che i ruoli che hai citato nel titolo abbiano tutti caratteristiche diverse e utilizzino un diverso insieme di abilità. Qual é?
Euforico,

3
I requisiti dettagliati e lo "strato burocratico non necessario" non sono gli stessi. I requisiti possono salvarti la vita soprattutto quando lavori con una grande squadra. Non sottovalutare il loro potere.
superM

Risposte:


12

Se fossi in una squadra come questa, cosa vorresti che il tuo capo facesse con il suo tempo?

  1. Rimuovere gli ostacoli al progresso.
  2. Controversie sui media tra i membri del team.
  3. Interagisci con uomini d'affari, quindi non è necessario.
  4. Tienici informati su quel livello di attività / progetto di livello superiore in modo da non sentirci isolati.
  5. Tienici onesti, soprattutto se / quando una mela cattiva entra nella squadra.
  6. Essere un sostenitore della squadra per altri dipartimenti.
  7. Sii la voce unificata del respingimento contro richieste commerciali irragionevoli.
  8. Facilitare la comunicazione tra il team.

Probabilmente c'è un mucchio che sto dimenticando, ma questo è il nocciolo. Non implementare il processo, gestire parte di quell'overhead / inefficienza che si sviluppa naturalmente all'aumentare delle dimensioni del team.


5
Non posso fare a meno di pensare che questo elenco sia orientato in modo molto negativo. Questo è come "proteggimi dalle cose cattive". Che dire dell'impatto positivo ?
Nicole,

1
@NickC Ho pensato che quanto sopra fa parte del lavoro del manager. Cosa intendi con impatto positivo ?
BЈовић,

2
@nickC eh, tendo ad avere una visione negativa delle cose, ma anche nella mia esperienza, ridurre l'impatto negativo ha il maggiore impatto positivo sulla produttività e sul morale di una squadra. Soprattutto se sei preoccupato di tormentare le persone con un processo.
Telastyn,

@NickC Sono completamente d'accordo con Telastyn, alla fine la sua lista potrebbe solo evidenziare cosa dovrebbero affrontare gli sviluppatori se non avessero un vantaggio tecnologico. Tuttavia, potrebbero essere aggiunti più punti positivi, vale a dire. "I responsabili della buona tecnologia hanno una visione generale della direzione tecnica del prodotto e si assicurano che il team lo capisca. Delegano le aree caratteristiche agli altri membri del team e lasciano che siano loro a prendere le decisioni. Riconoscono che i membri del loro team sono intelligenti, si fidano di loro, e fare affidamento su di essi per gestire parti significative del progetto ". vedi engineering.foursquare.com/2014/01/30/…
Adrien,

6

Non avrei problemi con un team leader in grado di bilanciare compiti manageriali e tecnici, ma è difficile trovare persone che riescano a gestire bene quell'equilibrio.

Se dovessi scegliere tra i due estremi da un team leader in un team in crescita ... è una scelta davvero difficile ma alla fine penso che vorrei che il team diventasse più un manager. In un team di dimensioni considerevoli, si spera che ci siano altri candidati che possano entrare nel ruolo di sviluppatore senior in grado di alimentare i nuovi membri del team e fare ancora un duro lavoro di sviluppo.

Ma in una squadra in crescita vorresti sicuramente anche un buon manager. In effetti, avere una brava persona con il titolo manageriale è importante perché vuoi che abbia abbastanza potere per prendere buone decisioni. Un buon manager ha una grande influenza sulla felicità di una squadra e proprio per i motivi che indichi; aiutandoli a mantenerli produttivi e utili per pensare come te. Ci sono molti manager che non danno il culo a un topo.

Consiglierei alcuni altri post qui su Programmers. Sebbene siano più orientati a un ruolo guida rispetto a un ruolo manageriale ufficiale, possono aiutare:

Passare al team leader

Come posso avere successo come sviluppatore principale?

Come guadagnare rispetto dei membri del team come responsabile del team?


"Un buon manager ha una grande influenza sulla felicità di una squadra": Penso che tu abbia ragione, ma questo solleva un'altra domanda "Può una squadra essere felice anche con un manager inutile?"
Adrien,

4

Penso che sia un equilibrio di questi tratti:

  • Competenza tecnica : non vuoi che qualcuno sia in grado di valutare la qualità del lavoro che dirige.
  • Auto-guidato : può definire obiettivi e non essere reattivo.
  • Sa capitalizzare il conflitto : il conflitto innesca conversazioni
  • Auto-didattica : non è importante che lui / lei sappia tutto, ma sappia imparare.
  • Buona attitudine ed energia : vuoi qualcuno che motiva e semplifichi il lavoro di tutti, non una diva che abbaia gli ordini.
  • Esperienza con fallimento : forse la più importante. Ho visto leader molto giovani che potrebbero non avere problemi con tutti i precedenti, ma al primo segno di fallimento congelano o evitano le responsabilità. L'anzianità non ha nulla a che fare con l'età, ma la giusta quantità della giusta esperienza e il fallimento è sicuramente qualcosa da considerare.

OTOH, l'intervista è una parte importante per ottenere la persona giusta, ti consiglio di porre le seguenti domande nell'intervista:

  • "Dimmi un progetto in cui hai riscontrato un fallimento, come lo hai gestito e cosa hai imparato da esso"
  • "Parlami di una volta in cui hai infranto le regole per fare le cose"
  • Applica il test Fizz Buzz , con qualsiasi leggera torsione che ti viene in mente.

Il test FizzBuzz è assolutamente d'obbligo, avere ragione o torto non è così importante come:

  • Il tempo impiegato per rispondere : 15 minuti in media, 30 min al limite ok,> 30 min NON OK
  • Se è in grado di eseguire il debug del proprio codice : una volta ho avuto un ragazzo con 15 anni di esperienza fare domanda per una posizione senior ... ha impiegato 40 minuti per completare il test ... in pseudocodice ... ottenuto è sbagliato e non sono riuscito a scoprire il perché. Ho avuto un altro caso in cui un altro ragazzo, ha trascorso circa 5 minuti a giustificarsi e non poteva accettare che si sbagliasse.

1
+1. Tutti devono sapere come imparare.
superM

Il test FizzBuzz è quello di eliminare le persone con il cosiddetto inertia of mind, vero? Dopo aver affrontato problemi complicati per un po ', la maggior parte di noi non vede soluzioni semplici per problemi semplici.
superM
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.