JavaRush /Java Blog /Random-IT /Genio, programmatore, stratega, manager. Chi è un Tech Le...

Genio, programmatore, stratega, manager. Chi è un Tech Lead e come diventarlo?

Pubblicato nel gruppo Random-IT
Nel campo dello sviluppo software e nel settore IT in generale, ci sono molte posizioni che vengono chiamate in modo diverso, ma sono parzialmente o in gran parte simili nel contenuto del lavoro. Anche se parliamo di specialità direttamente correlate allo sviluppo, ci sono posizioni come sviluppatore senior, responsabile tecnico, architetto, responsabile dell'ingegneria e molte altre. Spesso ciò che fanno questi specialisti viene interpretato in modo diverso a seconda dell'azienda e del team. Cerchiamo, quando possibile, di analizzare ciascuna delle principali posizioni di questo tipo, descrivendone l'essenza, le competenze richieste e le prospettive generali. Genio, programmatore, stratega, manager.  Chi è un Tech Lead e come diventarlo?  -1Oggi è il turno dei Technical Lead. E c'è davvero molto di cui parlare qui, quindi cominciamo. Genio, programmatore, stratega, manager.  Chi è un Tech Lead e come diventarlo?  - 2

Chi è un leader tecnologico?

In breve, si tratta di uno degli sviluppatori più esperti dell'azienda, che gestisce il team di sviluppo ed è responsabile della qualità di tutto il lavoro tecnico sul progetto. Entrando un po' più nel dettaglio, una delle funzioni principali di un Tech Lead efficace è formulare una visione per la parte tecnica del progetto per il team di sviluppo e implementarla insieme agli altri membri del team. È qui che il ruolo di Tech Lead differisce da altre posizioni sovrapposte come Team Lead, Software Engineering Manager e Architect. Parleremo delle differenze un po' più in dettaglio più avanti. L'essenza della posizione di Tech Lead è intesa in modo diverso ovunque, e questo è normale, data la giovinezza dell'intero settore dello sviluppo e la sua costante trasformazione. Ecco cosa dice questoa Altri credono che i leader tecnologici siano manager di medio livello che originariamente erano normali sviluppatori. Ci sarà anche chi dirà che i responsabili tecnici sono solitamente semplicemente gli sviluppatori più esperti e potenti dell'azienda, che vengono nominati in questa posizione per il loro reale contributo alla parte tecnica del lavoro sul progetto. Per me, un responsabile tecnologico è qualcuno che ha una vasta esperienza come sviluppatore e ha già dimostrato la capacità di comunicare in modo efficace non solo con altri programmatori, ma con tutti gli altri, inclusi product manager, dirigenti aziendali, designer, inserzionisti e tutti gli altri." Molto completo.

Cos'è la funzione Tech Lead?

Il Tech Lead, che in diverse aziende può essere chiamato anche TechManager, Lead Platform Engineer, Head Architect of Development o qualcos'altro, a seconda della fantasia del management, è solitamente responsabile dell'implementazione della parte tecnica del progetto. Questa è la persona che ha l'ultima parola nel team di sviluppo ed è anche responsabile di errori e problemi nel progetto. L'essenza della funzione Tech Lead nell'azienda è stata riassunta molto bene da Amr Noaman, ideatore e capo dell'Agile Academy: "La responsabilità principale e principale di questa persona in qualsiasi organizzazione è l'implementazione tecnica del prodotto". In breve e più nello specifico, l’elenco delle principali funzioni di un Tech Lead “corretto” sarà più o meno questo:
  • Preparazione di una strategia per lo sviluppo tecnico di un progetto o parte di esso, adattamento e aggiustamento di questa strategia in base alle esigenze e alle circostanze.
  • Incoraggiare un sano dibattito e discussione all’interno del team e facilitare il processo decisionale.
  • Lavorare per eliminare problemi e fattori che potrebbero impedire ai membri del team di lavorare in modo efficace.
  • Identificare e trovare soluzioni ai problemi che si presentano durante il processo di sviluppo e, preferibilmente, prevedere ed eliminare le cause di questi problemi prima che si manifestino.
  • Delegare compiti e responsabilità per diverse parti del progetto ad altri membri del team.
