The Pragmatic Programmer – Andrew Hunt, David Thomas

 

The Pragmatic Programmer è un capolavoro degli anni ’90 firmato Andrew Hunt e David Thomas. E’ uno dei libri tecnici per lo sviluppatore software più acclamati di sempre, dalla stampa di settore e da numerosi esperti (Fowler, Beck, Ruland, per citarne alcuni). Cos’ha di tanto speciale questo libro?

Partiamo dal presupposto che il libro oggigiorno vanta ben 17 anni. Unico difetto dell’approcciarsi ad esso oggi sono alcuni micro-argomenti qua e là tra i vari capitoli. L’effetto è inevitabile ma assolutamente non fastidioso. Il libro è perlopiù teorico, entrando (per sua fortuna) nei dettagli tecnici e nominando tool e tecnologie soltanto come esempio, permettendo quindi un ottimo “invecchiamento”. Il libro è assolutamente attuale e illuminante, come illustrerò di seguito.

Esso rappresenta una guida con una serie di consigli, organizzati ottimamente in brevi capitoli che rendono la lettura scorrevole e mai pesante, con l’intento di trasmettere tutta la conoscenza dovuta all’esperienza decennale degli autori nel ruolo di sviluppatori software. Tutte le problematiche e le possibili soluzioni ad esse, incontrate in anni ed anni di lavoro, riassunte in circa trecento pagine.

Gli argomenti trattati sono i classici che hanno ispirato poi fior di volumi più recenti (es. Clean Code e simili): ortogonalità, decoupling, gestione dei team, test driven development, automatizzazione, DRY, come e quanto documentare, ecc. Ciò che fa la differenza è l’approccio degli autori. Ogni argomento è trattato in un capitolo autocontenuto: si parte con una introduzione, spesso con una metafora non di ambito informatico che avvicina il lettore alla problematica, per poi entrare nel merito tecnico con ulteriori esempi. Ogni capitolo si chiude con riferimenti esterni per approfondimenti, esercizi (con soluzioni) e ‘things to do to improve’ per iniziare subito a mettere in pratica gli insegnamenti.

La formula è assolutamente vincente. Ogni tema rimane ben impresso nella mente del lettore, gli esempi portati sono lampanti e simpatici da leggere. Leggete questo libro durante la vostra carriera lavorativa e vi trovere continuamente a rapportare i contenuti con la vostra esperienza ogni giorno sul posto di lavoro. Ciò vi aiuterà enormemente a individuare eventuali problemi e saprete da subito come muovermi nel risolverli.

Gli autori hanno inoltre inserito dei ‘tips’, dei consigli veloci lungo il libro. Ogni capitolo ne portà due o tre con sè. La genialità è stata nel raggruppare i settanta tips a fine libro in una scheda rimuovibile. E’ incredibile come ognuno di essi nella sua compattezza (difatto, parliamo di due frasi per ognuno) a colpo d’occhio rimandi la mente subito all’argomento trattato nel rispettivo capitolo. La capacità degli autori di sintetizzare gli argomenti e renderli memorabili ha permesso l’incredibile fruibilità dei tips. Nella pratica, rimuovendo la scheda e tenendola con voi, in un angolo della vostra scrivania, farà sì che abbiate sempre a portata di mano il libro stesso. Ogni consiglio vi sembrerà oro, e l’avrete con voi, “pronto all’uso”. Sarà come ascoltare gli autori nel consigliarvi la strada giusta durante il vostro lavoro.

Qui trovate l’elenco di tips da consultare online (contenuto in inglese).

Una lettura must, talmente avanguardista che imbarazza avere coscienza che ben diciassette anni fa (un’era geologica nell’informatica) si era già ben a conoscenza di determinati problemi e si avevano già tutte le soluzioni possibili; al giorno d’oggi, ancora tante aziende e team lavorano nel ‘passato’ e non hanno cognizione degli stessi problemi. Leggendo questo libro, capirete quanto sia importante imparare dall’esperienza degli esperti; non si tratta di cieca fiducia verso essi ma della disponibilità ad ascoltare chi lavora da anni ad alto livello, e dell’umiltà nel mettersi in gioco. Non è mai tardi per iniziare a cambiare le proprie abitudini e il proprio modo di lavorare, da soli e con gli altri; ognuno può diventare un Pragmatic Programmer.

 

Precedente Il cacciatore di androidi (Philip K. Dick) e Abissi d'acciaio (Isaac Asimov) Successivo Refactoring - Martin Fowler