Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capitolo Leadership #231

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions docs/it/leadership.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# TecnoLeadership

### LA GRATIFICAZIONE RITARDATA
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Forse avete giocato a FIFA. Oppure a PES, o ad un altro gioco di calcio. Se questo è il vostro caso, conoscete _quella sensazione_. Sapete cosa provate quando fate gol, soprattutto se farlo è stato difficile, ha richiesto tanto impegno, se la squadra avversaria era forte e vi siete dovuti mettere alla prova con tutte le vostre forze.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Le/I developer provano una sensazione simile, ogni volta che risolvono un problema. Ogni volta che il loro codice _funziona come vogliono_. Per quanto i sistemi informatici siano complessi, per quanto anche un singolo programma possa esserlo, se qualcosa non funziona chi sviluppa sa che _il computer ha ragione_. Magari non riesce subito a capire perché, ma sa che sta facendo qualcosa di sbagliato. Ha un feedback immediato, e può rimettersi al lavoro per comprendere cosa non sta girando e perché, e sistemarlo.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Ecco, questa dal punto di vista di chi scrive è la più grande differenza tra un mestiere come quello della developer e quello di una manager.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Quando decidiamo di passare ad un ruolo manageriale, entriamo in contatto con dei sistemi ancora più complessi da prevedere: le Persone e le Organizzazioni di Persone. Improvvisamente, il feedback smette di essere immediato, e i risultati delle nostre azioni li vediamo ad una distanza di tempo enormemente più grande (certo, se insulto deliberatamente un collega probabilmente avrò subito un feedback negativo circa la mia azione, ma converrete che si tratta di un caso limite - ed anche in quel caso potremmo sorprenderci circa l’imprevedibilità delle reazioni umane).

Quella sensazione del “gol”, del momento liberatorio, quella voglia di urlare di soddisfazione, quel meccanismo di ricompensa, semplicemente nel mestiere del manager non c’è. È rimandata nel tempo, e questo è il primo aspetto su cui tendo a mettere in guardia una persona che da un ruolo tecnico vuole passare a quello manageriale.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

Potreste esclamare: “Ma ci sono dei momenti tremendamente esaltanti nella carriera manageriale, soprattutto quando le cose vanno bene!”, ed è certamente vero, ma è comunque una sensazione diversa. Quando, durante la prima esperienza di fundraising io e il team con cui lavoravo siamo arrivati a chiudere l’accordo con i finanziatori, la nostra idea era di festeggiare in stile “Champions League appena vinta”. In realtà, eravamo talmente stanchi dopo le lunghe ore dal notaio, e talmente perplessi circa i termsheet complessi che avevamo dovuto studiare ed apprendere in tempi brevi, che la sensazione fu sì di grande soddisfazione, ma comunque non “esplosiva”.
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

A livello neurologico, questo meccanismo è ben documentato: quando completiamo un task con successo, il nostro cervello rilascia dopamina, il neurotrasmettitore responsabile di quella sensazione di realizzazione e piacere. Non a caso, i game designer più bravi usano con caparbietà questa dinamica cerebrale nella creazione dei loro videogiochi, per tenerci agganciati e spingerci a continuare a giocare.

Primo avvertimento quindi: il feedback non è immediato, né quando è positivo né quando è negativo.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Primo avvertimento quindi: il feedback non è immediato, né quando è positivo né quando è negativo.
> Primo avvertimento quindi: il feedback non è immediato, né quando è positivo né quando è negativo.


Prendete una decisione oggi, e non sapete di preciso quando e che risultati otterrete.


### DIVERSI TIPI DI LEADER TECH
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Altro punto da chiarire: cos’è, ma soprattutto cosa fa un “leader” in ambito tecnologico? Se proviamo a supportarci con le etichette e i job title, stiamo pur certi di rimanere confusi. CTO, Engineering Manager, VP of Engineering, Head of, Tech Leader, Staff Engineer, Principal Engineer - aggiungete a piacere ed attribuite a ciascuno un significato piuttosto arbitrario.
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Fatto questo, traslate la vostra mappatura in un’altra azienda, e vi renderete conto di dover ricominciare da capo.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Due criteri che chi scrive ritiene più utile adottare per definire meglio la tipologia di “tech leadership” sono:

1. Il livello di astrazione rispetto alla materia prima, cioè ai dettagli implementativi ed operativi necessari per rendere concrete le idee da realizzare

2. La trasversalità ed ampiezza degli argomenti da toccare

**Nota bene**: no, il “numero di persone a riporto” non lo metto tra i parametri. Sia perché detesto il termine “riporti” (ricorda uno stile manageriale che sicuramente funzionava bene nei film di Fantozzi ma non nel nostro contesto), sia perché la quantità di persone di un team dovrebbe essere frutto di un ragionamento molto ampio che complicherebbe inutilmente la descrizione.

