in Tips and Tricks

8 Abitudini per diventare un Ingegnere del software migliore

Alcune settimane fa ho letto un topic interessante su Quora, era una domanda su come diventare un Ingegnere del Software migliore. Mi sono piaciute le risposte e immagino che migliorare le proprie tecniche di sviluppo e le abilità con queste 8 abitudini renderebbe un Ingegnere del software milgiore.

1. Prototipazione

Il commento più positivo è venuto da Jeff Nelson, inventore del Chromebook. L’ingegnere si concentra su creare piccoli prototipi mentre apprende nuovi concetti; in queste situazioni, scrive svariati programmi, tutti piccoli, per dimostrare una semplice idea. In linea con lo sviluppatore, la prototipazione rende molto semplice provare più concetti in un breve periodo di tempo.

2. Mattoncini

Un altro consiglio interessante è stato espresso dallo sviluppatore web Damien Roche, che ha parlato del suo insieme di note battezzate “Brick Walls”. Queste elencano tutti i problemi più complicati che richiedono ore di lavoro per essere risolti insieme alle loro soluzioni. Se dopo un po si smette di usare questa lista, è perché non ci sembra una sfida abbastanza stimolante, e quindi è necessario cercare nuovi obiettivi.

3. Tempo

Ed Prentice, un ingegnere del software, ha espresso un altro commento molto votato, dove illustrava la sua lista di abitudini che seguiva. La prima ruotava intorno al concetto principale proposto dallo sviluppatore, risparmiare più tempo possibile: automatizzare il più possibile. Per farlo, usa un IDE ben attrezzato, configuralo per fare più cose possibili al posto tuo, crea macro per ogni cosa che ti capita di ripetere spesso, impara le scorciatoie da tastiera e i comandi UNIX per esempio.

4. Sfide ed Insegnamenti

Lo stesso Prentice non si è limitato a consigliare l’automatizzazione nella sua lista di abitudini. Un altro consiglio che ha dato è di sfidarti, in continuazione. Hai mai scritto una Web App? Perché non ne scrivi una usando Ruby on Rails, per esempio? È anche importante insegnare qualcosa, anche se non riguarda lo sviluppo, così come controllare le domande più frequenti su Stack Exchange su cui ti senti preparato o meno, in modo da incrementare le tue conoscenze. Infine, condividere le esperienze e le lezioni imparate è un’abitudine che merita di essere adottata.

5. Ripetizione

L’utente Rafael Buch propone due esercizi e abitudini già conosciute tra gli sviluppatori: Kaizen e Kata. Il primo è di riscrivere e riformare, o rifinire il tuo codice come una gemma. Ogni volta che fai un cambiamento (sul codice), rivaluta la progettazione intorno ad esso. Il secondo si concentra sullo scrivere le stesse linee di codice più volte, facendo attenzione ad ogni tentativo. Ogni ripetizione avrà un miglioramento inferiore, e sarà facile trovare errori rapidamente prima che essi diventino più grandi in seguito.

6. Divide et Impera

L’autore e programmatore Debasish Ghosh propone come abitudine quella di leggere molto codice, buono o cattivo che sia. Quest’ultimo, lui dice, è egualmente importante, perché ti mette in evidenza molti patterns che non dovresti seguire. Inoltre raccomanda di adottare una politica di dividi-et-impera quando si tenta di risolvere un problema complesso, iniziando con le cose semplici, poi esplorando le parti più complicate. Un altra buona abitudine che ci suggerisce è di unirsi ad un progetto, preferibilmente un progetto open-source.

7. Progettazione prima di tutto

Ankit Gupta, un ingegnere del software di Amazon, dice che una idea valida è pensare prima alla progettazione prima di andare a sviluppare. È chiaro che alcune cose possono essere risolte solo durante la seconda fase, ma una progettazione solida permetterà un’architettura concreta.

8. In cerca di bugs

Robert Walker, creatore di programmi come Tune Smithy e Bounce Metronome, è uno di quelli che mantiene l’apparentemente ovvia abitudine di scrivere la lista dei bugs, indipendentemente da quanto siano piccoli. È un modo per non scordarsi nulla, poiché spesso i piccoli difetti vengono dimenticati.

Questo articolo è una traduzione di “8 habits to become a better software engineer” scritto da Rafael Corrêa Gomes su dev.to.