Genio, programmatore, stratega, manager.  Chi è un Tech Lead e come diventarlo?  - 3

Le aziende IT hanno bisogno di leader tecnologici?

Come al solito nel settore, anche su questo tema non c’è consenso. Ad esempio, Vinicius Gomes, uno sviluppatore di ThoughtWorks, sostiene che la posizione di Tech Lead è spesso problematica e dovrebbe essere eliminata del tutto. Secondo lui, che gode di un sostegno piuttosto significativo nei circoli di sviluppo, questa posizione nella maggior parte dei casi implica una mole di lavoro per più persone, motivo per cui la struttura del team spesso ne soffre. Pertanto, secondo Gomez, è meglio eliminare del tutto la posizione di Tech Lead adeguando la struttura gestionale in modo che diversi membri del team di sviluppo possano distribuire tra loro ruoli diversi. Ciò consentirà al team di lavorare in modo più efficiente. Tuttavia, la maggior parte degli sviluppatori crede ancora che la posizione di Tech Lead sia necessaria e importante, a patto, ovviamente, che il tech lead conosca bene il lavoro e svolga correttamente le sue funzioni. Genio, programmatore, stratega, manager.  Chi è un Tech Lead e come diventarlo?  - 4

Che aspetto ha un buon responsabile tecnico?

Cerchiamo quindi di capire cosa dovrebbe essere un bravo e corretto Tech Lead e cosa può e deve dare alla squadra.
  • Organizzazione del lavoro efficiente e coordinato del team di sviluppo.

    Questo è ciò che la maggior parte delle persone pensa che sia il lavoro di un Tech Lead: fare tutto ciò che è necessario per garantire che il team di sviluppo svolga il proprio lavoro nel modo più efficace. In questo, le funzioni del Tech Lead si sovrappongono alle responsabilità del Team Lead e del Lead Engineer, con l'unica differenza che il Tech Lead deve essere responsabile del processo complessivo e dei risultati finali. Pertanto, avere un Tech Lead generalmente ha senso solo nei casi in cui il team di sviluppo è sufficientemente grande e il progetto su cui sta lavorando è piuttosto complesso e su larga scala.

    Il buon lavoro di un Tech Lead porta al fatto che l'intero team lavora correttamente e in armonia, come un unico meccanismo, consegnando il prodotto desiderato entro i tempi previsti.

  • Formazione di un team motivato di sviluppatori e management.

    Anche se a prima vista questo punto non è molto diverso dal precedente, in questo caso parliamo di quella parte dell'organizzazione del lavoro di squadra che riguarda la comunicazione tra i membri del team, la motivazione, il coaching e in generale tutto ciò che non vale al lavoro tecnico.

    Questa è la parte manageriale del compito e, allo stesso tempo, la parte che molti responsabili tecnici tendono ad evitare o non ritengono necessario prestarvi attenzione, perché la ritengono meno importante e secondaria. Tuttavia, la pratica dimostra che cose come la motivazione, l'approccio personale, il coaching, la motivazione e la creazione di un'atmosfera amichevole nella squadra svolgono ancora un ruolo abbastanza importante (anche se non possono compensare i problemi con la parte tecnica) e si riflettono nel risultato finale. risultato nel modo più diretto.

  • Coordinamento e bilanciamento degli sforzi.

    Coordinamento significa che non solo il team di sviluppo lavora in modo fluido ed efficiente, ma il suo lavoro è anche ben coordinato con gli altri dipartimenti. Per fare ciò, un Tech Lead efficace non deve solo comprendere le esigenze degli sviluppatori, ma anche essere in grado di guardare il lavoro attraverso gli occhi di altri specialisti dell’azienda.

  • Responsabile di tutti i successi e i fallimenti del team di sviluppo.

    Inoltre, un buon Tech Lead, essendo il principale stratega e tattico in una persona, sa assumersi la responsabilità sia dei successi nel lavoro che dei fallimenti o errori che inevitabilmente si presentano durante l'implementazione di un particolare progetto.