Partendo dai due concetti espressi si può arrivare ad un’altra distinzione chiave tra un ruolo tecnico ed uno manageriale:

- Un/a developer in un contesto sano dovrebbe mantenersi in uno stato di flow più lungo possibile concentrandosi unicamente sul codice per lunghi periodi di tempo, e magari su una stessa regione del dominio applicativo (si, lo so, nella pratica accade di rado - ma stiamo ragionando di un _contesto sano_, no?)
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

- Una persona con un ruolo manageriale non può adottare lo stesso approccio, ma deve accettare sia un context switching frequente tra compiti anche molto diversi che anche una visione più ampia a livello di domini ed ambiti di azione
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

Qui urge un disclaimer: “visione più ampia”, non equivale a “meglio”, e non equivale a “persona di livello più importante”. Ritengo che per garantire un approccio costruttivo nel mondo tecnologico sia necessario uscire da questi stereotipi o bias inconsci. Ne parlerò meglio nella sottosezione relativa al Dual Ladder.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Qui urge un disclaimer: “visione più ampia”, non equivale a “meglio”, e non equivale a “persona di livello più importante”. Ritengo che per garantire un approccio costruttivo nel mondo tecnologico sia necessario uscire da questi stereotipi o bias inconsci. Ne parlerò meglio nella sottosezione relativa al Dual Ladder.
Qui urge un disclaimer: “visione più ampia”, non equivale a “visione migliore”, e non equivale a “essere una persona di livello più importante”. Ritengo che per garantire un approccio costruttivo nel mondo tecnologico sia necessario uscire da questi stereotipi o bias inconsci. Ne parlerò meglio nella sottosezione relativa al Dual Ladder.


Visione più ampia significa livello di zoom diverso, guardare le cose dall’alto. Questo non è necessariamente più semplice, e non è necessariamente più difficile.

Immaginiamo di essere su un elicottero. Un buon leader deve sapersi muovere su più “aree geografiche” assicurandosi che ciascuna di esse si mostri armoniosa ed in buone condizioni. In alcuni casi è necessario scendere di quota e osservare più da vicino - e raramente l’elicottero dovrebbe atterrare. Quando se ne presenta bisogno, l’intento non è solo quello di “risolvere un problema”, ma soprattutto gettare le basi affinché tale intervento non sia più necessario in futuro.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

Vediamo come classificare dei possibili “ruoli” di leadership in relazione ai diversi livelli di astrazione e trasversalità - ma ricordiamoci che non sono regole o dogmi, anche se un pò di standardizzazione potrebbe aiutare in fase di recruiting e comprensione tra aziende diverse:

- **Tech Leader**
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- È uno/a sviluppatore di elevata seniority e capacità tecnica - la sua astrazione dal codice e dall’operatività non è totale, il suo ambito e trasversalità riguardano l’intero dominio applicativo del team in cui lavora.

- Il suo ruolo è quello di garantire la qualità del codice e delle scelte tecnologiche del suo team, sia scrivendo codice che soprattutto assicurandosi che le altre persone del team lo facciano nel migliore dei modi.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- Non ha persone formalmente a riporto, ma deve indubbiamente guadagnarsi il rispetto e la fiducia dei suoi compagni di squadra grazie alla sua autorevolezza. Rispetto ad un Senior Developer, in ogni caso, il suo ruolo gli conferisce anche l’autorità per prendere delle decisioni (limitatamente all’ambito tecnico) nel momento in cui il team non dovesse riuscire a farlo in autonomia.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- **Engineering Manager**
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- È una figura manageriale - anche se in alcuni contesti gli Engineering Manager scrivono ancora codice, chi scrive ritiene che non dovrebbe essere il caso in un team del tutto funzionale; il focus di questi ruoli deve essere sulle Soft Skills
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

- La trasversalità è più ampia di quella di un Tech Lead o di un developer, in quanto la conoscenza deve estendersi sugli ambiti di dominio di tutti i team gestiti

- Il suo ruolo è quello di People Manager degli sviluppatori di uno o più team - è inevitabile che debba conoscere le tematiche tecnologiche, soprattutto in ottica di comprensione delle complessità che i tecnici affrontano nel day by day, ma la sua missione principale è assicurarsi che le dinamiche nei suoi team funzionino bene. Imperativi in questo senso sono i 1:1 con tutte le persone del Team nonché un forte allineamento con i Tech Lead e (nel caso ci siano), i Product manager
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Cadienvan marked this conversation as resolved.
Show resolved Hide resolved

