Categorie
Sviluppo di software

Dal diario di uno sviluppatore: la trasformazione (non sempre spontanea) da ingegnere a manager

Alcune aziende prendono i loro migliori programmatori e li promuovono a manager, senza alcun corso di formazione o altro tipo di preparazione. Li aspetta una sorpresa sgradevole.

Chiunque abbia passato la propria vita professionale forgiando determinate competenze, trovandosi a dover gestire diagrammi di Gantt, tempistiche, cartellini, controversie e soprattutto un team riadatterà spontaneamente queste competenze per risolvere i problemi del nuovo ruolo. Fortuna vuole che questo genere di compiti ne sia pieno, e vuole anche che non sia proprio il genere di problemi che il manager fresco di nomina dovrebbe risolvere, secondo l’organizzazione.

Gli sviluppatori che diventano dirigenti, devono modificare il loro pensiero logico e iniziare a sviluppare capacità di leadership e di negoziazione. Foto: geralt
Gli sviluppatori che diventano dirigenti, devono modificare il loro pensiero logico e iniziare a sviluppare capacità di leadership e di negoziazione. Foto: geralt

Gli ingegneri sono abituati a separare nettamente ciò che è corretto e sbagliato, sono abituati a fallimenti e successi quantificabili, limiti ben definiti, test falliti per i propri standard. E, soprattutto, sono abituati ad analizzare in modo logico qualunque aspetto poco chiaro, per esempio, di una conversazione: cose come politiche interne, la pubblicazione di report su un ROI non proprio positivo e il lato oscuro della gestione risorse per loro sono assolute novità.

Le caratteristiche comuni a ingegneri e software manager sono evidenti, ma si tratta solo di una parvenza molto superficiale. La competenza di cui un software manager ha bisogno più di frequente è la leadership, e meno le abilità tecniche. Questo comprende il modo in cui trasmettono la loro esperienza tecnica ai novizi, come guidano i neoassunti, e come mantengono il loro team concentrato sulle cose che possono migliorare in ogni momento, facendo al tempo stesso attenzione al resto.

Un buon software manager è…

… profeta di costi contenuti  e risultati ottenibili

C’è una bella differenza tra fare una stima per obiettivi noti e piani dettagliati di marketing per idee che devono ancora prendere una forma concreta nelle profondità della mente del produttore.
Questo è uno di quei compiti che faranno scoprire al manager di avere una seconda personalità da accanito scommettitore. Coordinare il ciclo di sviluppo di un prodotto con marketing e fiere è infatti un esercizio di statistica e telepatia: un software manager deve saper vedere oltre ciò che gli viene richiesto e capire cosa può essere raggiunto entro la prossima deadline, e così rimodellare realtà e aspettative. Ma senza una guida, la prima risposta di un ingegnere neo-manager potrebbe essere semplicemente “no”.

…sostenitore del “più galli nel pollaio”

Questo è un aspetto fondamentale, ed è uno dei motivi per cui gli ex ingegneri sono degli ottimi software manager. La fretta iniziale di un singolo sviluppatore (per quanto siano buone le sue intenzioni) nel preparare una nuova funzione spesso si traduce nell’inserimento di quest’ultima nel prodotto, senza ulteriori test o considerazioni. E’ un approccio indubbiamente allettante, ma quando o se il codice non è sostenibile queste funzioni causeranno tanti di quei bug da costare all’azienda centinaia di volte in più in termini di reputazione e assistenza, e un ingegnere lo sa per esperienza. Sa anche come evitarlo, da manager, adottando il metodo “del villaggio”.

Il novello software manager ha raggiunto la nuova posizione probabilmente dopo aver perfezionato le sue competenze nel campo, quindi con tutta l’esperienza e conoscenza ottenuta codificando. E’ uno tosto, ma lo sviluppo è un’industria in costante trasformazione: motivo per cui, mentre l’ingegnere non perde le conoscenze tecniche acquisite, un mancato aggiornamento significa che queste diminuiranno col passare del tempo. E’ di primaria importanza accettare che il team tenga le redini del successo tecnologico del prodotto, anzi, forse la prima cosa che il nuovo manager dovrebbe imparare è allentare la presa sulla tecnologia e assumere una posizione di guida e supporto per le persone che la creano.

…Non è un robot

La capacità di relazionarsi, immedesimarsi e saper conversare potrebbe sembrare quasi scontata, ma spesso non lo è. Il nuovo software manager potrebbe aver bisogno di una guida proprio per il lato meno tecnico del management.

Gli impiegati hanno famiglia, problemi di salute, questioni in sospeso con altri impiegati, magari non sono soddisfatti del loro percorso lavorativo o personale, o magari avrebbero voluto essere promossi loro a manager. Il nuovo manager potrebbe avere bisogno di formazione su ciò che possono dire e non, fare e non. Proprio come i suoi diretti collaboratori ha dei limiti, ed è importante conoscerli. Niente lo aiuta più di un occhio attento e una certa esperienza su cosa aspettarsi e come gestirlo.

Potrebbe non sapere ciò che i capi vogliono, o potrebbe ricevere istruzioni tanto contrastanti da perdere la testa. Potrebbe trovarsi in un momento di crisi interiore, crisi di uno degli impiegati, avere una scadenza che abbatte il morale del team, o persino il dispiacere di sapere che uno di loro sta per lasciarli. E’ questa la loro vita, con i suoi alti e bassi.

La formazione è quindi di immenso valore a lungo termine sia per l’azienda che per il nuovo manager, soprattutto quando è un ingegnere, specialista di un insieme del tutto diverso di competenze che hanno bisogno di riallocazione per l’utilizzo manageriale.

Per maggiori informazioni su Nuix, clicca qui.