Un giorno nella vita di un manager di ingegneria

Pubblicato: 2022-03-11

Durante gli otto anni trascorsi come manager di ingegneria, ho regolarmente monitorato il modo in cui ho trascorso il mio tempo. In qualità di responsabile dell'ingegneria di avvio, ero responsabile di un'ampia gamma di compiti, quindi tenere traccia delle aree in cui ho trascorso la maggior parte del tempo mi ha aiutato a pianificare e programmare in modo appropriato.

Ad esempio, sapevo che in genere passavo circa un terzo del mio tempo ad aiutare il mio team a risolvere problemi tecnici o ad accoppiarmi con i compagni di squadra. Sapendo questo, ho riservato loro alcuni blocchi di tempo gratuiti. Se la mia intera settimana fosse piena di riunioni e pianificazione generale, diventerei un ostacolo per il mio team che ha bisogno del mio contributo su questioni specifiche.

Dal momento che molti potenziali manager di ingegneria del software mi chiedono del mio lavoro e cosa comporta, ho deciso di creare questo sguardo dettagliato su come ho trascorso il mio tempo. Sebbene ogni azienda e ruolo sia diverso, spero che questo post ti dia una visione di prima mano di una giornata nella vita di un manager di ingegneria.

Cosa fa un responsabile tecnico?

Innanzitutto, un po' sui miei ruoli come manager di ingegneria: il mio primo ruolo dirigenziale è stato in Packback, una piattaforma di domande e risposte per professori universitari.

Sono entrato a far parte del team quando c'erano solo quattro persone in azienda; eravamo essenzialmente io e i fondatori. Nei tre anni successivi, ho visto l'azienda raccogliere quasi 5 milioni di dollari e crescere fino a quasi 30 persone. Il mio team di ingegneri era piuttosto snello - ce n'erano cinque quando me ne sono andato nel 2016 - ma il mio ruolo è cambiato un po' nel corso dei miei anni con l'azienda.

Dopo aver lasciato Packback per entrare a far parte di The Graide Network, ho ricominciato da capo come responsabile tecnico. Inizialmente, il mio team era solo un appaltatore e me, ma durante i miei quattro anni in Graide ho assunto altri tre ingegneri e ho assunto più compiti di gestione del prodotto.

Anche se il mio lavoro quotidiano è cambiato molto nel corso degli anni, in qualità di responsabile dell'ingegneria del software, ero in ultima analisi responsabile di aiutare il mio team a spedire software che funzionasse come previsto, nei tempi previsti e nel rispetto del budget.

La parola difficile è "aiutare". Cosa significa esattamente? Significa che un responsabile tecnico scrive codice? O si assicurano semplicemente che tutti i membri del loro team stiano scrivendo il codice?

La risposta breve è: dipende.

I responsabili ingegneristici devono essere tecnici

In genere, i responsabili dell'ingegneria scrivono meno codice rispetto agli sviluppatori senior del loro team, ma dovrebbero scrivere un po' di codice per mantenere affilate le proprie competenze. Devono anche essere bravi ad aiutare i membri del loro team a "sbloccarsi". A volte questo significa rispondere a domande tecniche e talvolta significa risolvere controversie tra i membri del team.

È probabile che i responsabili dell'ingegneria svolgano un ruolo nella formazione di nuovi ingegneri, oltre a valutare i candidati su basi tecniche e interpersonali.

I manager di ingegneria devono essere bravi con le persone

Essere "bravi con le persone" è un'etichetta difficile da inchiodare.

Molte persone danno per scontato che devi essere un estroverso per essere un manager efficace, ma non è necessariamente vero. Avere empatia per il tuo team e aiutarlo a superare le sfide, sia tecniche che personali, è uno dei compiti principali di un manager di ingegneria.

Ma anche i responsabili dell'ingegneria devono "gestire". Ciò significa che devono prestare attenzione ai migliori interessi del loro team quando il loro capo chiede loro un feedback e significa che potrebbero dover lasciare andare un membro del team se non stanno portando a termine il lavoro.

La parte più difficile della gestione ingegneristica

Quando sono passato al mio primo ruolo dirigenziale, la parte più difficile è stata adattare il mio metodo di autovalutazione. Nickolas Means lo ha detto bene nel suo fantastico pezzo sulla meta produttività per i manager:

Ogni tanto, ho un giorno in cui alzo lo sguardo dopo che l'ultimo incontro è terminato e mi sento come se non avessi fatto assolutamente nulla. Sono stato impegnato tutto il giorno: conversare, leggere documenti e fare il check-in con colleghi e membri del team. Sono esausto, ma non ho ottenuto nulla. Nickola significa

È stato relativamente facile per me dire quanto fossi stato produttivo come ingegnere del software. Di solito facevo progressi nella spedizione di una funzione o aprivo una richiesta pull, ma come manager ho avuto davvero difficoltà a capire se la mia giornata fosse produttiva o meno.

Ecco perché ho iniziato a monitorare il mio tempo. Sebbene il tempo dedicato a un'attività non sia una misura perfetta della produttività, mi ha aiutato ad assicurarmi di investire abbastanza tempo in ogni area del mio lavoro.

In che modo un manager di ingegneria trascorre il proprio tempo?