- Da organigramma, le persone dei team che gestisce sono formalmente a suo riporto

- **VP (o Head of) of Engineering**
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- Il livello di astrazione aumenta; un tipo di figura di questo tipo non ha senso che sia coinvolta nella scrittura o nella revisione diretta di codice
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- La trasversalità è ampia: tendenzialmente questa figura deve avere una vista sull’intero dominio ingegneristico aziendale

- Questo tipo di figura ha senso quando l’organizzazione diventa complessa, e ci sono diversi Engineering Manager con tanti team di sviluppo, ciascuno dei quali ha un prodotto (o una fetta di prodotto) da gestire e portare avanti

Ho volutamente tenuto fuori il CTO (o CIO o chiamatelo come preferite), perché dal mio punto di vista questa figura è ancora diversa e non legata esclusivamente alla parte di Engineering. Questo è un altro bias molto frequente. In questo caso il livello di astrazione è ancora più alto e la trasversalità si estende ai processi dell’intera azienda, sia per quanto riguarda la cosiddetta “digitalizzazione” dell’organizzazione che anche per tutte le qustioni finanziarie ed amministrative, nonché gli allineamenti con gli executive ed il board o, in caso di aziende che richiedono finanziamenti, coinvolgimento in fase di fundraising.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ho volutamente tenuto fuori il CTO (o CIO o chiamatelo come preferite), perché dal mio punto di vista questa figura è ancora diversa e non legata esclusivamente alla parte di Engineering. Questo è un altro bias molto frequente. In questo caso il livello di astrazione è ancora più alto e la trasversalità si estende ai processi dell’intera azienda, sia per quanto riguarda la cosiddetta “digitalizzazione” dell’organizzazione che anche per tutte le qustioni finanziarie ed amministrative, nonché gli allineamenti con gli executive ed il board o, in caso di aziende che richiedono finanziamenti, coinvolgimento in fase di fundraising.
Ho volutamente tenuto fuori il CTO (o CIO o chiamatelo come preferite), perché dal mio punto di vista questa figura è ancora diversa e non legata esclusivamente alla parte di Engineering. Questo è un bias molto frequente. In questo caso il livello di astrazione è ancora più alto e la trasversalità si estende ai processi dell’intera azienda, sia per quanto riguarda la cosiddetta “digitalizzazione” dell’organizzazione che anche per tutte le qustioni finanziarie ed amministrative, nonché gli allineamenti con gli executive ed il board o, in caso di aziende che richiedono finanziamenti, coinvolgimento in fase di fundraising.

Prima di questo punto non mi pare si parli di altri bias. Si potrebbe rimuovere "altro" secondo me. Che ne pensi?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ho volutamente tenuto fuori il CTO (o CIO o chiamatelo come preferite), perché dal mio punto di vista questa figura è ancora diversa e non legata esclusivamente alla parte di Engineering. Questo è un altro bias molto frequente. In questo caso il livello di astrazione è ancora più alto e la trasversalità si estende ai processi dell’intera azienda, sia per quanto riguarda la cosiddetta “digitalizzazione” dell’organizzazione che anche per tutte le qustioni finanziarie ed amministrative, nonché gli allineamenti con gli executive ed il board o, in caso di aziende che richiedono finanziamenti, coinvolgimento in fase di fundraising.
_Nota_: ho volutamente tenuto fuori il CTO (o CIO o chiamatelo come preferite), perché dal mio punto di vista questa figura è ancora diversa e non legata esclusivamente alla parte di Engineering. Questo è un altro bias molto frequente. In questo caso il livello di astrazione è ancora più alto e la trasversalità si estende ai processi dell’intera azienda, sia per quanto riguarda la cosiddetta “digitalizzazione” dell’organizzazione che anche per tutte le qustioni finanziarie ed amministrative, nonché gli allineamenti con gli executive ed il board o, in caso di aziende che richiedono finanziamenti, coinvolgimento in fase di fundraising.



### DUAL LADDER
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Nel paragrafo precedente ho esplicitato come il tema della “visione più ampia” che generalmente un manager ha o dovrebbe avere non debba essere visto come una sorta di “aumento di livello di competenza”.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Nel paragrafo precedente ho esplicitato come il tema della “visione più ampia” che generalmente un manager ha o dovrebbe avere non debba essere visto come una sorta di “aumento di livello di competenza”.
Nel paragrafo precedente ho esplicitato come il tema della “visione più ampia” che generalmente un/a manager ha o dovrebbe avere non debba essere visto/a come una sorta di “aumento di livello di competenza”.


Per reiterare l’importanza di questo concetto tengo a parlare di un punto molto caro a chi scrive: il principio del dual ladder. In ambito tecnologico fatico a vedere un approccio diverso che possa avere successo. Partiamo da tre concetti chiave da tenere a mente:
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

