Lo sviluppo software può adattarsi benissimo a un cervello con ADHD: rompicapi difficili, riscontri rapidi e, ogni tanto, sei ore di fila in cui tutto torna. Può anche essere un campo minato di digressioni senza fine, branch lasciati a metà, notifiche continue e stime sbagliate di un fattore tre. Ecco cosa dice la ricerca, e cosa aiuta.

Cosa sappiamo degli sviluppatori con ADHD?

Non quanto dovremmo, ma sempre di più.

In uno studio di caso qualitativo del 2024 su persone con ADHD che lavorano nell'ingegneria del software, Grischa Liebel e colleghi hanno trovato che i partecipanti avevano difficoltà a organizzare i compiti e a fare stime, a mantenere l'attenzione sul lavoro e a lavorare con gli altri, e riferivano anche un carico sulla salute fisica e mentale. Hanno descritto però anche veri punti di forza: più creatività, buoni risultati nei problemi simili a rompicapi e la capacità di pensare in anticipo a come si incastrano i sistemi (Liebel et al., 2024).

Uno studio precedente in una grande azienda di software ha unito interviste a ingegneri neurodivergenti (comprese persone con ADHD) e un sondaggio su 846 ingegneri, per capire cosa li frenasse sul lavoro e come i datori di lavoro potessero aiutarli (Morris et al., 2015).

E per gli sviluppatori in generale, un sondaggio su 379 professionisti ha trovato che le persone si sentono produttive quando completano i compiti senza interruzioni o cambi di contesto significativi, anche se l'osservazione ha mostrato che di contesto ne cambiano parecchio (Meyer et al., 2014). Con l'ADHD è più difficile riprendersi da quei cambi, quindi proteggersene ripaga due volte.

Come evitare che le digressioni si mangino la giornata?

Cerchi un messaggio di errore. Quaranta minuti dopo stai leggendo la storia di un framework che non userai mai. La curiosità è un punto di forza, e ha bisogno di un recinto.

  • Metti un limite di tempo alla ricerca. «15 minuti per trovare la risposta, poi chiedo a qualcuno o provo un'altra strada.» Imposta un timer che puoi vedere.
  • Scrivi prima la domanda. Una riga: «Perché il redirect del login va in loop su Safari?». Quando una pagina non aiuta a rispondere, chiudila.
  • Parcheggia, non seguire. Interessante ma non c'entra? Salva la scheda in una lista «più tardi» e chiudila. Venerdì sarà ancora interessante.
  • Riconosci i segnali: cinque schede di profondità, stai leggendo qualcosa che non cercavi, hai dimenticato la domanda di partenza. È il momento di rileggere il tuo obiettivo.

Come riprendersi dalle interruzioni?

In uno studio su circa 10.000 sessioni di programmazione registrate, Chris Parnin e Spencer Rugaber hanno trovato che solo circa 1 sessione su 10 riprendeva a modificare il codice entro un minuto da un'interruzione, e che solo nel 7% dei casi chi programmava iniziava a modificare senza prima navigare qua e là per ricostruire il contesto (Parnin & Rugaber, 2011). Rientrare nel codice richiede tempo, e un cervello con ADHD può perdere del tutto il filo.

Lascia una traccia prima di ogni cambio:

  • Una nota di una riga: «Prossimo: gestire il caso null in parseUser, poi rilanciare i test di autenticazione».
  • Un test che fallisce e che indica cosa stavi per fare.
  • Un commento TODO alla riga esatta, o un commit di lavoro in corso con il passo successivo nel messaggio.

È l'idea del piano «pronto a riprendere» che viene dalla ricerca sul lavoro: pianificare brevemente il ritorno prima di cambiare attività ha ridotto il residuo attentivo e migliorato il rendimento nel compito che interrompeva (Leroy & Glomb, 2018). Altro sulle interruzioni in come concentrarsi al lavoro con l'ADHD.

Come si inizia un ticket grande?

