Primo, ti dirò cosa non dovresti fare per diventare un buon programmatore. Non importa quello che qualcuno ti dice, se passi troppo tempo a fare una qualsiasi delle seguenti cose potrebbe migliorare un po' le tue abilità, ma non sarai mai un buon programmatore:
- Non diventerai un buon programmatore solo leggendo libri.
- Non diventerai un buon programmatore memorizzando codice e algoritmi. Programmare è pensare, non ricordare. Puoi avere la migliore memoria, ma se non pensi per te stesso non sarai MAI un buon programmatore, cioè abbiamo i computer e internet che ricordano le cose per noi, quindi non c'è bisogno di ricordare nulla - hai solo bisogno di sapere dove e come trovare le informazioni di cui hai bisogno.
- Non diventerai un buon programmatore scrivendo singole funzioni e algoritmi dai libri che leggi cioè.Scrivendo stupide funzioni di bubble sort e simili algoritmi inutili.
- Non diventerete un buon programmatore testando il codice di altre persone, per esempio testando il software usandolo o scrivendo test unitari ecc.
- Non diventerete un buon programmatore leggendo e debuggando il codice di altre persone. Questo potrebbe aiutare a breve termine, ma solo se il codice dell'altra persona è ben scritto in modo da poter prendere alcune buone abitudini, ma usare cattivo codice come esempio vi insegnerà cattive abitudini che alla fine dovrete disimparare. A lungo termine passare troppo tempo a leggere e fare il debug del codice altrui sarà dannoso per la vostra crescita.
- Non diventerete un buon programmatore permettendo agli altri di microgestirvi... perché ancora una volta programmare significa pensare da soli.
C'è solo un modo per diventare un buon programmatore: dovete prendere un progetto, iniziarlo e finirlo da soli dall'inizio alla fine. Non concentrarti troppo sulla lettura di libri, sintassi, algoritmi e funzioni, cioè non concentrarti sui dettagli all'inizio. Semplicemente siediti e pensa a un'applicazione/sistema che ti piacerebbe sviluppare per te stesso... qualcosa che ti piacerebbe davvero costruire e usare per te stesso. Chiedete ai vostri amici/familiari/insegnanti un'idea se ne avete bisogno, ma dovete iniziare il progetto da zero e finirlo da soli dall'inizio alla fine. Una volta che avete avuto l'idea, tenete l'idea nella vostra testa e siate appassionati nel finirla... da lì tutto comincerà lentamente a riunirsi. Avrete delle caratteristiche nella vostra mente che volete implementare e a quel punto inizierete a cercare come implementare questo o quello. E' solo a questo punto che dovreste prendere un libro o cercare su internet le risposte su come implementare questa fantastica funzione che avete pensato di fare. Man mano che la vostra app/sistema cresce, inizierete lentamente a pensare di scrivere codice più pulito per mantenerlo in futuro, per rendervi la vita più facile.
È solo attraverso il processo e la lotta per dare vita alla vostra idea che imparerete a diventare un buon programmatore. Dovreste vedervi come un artista, non solo come uno che scrive codice per farlo compilare ed eseguire. Se lavorate solo sul codice di qualcun altro, o leggete solo libri ecc. perderete la vostra motivazione molto rapidamente e non troverete o utilizzerete mai il vostro talento.