Il tuo calendario è pieno di stand-up e code review. I messaggi su Slack arrivano tutto il giorno, e il ticket difficile aspetta fino a sera.
Questa guida al deep work per ingegneri del software mostra come preparare e iniziare un blocco. Vedrai come restarci dentro, come rientrare dopo un’interruzione e dove vanno review e riunioni.
Perché il deep work è così difficile per gli sviluppatori senior?
Come sviluppatore senior, la tua giornata appartiene ad altre persone: stand-up, code review, domande del team, Slack. Il lavoro difficile, come debugging, design e refactoring, richiede lunghi periodi, e la giornata li offre di rado. Nel 2019 l’azienda di software Tidelift e il sito di notizie The New Stack hanno condotto un sondaggio.
Quasi 400 partecipanti hanno stimato il loro tempo di lavoro. Scrivere codice nuovo o migliorare quello esistente occupava il 32 per cento, e riunioni, gestione e attività operative il 23. Tidelift ha pagato il sondaggio, e nessuno ha misurato le ore.
Quindi non aspettare una settimana tranquilla. Il cuore del deep work per sviluppatori è l’unità più piccola: un blocco di lavoro concentrato.
In questo articolo, un blocco è un periodo a tempo di lavoro concentrato su un obiettivo. Se il deep work è nuovo per te, comincia dal significato di deep work.
Prima del blocco: prepara schermo, stanza e corpo
Quel blocco inizia prima che tu apra l’editor. Chiudi tutto ciò che potrebbe interromperti mentre lavori. L’ordine qui sotto è solo un suggerimento.
- Telefono: spegnilo e mettilo in un cassetto in un’altra stanza.
- E-mail e Slack: chiudili per primi, poi ogni app che non serve per questo ticket. Attiva la modalità Non disturbare.
- Browser: chiudi tutte le schede, oppure apri una finestra solo per questo ticket. Salva le schede che vuoi tenere in una cartella di preferiti.
- Carta: usa un foglio di protocollo per obiettivo e passi. Per i pensieri estranei al compito, usa un foglio dei pensieri.
Di’ alle persone che ti scrivono spesso quando non sei raggiungibile. Sii concreto: “Non sono disponibile per i prossimi 45 minuti, a meno che la casa non stia andando a fuoco.” Se sei reperibile, concorda con il tuo team quali emergenze valgono come casa in fiamme.
Se la chat non si ferma mai, leggi l’articolo sulla protezione dei blocchi di deep work dalle notifiche di Slack. Per concordare regole comuni come team, leggi quello sul deep work per i team. Anche la stanza e il corpo fanno parte della preparazione.
Avvio: niente musica, un timer, un obiettivo del blocco
Finita la preparazione, l’avvio richiede tre passi: decidere sulla musica, impostare il timer, scrivere l’obiettivo. Poi inizia il lavoro.
Musica: meglio senza
Lascia perdere la musica. Sembra un aiuto alla concentrazione, ma consuma attenzione che ti serve per il compito. Tieni le cuffie come scudo contro il rumore, senza niente in riproduzione.
Non sei convinto? Fai un blocco con musica e uno senza, poi confronta i risultati. Leggi di più sull’effetto della musica sulla concentrazione.
Timer: impostalo in base alla tua energia di oggi
Poi imposta il timer da 15 a 90 minuti, a seconda della tua energia di oggi. Nel dubbio, comincia più breve. Puoi sempre continuare a lavorare dopo che suona.
I tuoi blocchi non devono avere la stessa durata, perché la tua energia cambia durante la giornata. Per capire perché la durata segue la tua energia, leggi l’articolo sulla durata di una sessione di deep work.
Obiettivo: trasforma il ticket in un obiettivo del blocco
Poi prendi il foglio di protocollo e scrivi in alto l’obiettivo finale, per esempio “Il timeout del login è risolto.” Sotto, scrivi l’obiettivo del blocco. È ciò che vuoi concluso alla fine di questo blocco, scritto come già fatto.
| Ticket o compito | Obiettivo del blocco, scritto come fatto |
|---|---|
| Correggere un bug | La causa del timeout del login è trovata |
| Fare il refactoring di un modulo | Il modulo dei pagamenti è diviso, i test passano |
| Scrivere un design doc | La sezione delle opzioni del design doc è abbozzata |
| Revisionare una pull request grande | I commenti sul modello dei dati sono pubblicati |
Rendilo ambizioso ma raggiungibile. Un obiettivo troppo grande ti sovraccarica, e uno troppo piccolo ti lascia senza slancio.
Non sai come iniziare? Scrivi il primo piccolo passo come tua prossima azione.
Dentro il blocco: tre strumenti per il flow, i pensieri estranei e il prossimo passo che manca
Una volta scritto l’obiettivo, tre strumenti coprono tre situazioni. Usa quello che ti serve, in qualsiasi ordine. Idealmente il lavoro scorre da solo, e ti serve solo il primo.
- Flow: il lavoro va bene. Continua, anche oltre il timer, e non annotare nulla.
- Parcheggio dei pensieri: compare un pensiero estraneo al compito. Scrivi una parola chiave sul foglio dei pensieri, poi torna al foglio di protocollo.
- Filo: non sai più a che punto sei del compito, o cosa viene dopo. Scrivi il prossimo mini passo sul foglio di protocollo.
Alcune distrazioni sembrano lavoro: un post di blog su una libreria software, una veloce pulizia in un altro file. Se non aiuta questo obiettivo del blocco, scrivilo sul foglio dei pensieri.
Sei bloccato su un bug? Descrivi il problema in una frase, poi scrivi il passo successivo più piccolo. Se non funziona niente, passa a un’altra parte dello stesso compito.
Come rientri dopo un’interruzione?
Rientri più in fretta quando un blocco finisce con una nota: il tuo ultimo passo e il prossimo.
Nel 2009 la ricercatrice di management Sophie Leroy ha condotto due esperimenti sul passaggio da un compito all’altro. Le persone facevano fatica a staccare l’attenzione da un compito non finito, e andavano peggio nel compito successivo. Leroy ha chiamato questo effetto residuo di attenzione: una parte della tua attenzione resta indietro.
Gloria Mark studia le interruzioni, e il suo team ha osservato 36 persone per tre giorni. Alcune erano sviluppatori software. In un’intervista del 2006 ha detto che il lavoro interrotto veniva ripreso in media dopo 23 minuti e 15 secondi.
Lascia quella nota a ogni stop. Richiede tre passi:
- Fermati. Se il timer suona e non sei nel flow, fermati adesso.
- Annota il prossimo passo. Sul foglio di protocollo, scrivi una frase: il tuo ultimo passo e il prossimo.
- Confronta con l’obiettivo del blocco. L’hai raggiunto, in parte o per niente? Constatalo e basta. Non giudicare.
Usa la stessa nota quando qualcuno ti tira fuori durante un blocco. In una vera emergenza, scrivi prima la nota, poi vai.
Per le persone e i messaggi che interrompono i tuoi blocchi, leggi l’articolo sulle interruzioni durante il deep work.
Dove vanno code review, riunioni e Slack?
Code review, riunioni e Slack vanno tra i tuoi blocchi, ordinati in base all’energia che richiedono. Il programmatore Paul Graham ha spiegato come una sola riunione possa spezzare un pomeriggio:
«Una singola riunione può far saltare un intero pomeriggio, perché lo spezza in due parti, ciascuna troppo piccola per farci qualcosa di difficile.» (tradotto)
Paul Graham, Maker’s Schedule, Manager’s Schedule (2009)
Quindi raggruppa le riunioni dove puoi, e tieni libero un lungo periodo per i tuoi blocchi. I tuoi blocchi non devono iniziare esattamente alle 9:00 o alle 10:00. Alcune persone preferiscono un orario fisso, e altre si sentono sotto pressione.
Poi ordina il resto in base all’energia: fai il lavoro impegnativo quando hai energia e quello più facile quando cala. Una grande review che richiede tutta la tua attenzione può essere un blocco a sé con obiettivo, come nella tabella. Una review veloce trova posto quando la tua energia cala.
Tieni Slack ed e-mail fuori dalla pausa, e controllali prima che inizi il blocco successivo. Se le riunioni riempiono già la tua settimana, comincia dall’articolo sul deep work con troppe riunioni. Per scoprire quanto ci sta in un giorno, leggi l’articolo sulle ore di deep work al giorno.
Domani, dai a un ticket un blocco tra le tue riunioni, con la chat chiusa e l’obiettivo su carta. Un blocco protetto può portare quel ticket più avanti di un intero pomeriggio passato a saltare da una cosa all’altra. Scopri come funziona →
FAQ
Come posso migliorare le mie abitudini di deep work come sviluppatore?
Migliori le tue abitudini di deep work come sviluppatore ripetendo un blocco a tempo di lavoro concentrato. I primi blocchi non saranno perfetti: dimenticherai dei passi o ti distrarrai comunque. Le cose migliorano a ogni blocco, e dopo qualche settimana i passi diventano routine.
Gli sviluppatori hanno bisogno di app speciali per il deep work?
Gli sviluppatori non hanno bisogno di app speciali per il deep work. L’app Orologio integrata su un computer Mac o Windows funziona come timer. Funziona anche un timer meccanico da cucina, e non ha né schermo né app.
Gli sviluppatori hanno bisogno di una mattina libera per il deep work?
Gli sviluppatori non hanno bisogno di una mattina libera per il deep work. Un blocco da 45 minuti conta come deep work, e in una giornata puoi farne entrare diversi. Secondo me, tre blocchi concentrati da 45 minuti valgono più di otto ore di lavoro a mezza concentrazione.