Un ticket come «Implementare l'SSO» è un muro. Riducilo finché il primo passo non è ovvio e piccolo:

  1. Leggi il flusso di autenticazione esistente e scrivi tre punti elenco su come funziona.
  2. Aggiungi un test che fallisce per il primo redirect.
  3. Fai passare quel test.

Il primo passo dovrebbe richiedere minuti, non ore. Se non riesci a vederlo, il divisore di compiti ti prepara una lista di passi da spuntare, e in come iniziare un compito con l'ADHD trovi il metodo completo.

Perché le stime sono così difficili, e cosa aiuta?

Molte persone con ADHD fanno fatica a percepire quanto tempo è passato o quanto richiederà qualcosa (altro in strumenti per la cecità temporale). Le stime nel software sono difficili per tutti; l'ADHD aggiunge uno strato.

  • Stima i piccoli passi, non il ticket. «3 passi × 1 ora» è più onesto di «mezza giornata».
  • Stima, poi verifica. Scrivi la tua stima prima di iniziare e il tempo reale quando finisci. Dopo qualche settimana conoscerai il tuo moltiplicatore personale.
  • Aggiungi un margine di proposito, e dillo ad alta voce: «Stimo due giorni, e storicamente sono ottimista.»

E l'iperfocus?

Programmare può innescare lunghi tratti profondi di iperfocus, che possono essere meravigliosi o mangiarsi la cena, il sonno e il ticket di cui avresti davvero dovuto occuparti. Puntalo sul compito giusto, imposta due sveglie (un preavviso e uno stop) e lasciati una nota con il prossimo passo prima di fermarti. Altro in iperfocus e ADHD.

Come impostare il tuo ambiente?

  • Notifiche spente durante i blocchi di concentrazione. Controlla la chat e le revisioni del codice a orari fissi.
  • Uno schermo per il compito, con solo le finestre che servono.
  • Il suono scelto di proposito: rumore o musica strumentale, non canzoni con il testo, quando leggi o scrivi codice (musica per concentrarsi con l'ADHD).
  • La programmazione in coppia può funzionare come il body doubling per i compiti difficili o noiosi.

Fonti

  • Liebel, G., Langlois, N., & Gama, K. (2024). Challenges, strengths, and strategies of software engineers with ADHD: A case study. Proceedings of the 46th International Conference on Software Engineering: Software Engineering in Society, 57–68. doi.org/10.1145/3639475.3640107
  • Morris, M. R., Begel, A., & Wiedermann, B. (2015). Understanding the challenges faced by neurodiverse software engineering employees. Proceedings of the 17th International ACM SIGACCESS Conference on Computers & Accessibility, 173–184. doi.org/10.1145/2700648.2809841
  • Meyer, A. N., Fritz, T., Murphy, G. C., & Zimmermann, T. (2014). Software developers' perceptions of productivity. Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, 19–29. doi.org/10.1145/2635868.2635892
  • Parnin, C., & Rugaber, S. (2011). Resumption strategies for interrupted programming tasks. Software Quality Journal, 19(1), 5–34. doi.org/10.1007/s11219-010-9104-9
  • Leroy, S., & Glomb, T. M. (2018). Tasks interrupted: How anticipating time pressure on resumption of an interrupted task causes attention residue and low performance on interrupting tasks and how a "ready-to-resume" plan mitigates the effects. Organization Science, 29(3), 380–397. doi.org/10.1287/orsc.2017.1184

Questo articolo offre informazioni generali, non consigli medici. Se pensi di poter avere l'ADHD, o stai pensando di cambiare la tua terapia, parlane con un professionista sanitario qualificato. Come facciamo ricerca e scriviamo.

Provalo ora

Scrivi il compito che stai evitando. Ottieni piccoli passi da spuntare.

Dividi un compito in mini passiAggiungi a Chrome

DoppiNow è un'estensione per Chrome che ti dà XP quando ti concentri e un bonus quando ritorni. Non blocca mai un sito. 7 giorni gratis.