- Il software engineering ricade nell’ambito di _knowledge work_, in cui le competenze specialistiche sono estremamente variegate e complesse.

- Un manager non potrà mai essere un _superset_ delle conoscenze di tutto il suo Team, e qualora ciò dovesse accadere allora la prima domanda da porsi sarebbe “quali sono le carenze del Team?”
EMCestari marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Un manager non potrà mai essere un _superset_ delle conoscenze di tutto il suo Team, e qualora ciò dovesse accadere allora la prima domanda da porsi sarebbe “quali sono le carenze del Team?”
- Un manager non potrà mai essere un _superset_ delle conoscenze di tutto il suo Team, e qualora ciò dovesse accadere, allora la prima domanda da porsi sarebbe “quali sono le carenze del Team?”

Un piccolo dettaglio: con la virgola mi sembra la frase scorra meglio.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Un manager non potrà mai essere un _superset_ delle conoscenze di tutto il suo Team, e qualora ciò dovesse accadere allora la prima domanda da porsi sarebbe “quali sono le carenze del Team?”
- Un/a manager non potrà mai essere un _superset_ delle conoscenze di tutto il suo Team, e qualora ciò dovesse accadere allora la prima domanda da porsi sarebbe “quali sono le carenze del Team?”


- Le skill manageriali sono notevolmente diverse da quelle richieste ad un tecnico (di nuovo, non più o meno complesse - _diverse_) ed il tempo per formarsi è limitato per tutti, ergo bisogna scegliere.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Le skill manageriali sono notevolmente diverse da quelle richieste ad un tecnico (di nuovo, non più o meno complesse - _diverse_) ed il tempo per formarsi è limitato per tutti, ergo bisogna scegliere.
- Le skill manageriali sono notevolmente diverse da quelle richieste a un ruolo tecnico (di nuovo, non più o meno complesse - _diverse_) ed il tempo per formarsi è limitato per tutti, ergo bisogna scegliere.


Tradizionalmente, in molte aziende si sono visti schemi di crescita lineari o piramidali, in cui “prima si parte dal lavoro operativo, poi si diventa bravi a farlo e allora si può diventare manager di altri”.

Questo approccio può funzionare in alcuni casi, soprattutto quando il lavoro operativo è sufficientemente semplice e ripetibile da essere “insegnato” da un singolo esperto ad un team più junior, che a quel punto può essere coordinato.

Ma nell’ambito tecnologico, a causa dei due principi visti prima, questo approccio non scala.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Quello che un buon manager dovrebbe fare è creare un ambiente in cui le competenze specialistiche possano brillare, generare valore ed evolvere insieme alle Persone che le coltivano.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Quello che un buon manager dovrebbe fare è creare un ambiente in cui le competenze specialistiche possano brillare, generare valore ed evolvere insieme alle Persone che le coltivano.
Quello che un/a buon/a manager dovrebbe fare è creare un ambiente in cui le competenze specialistiche possano brillare, generare valore ed evolvere insieme alle Persone che le coltivano.


Alcuni tecnici _non_ vogliono diventare manager, e fanno bene a perseguire il loro sogno di carriera: diventare sempre più bravi nella loro area di competenza!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Alcuni tecnici _non_ vogliono diventare manager, e fanno bene a perseguire il loro sogno di carriera: diventare sempre più bravi nella loro area di competenza!
Ci sono persone che lavorano come tecnici/che _non_ vogliono diventare manager, e fanno bene a perseguire il loro sogno di carriera: diventare sempre più bravi/e nella loro area di competenza!


Da un punto di vista aziendale, se si crede in questi presupposti, è importante creare un sistema incentivante anche per chi non vuole crescere in un percorso manageriale. Le figure tecniche devono sentire riconosciuto e premiato il loro continuo perfezionamento, a prescindere dal fatto che rimangano “individual contributor”. Quando parlo di sistema incentivante intendo ovviamente un percorso di carriera, che possa portare alle stesse soddisfazioni (anche a livello retributivo) di un manager di pari livello; sono sempre le competenze e il valore portato all’azienda che dovrebbero fungere da discriminante, non il job title.
EMCestari marked this conversation as resolved.
Show resolved Hide resolved

Il Dual Ladder è una buona soluzione a questo punto, in quanto prevede dei “livelli” di crescita sia per le figure tecniche che per quelle manageriali; molti partono da una base comune ed operativa e poi si biforcano, il che è comunque sensato perché anche un manager di persone Tech deve conoscere la lingua ed il modo di lavorare di quel tipo di Team - guai a mettere un manager generalista in un ruolo di Engineering Manager.
Loading