Cosa fa un buon Tech Lead e come diventarlo?

Andiamo ora un po' più nello specifico e osserviamo il lavoro svolto dai responsabili tecnici per raggiungere gli obiettivi discussi nella sezione precedente.
  • Metodologia di sviluppo.

    Quale dovrebbe essere esattamente la metodologia di sviluppo dipenderà in gran parte dagli obiettivi del progetto, dalle risorse a disposizione del team, dalle tempistiche, dalla gestione e da una serie di altri fattori. Ma sviluppare una metodologia è proprio uno dei compiti principali di un responsabile tecnico. È lui che decide quanto spesso devono essere rilasciate le nuove versioni, cosa dovrebbe essere implementato durante il prossimo sprint di sviluppo, ecc.

  • Pila tecnologica.

    Anche questo aspetto, estremamente importante per la buona riuscita complessiva del progetto, è di competenza del responsabile tecnico. Può includere un elenco di linguaggi di programmazione che verranno utilizzati per implementare il progetto, nonché framework, soluzioni di archiviazione dati, librerie, soluzioni QA, ecc.

  • Architettura del software.

    Quell'area in cui i poteri di un leader tecnico si intersecano direttamente con le responsabilità di un architetto del software, ma il Tech Lead in questo caso è più in alto di un normale architetto ed è responsabile delle decisioni finali e degli approcci ad esse.

  • Pianificazione interna e distribuzione delle aree di responsabilità.

    Il Tech Lead, in quanto persona responsabile del risultato finale, deve fissare le scadenze per la consegna di alcune parti del progetto e determinare le aree di responsabilità.

  • Tempistica delle nuove uscite.

    Nonostante il fatto che questa funzione di guida tecnica sia già stata menzionata nella sezione precedente, vale la pena evidenziarla come un elemento separato, perché la fissazione delle scadenze per le nuove versioni, di norma, gioca un ruolo molto significativo nella vita di qualsiasi progetto.

  • Politica di revisione del codice.

    Tutto ciò che riguarda la revisione e la revisione del codice, o più precisamente, la scelta degli approcci principali a questo processo, è anche di competenza del responsabile tecnico.

Prospettive salariali

E infine, la cosa più deliziosa: quanto guadagnano di solito gli specialisti nelle posizioni di Tech Lead o, in altre parole, uno dei motivi principali per cui ha senso (o non ha senso, decidi tu stesso) lavorare molto su te stesso e la tua crescita professionale, per poter un giorno crescere e diventare un leader tecnico orgoglioso e rispettato. Secondo il popolare portale Glassdoor, lo stipendio medio globale per le posizioni Tech Lead è di 78,6 mila dollari all'anno. Negli Stati Uniti, secondo l’autorevole risorsa PayScale, il leader tecnologico medio guadagna circa 101,4 mila dollari all’anno. Un'altra risorsa popolare, Salary.com, ci fornisce una cifra di 131mila dollari all'anno, con un range approssimativo compreso tra 118mila e 145,5mila dollari all'anno. Alle “nostre latitudini”, come probabilmente avrete già intuito, gli stipendi dei leader tecnici sono inferiori a quelli americani e leggermente inferiori alla media mondiale. Pertanto, secondo la risorsa DOU, in Ucraina nel dicembre 2019, il responsabile tecnico medio guadagnava circa 4.400 dollari al mese. In Russia, secondo la risorsa Trud.com, lo stipendio di un responsabile tecnico può arrivare fino a 400mila rubli al mese (5.600 dollari).
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION