Prossimamente sul muro del nostro reparto produzione in ufficio un decalogo dello sviluppatore. Un distillato di buone pratiche da non dimenticare mai!
1. Sii responsabile ed orgoglioso del tuo operato.
Un programmatore professionista dovrebbe sentirsi orgoglioso del proprio operato. Tutti dentro di noi abbiamo il nostro concetto di lavoro ben fatto ma spesso non lo ascoltiamo o lo mettiamo a tacere. Un professionista ascolta quella voce perché sa che è la cosa giusta da fare. Un professionista non prende scorciatoie per finire in fretta. Un professionista finisce il suo lavoro in tempo e il suo lavoro sarà ben fatto.
2. Sii un buon compagno di squadra.
Oggi tocca al vicino di scrivania ma domani potremmo essere noi in difficoltà. Aiutarsi a vicenda è sempre utile.
3. Pianifica scrupolosamente le tue attività
Il tempo speso per pianificare, rivedere e organizzare le proprie attività è tempo speso benissimo. Aiuta a riprendere il filo, a vedere le cose da un punto di osservazione più alto e crea ordine mentale. Con le attività ben chiare e pianificate il lavoro fluisce meglio e rispettare la propria pianificazione è quasi un dovere morale.
4. Sii calmo e agisci con criterio soprattutto sotto pressione
Un chirurgo lavora letteralmente e sempre con una deadline e sotto pressione. Anche noi abbiamo le deadline ma non sono letterali e spesso non siamo così sotto pressione. Dovremmo però comportarci allo stesso modo di chi opera. Il chirurgo si attiene scrupolosamente alle procedure, alle regole e alle tecniche che ha imparato. Sono queste tecniche che gli garantiscono di procedere con il minor rischio possibile per la vita del suo paziente. Le applica mettendoci il tempo necessario: niente di più e niente di meno. Non lascia strascichi da correggere poi. Anche noi dovremmo attenerci alle nostre procedure e confidare nelle nostre tecniche anche nei momenti in cui vorremmo disfarcene per fare più velocemente.
5. Fai la cosa più semplice che potrebbe funzionare
Semplice non vuol dire facile. Semplice significa che quello che devi fare è comprensibile per te e per gli altri, che fa quello che deve senza strafare o senza fare meno. La semplicità richiede essere rigorosi e mettere in discussione il proprio operato. Come dice Stephen King: un libro finisce quando hai smesso di cancellare, non quando smetti di scrivere.
6. Lascia il sorgente migliore di come lo hai trovato.
Sul codice sorgente ci si lavora insieme e come un bene comune va rispettato. Lasciandolo ogni volta un pizzico migliore di come lo abbiamo trovato facciamo bene all’intera squadra.
7. Scrivi codice per il futuro te stesso
Quando scriviamo del codice abbiamo bene chiare le ipotesi e il dominio del problema che stiamo sviscerando. Tra una settimana un po’ meno, tra un mese ancora meno. Tra un anno: “Ma l’ho fatto io quel progetto?!”
Il nostro sorgente dovrebbe venirci in aiuto, con un po’ di commenti ben piazzati. Il nostro sorgente lo stiamo scrivendo adesso e quindi adesso ricordiamoci che tra un anno potremmo dover correggere un bug. Proviamo a scrivere in maniera tale che il noi di adesso ricordi al noi tra un anno che cosa stavamo pensando.
8. Sii spietato quando svolgi o scrivi test
Testa con stringhe vuote, numeri negativi, 0, 1 numeri altissimi, scritte che non hanno alcun senso. Batti tasti a caso, clicca 20 volte dove di solito ne basta 1. Il tuo obiettivo è spaccare il più possibile di quello che hai scritto tu o scritto qualcun altro. Nessuna pietà. Perché l’utente finale ne avrà ancora meno.
9. Automatizza quando possibile.
Quando ci si accorge che una parte del proprio processo è ripetitiva e “stupida” (copiare file, rinominare, aumentare numeri di versione…) i linguaggi shell sono nostri amici. Imparare qualcosa di PowerShell o bash per automatizzare dei processi permette di eliminare le parti noiose e senza valore aggiunto riducendo il rischio di errore.
10. Studia e mantieniti sempre aggiornato
È nostro dovere non rimanere fossilizzati e continuare a provvedere in maniera indipendente alla nostra formazione. Rimanendo curiosi ogni giorno potremmo scoprire qualcosa che ci fa progredire. In un mondo veloce come quello dell’informatica chi resta indietro è perduto e recuperare sarà sempre più difficile.