Il libro Coders at Work contiene interessanti interviste a famosi programmatori.
In questo post voglio scrivere qualche commento all’intervista a Brad Fitzpatrick.
Cosa condivido:
- Io giusto assumo che qualcun altro non capira’ alcune delle invarianti che ho. Cosi’ praticamente mi assicuro di avere un opporunto test.
- Tipizzazione statica e controlli a tempo di compilazione sono di grande importanza.
- C++ ha una sintassi terribile e totalmente inconsistente e i messaggi di errore, almeno da GCC sono ridicoli. Puoi ottenre quaranta pagine di errori semplicemente perche’ hai dimenticato un punto e virgola.
- Conosco persone molto intelligenti che conoscono solo Java. Io penso che e’ realmente importante conoscere l’intero stack anche se tu non operi all’interno dell’intero stack.
- Un consiglio ai programmatori:
- Sempre provare a fare qualcosa un po’ piu’ difficile, fuori dal quello che puoi pensare di realizzare.
- Leggere codice. Non essere spaventato dal farlo. Dopo un po’ inizierai a vedere “pattern” nel codice scritto dagli altri.
- E’ importantissimo avere un consistente stile di codifica all’interno del team/progetto che sia documentato e rispettato
- Penso che la “pair programming” sia divertente. E’ ottima per molte cose e forza a non annoiarsi.
- Non penso che il codice debba essere posseduto. Il codice e’ scritto dal team nella sua interezza e le revisioni di codice sono importantissime per mantenere alta la sua qualita’.
- Un grande programmatore ad un colloquio si riconosce anche da cose che ha fatto nel tempo libero senza avere obblighi. Questo dimostra passione.
- Non pensare di conoscere un algoritmo senza averlo mai scritto personalmente. Scrivere un algoritmo ti forza a capire tutti i casi limite e quindi lo imparari veramente
- Le persone non vogliono scaricare programmi ora che esiste il web.
- Essere personalmente coinvolti in community permette di crescere e incontrare persone di grande rispetto.
- Non fidarti ciecamente del codice scritto da terzi o della documentazione. Prima scrivi un test che usa le funzioni che intendi usare per assicurarti che funzionino.
- E’ importante pensare come uno scienziato. Avere pazienza e provare a capire la casa principale delle cose. Impara a scrivere le cose in modo incrementale cosi che in ogni fase tu possa verificarle.
- Puo’ essere utile qualche volta scrivere qualcosa in un linguaggio nuovo e con cui non sei a tuo agio in modo da migliorare come programmatore.
- Ricordati che in un team tutti dipendono da tutti. La collaborazione e’ fondamentale.
Insegnamenti e spunti per il futuro:
Condivito praticamente tutti gli aspetti principali sollevati da Brad.
Anche lui come Jamie Zawinsky riflette sull’importanza di imparare a leggere il codice scritto da altri, qualcosa sui devo assolutamente lavorare.
Sito web del libro:
http://codersatwork.com/