Seguitemi sul fediverso @fedi@blog.robutti.me

L'importanza di imparare le shortcut dei propri strumenti

Questo articolo suonerà come una banalità per alcuni e illuminante per altri, ma visto che una buona fetta dei programmatori che ho incontrato nella mia carriera probabilmente ricadrebbe nella seconda categoria, ho pensato di buttare giù due righe per sottolineare un concetto tanto fondamentale quanto trascurato.

Programmatori, sistemisti, ma anche ogni professionista che lavora col computer ha visto negli ultimi 40 anni una completa trasformazione delle interfacce grafiche, con una progressiva semplificazione e razionalizzazione degli strumenti messi a disposizione. Tuttavia negli strumenti complessi come una shell, un'IDE ma anche un editor come può essere Photoshop, la semplificazione si scontra regolarmente col numero elevato di azioni possibili in ogni dato momento. Perciò in questo contesto, semplificare, in passato così come ora, significa mettere un'azione dove gli utenti esperti se lo aspettano.

E gli utenti inesperti? Gli utenti inesperti arrivano con un bagaglio di esperienze e aspettative creato dalle interfacce di strumenti più semplici, dove la fase esplorativa raramente richiede la consultazione di un manuale o di un tutorial. Certo, sanno che da qualche parte ci sarà uno strumento di customizzazione, delle opzioni, magari un pannello per plugin ed estensioni varie.

Tuttavia gli strumenti per professionisti seguono logiche diverse e nel caso degli sviluppatori, queste logiche sono dettate spesso e volentieri dalle aspettative ed opinioni delle stesse persone che sviluppano gli strumenti in questione che sono sviluppatori tanto quanto utenti. La shortcut da tastiera (o vocale, se siete in quell'ambiente lì, dove sto lentamente entrando anche io) è la regina di queste interfacce, perché permette di registrare nella memoria muscolare delle mani una precisa azione, minimizzando il tempo, le battute e lo sforzo mentale necessario per eseguirla.

Il risultato è che l'utenza va a due velocità: quelli che sanno come esplorare i propri strumenti utilizzeranno lo strumento in maniera molto diversa e più efficiente rispetto a chi non sa farlo. Raramente esiste una via di mezzo: una volta appresa la metodologia per memorizzare a lungo termine un grande numero di shortcut, difficilmente ci si ferma.

A questo corrisponde una netta divisione tra chi sa usare le proprie interfacce e chi no: tra voi non saranno pochi quelli che, in ufficio, si mordono le labbra, le dita e altre varie appendici per non sbottare alla lentezza di un collega che torna ad inizio riga usando le frecce. Se non vi è mai successo, probabilmente quel collega siete voi.

Perché è importante imparare le shortcut? Nella mia esperienza, per due motivi: la prima è che riducono il carico mentale per eseguire una data azione, e la seconda è perché vi rendono più efficienti nel compierla. Partiamo da un esempio pratico: la shell. Molti programmatori ci spendono una porzione consistente della propria giornata lavorativa. I sistemisti probabilmente anche di più. Pensiamo ad un caso banale e forse un po' estremo: un junior che non sa usare in scioltezza l'auto-complete. Quante battute spreca ogni giorno? Centinaia? Forse migliaia? E quanto tempo perde a cercare il nome esatto di un file invece che lasciarlo fare alla macchina? Quanta energia mentale? Tutto quel tempo e quell'energia potrebbero esser spese in modo molto migliore se questa persona sapesse premere TAB al momento giusto. Per esempio potrebbero essere spese ad imparare un'altra shortcut.

Ora pensate a quante altre decine o centinaia di azioni ripetitive compiamo ogni giorno per cui esiste una shortcut. Pensate al tempo e all'energia che potreste risparmiare investendo nel padroneggiare i vostri strumenti o nello scoprirne di più potenti. Il tempo che nell'arco della vostra vita potete passare davanti alla tastiera non è infinito, anzi è piuttosto scarso rispetto all'immensità delle cose che ci sarebbero da fare. Imparare a spenderlo meglio vuol dire diventare programmatori migliori, sia al lavoro che, sopratutto, fuori.

Ora, sperando di avervi convinto dell'importanza di razionalizzare i vostri click, come fare per migliorare la vostra situazione? Vediamo di elencare alcuni punti fondamentali per stabilire una spirale virtuosa.

Prima di tutto, la prima cosa che si dice quando si tocca questo tema è che impararsi tante shortcut insieme non serve a niente. Il 90% le avrete dimenticate dopo pochi minuti. Imparatene una ogni due giorni, non di più. E per quei due giorni praticatela attivamente, costruite memoria muscolare, date un contesto alla shortcut così che diventi naturale richiamarla alla memoria quando serve.

Poi scegliete con cura le shortcut da imparare. Partite dalle cose di base: se non usate i tasti HOME e END, oppure il muoversi con ctrl+arrow, partite da quello. Imparate le shortcut del Desktop Environment e del browser. Poi passate alla shell e agli IDE. Il modo migliore per scegliere è, a metà giornata, ripercorrere all'indietro quello che avete fatto e valutare quella che secondo voi è l'azione più comune che avete fatto e che vi ha richiesto di spostare la mano sul mouse o che vi ha richiesto più di tre click.

Quando avrete fatto questo per un po' di volte, probabilmente sarete senza idee. Allora e solo allora avrà senso guardarsi le liste di shortcut dei software che utilizzate per concettualizzare azioni che per voi non erano così ovvie da inquadrare come una “cosa sola”. Esempio stupido: commentare un blocco di codice automaticamente oppure estrarre un valore in una variabile.

Fatelo con costanza e vedrete presto un notevole aumento della produttività. Quando sentirete di aver toccato un plateau in cui le shortcut che imparate finite per non utilizzarle con regolarità perché troppo di nicchia, allora il mio consiglio è di iniziare a guardarvi video di power user che utilizzano i vostri stessi strumenti oppure di confrontarvi con i colleghi che sapete essere sul vostro stesso percorso.

Io ho avuto questa realizzazione relativamente tardi durante la mia carriera universitaria, ma fortunamente sufficientemente presto da risparmiarmi chissà quante ore a battere sulla tastiera per niente. Il vostro tempo è prezioso e le vostra dita anche, così come quelle dei vostri colleghi. Se, una volta imparati un po' di trucchi, vedete un collega che segue gli stessi pattern che una volta avevate voi, indicategli GENTILMENTE i punti che ho toccato in questo articolo.

Che io lo so che poi voi andate lì dopo aver imparato a fare il multi-cursor in Intellij o Sublime e gli fate: “oh bro, guarda che mad trick, bro, te non lo sai fare bro, ke sfiguz xD”. Questo è un buon modo per annichilire qualsiasi volontà di spostarsi su un binario diverso. La padronanza degli strumenti nell'IT è spesso e volentieri causa di comportamenti e attitudini tossiche verso i neofiti. Se non sapete come affrontare la questione, linkategli direttamente il mio articolo.