I responsabili dell'ingegneria tendono ad avere un'ampia gamma di responsabilità e queste responsabilità variano in base alle dimensioni e alla struttura organizzativa del datore di lavoro. Per aiutarti a vedere come un manager di ingegneria trascorre il suo tempo, ho suddiviso il mio tempo in quattro categorie:

  • Tecnico (35%)
  • Gestionale (35%)
  • Reclutamento (15%)
  • Amministrativo (15%)

In questa sezione vedrai come ho trascorso il mio tempo come manager di ingegneria. Offrirò un po' di compiti specifici in ogni area e perché era una parte importante del mio lavoro quotidiano.

Mentre ho tracciato il mio tempo in modo piuttosto rigido per i periodi della mia carriera manageriale di otto anni, ho deciso di arrotondare ogni categoria a un bel numero tondo per motivi di semplicità. Le ore esatte spese per ogni attività non sono il punto qui, ma ho trovato utile sapere se un'area ha avuto un picco in una settimana o è diminuita drasticamente in un'altra.

Tecnico

35% del mio tempo

Il lavoro tecnico include la scrittura di codice, le revisioni del codice, la ricerca di bug, l'associazione con i compagni di squadra e la lettura di aggiornamenti software e best practice. Man mano che i miei team crescevano, la quantità di tempo che dedicavo alla scrittura e alla revisione del codice è diminuita, ma penso che sia importante che i responsabili dell'ingegneria trascorrano almeno parte del loro tempo nel codice.

Gestionale

35% del mio tempo

Ciò include la gestione diretta del personale, la creazione di scadenze, la pianificazione strategica e le riunioni con i membri del team tecnico e non tecnico. Assicurarsi che il mio team fosse felice, sostenerlo durante le riunioni di lavoro e aiutare il nostro team di prodotto a creare specifiche tecniche facevano tutti parte dei miei compiti di responsabile tecnico presso Packback.

In The Graide Network, ho assunto un ruolo più strategico consultando i fondatori sulle scelte software e partecipando a importanti chiamate di vendita. È interessante notare che, mentre i compiti che ho assunto erano diversi, la suddivisione del tempo era piuttosto simile.

Reclutamento

15% del mio tempo

Il tempo di reclutamento includeva andare a conferenze, meetup e bootcamp di programmazione; scrivere post sul blog; incontro con i candidati al lavoro; e valutare gli screening tecnici.

Mentre dedicavo più tempo al reclutamento quando avevo un lavoro di ingegneria aperto, i manager di ingegneria intelligente assumono sempre . I migliori candidati sono solitamente quelli passivi che raramente cercano un lavoro, quindi ho passato una parte del mio tempo a confrontarmi con loro ogni settimana.

Amministrativo

15% del mio tempo

Infine, ho trascorso alcune ore alla settimana a leggere e scrivere e-mail, rispondere a domande in Slack, avere conversazioni casuali e fare "altre" cose quotidiane per supportare il mio team. In qualità di manager, ho cercato di mantenere questo tipo di distrazioni lontane dal mio team di ingegneri, ma ho programmato il tempo con i membri del team quando necessario.

Se il compito di un responsabile tecnico è rendere il proprio team il più produttivo possibile, è logico che la maggior parte del lavoro amministrativo ricada su di lui.

Cosa rende un buon manager di ingegneria?

Non credo di poterti dare tutto ciò che devi sapere sull'essere un buon manager di ingegneria in un solo post sul blog, quindi sceglierò solo le tre cose su cui mi concentro per prime.

1. Potenzia la tua squadra

Essere un buon manager significa aiutare gli altri a realizzare grandi cose.

Ciò significa che come manager, il tuo impatto è molto meno diretto e, quindi, non puoi passare tutto il tuo tempo a testa in giù nel codice. È stato frustrante per me vedere la mia lista di risultati settimanali ridursi, ma una volta che ho imparato ad accettare che la mia squadra stava facendo di più senza i miei contributi individuali, ho iniziato a godermi davvero il ruolo.

2. Comunicare troppo

Sia che il tuo team lavori in una stanza o lavori da remoto in tutto il mondo, il comunicatore è uno dei tuoi ruoli più cruciali come manager. Nel marketing, c'è l'idea che le persone debbano ascoltare il tuo messaggio sette volte prima di interiorizzarlo, e penso che questo si applichi anche alla comunicazione di gruppo.

Non sto dicendo che dovresti ripetere tutto sette volte nella stessa riunione, ma pensare a reiterare cambiamenti significativi negli incontri individuali, nelle impostazioni di gruppo, via e-mail e di passaggio. Il cambiamento fa paura, ma più le persone sentono parlare di qualcosa, meno tende ad essere spaventoso.

3. Sii la fonte della calma

Infine, in qualità di responsabile tecnico, il tuo ruolo è quello di "aspirare il caos":

“Ogni stanza in cui entri dovrebbe avere più certezza e un piano più solido quando la lasci. I buoni leader possono entrare in una situazione in cui le persone hanno perso di vista i loro obiettivi e allineare tutti su un chiaro percorso da seguire".

Non creare o perpetuare drammi, non dividere la tua squadra dal resto dell'azienda o mettere i membri della squadra l'uno contro l'altro. Invece, sii quello che assorbe l'incertezza e lo stress in modo che la tua squadra possa fare le cose.

Leggi articoli simili sul blog di Toptal Engineering.