La strada per diventare bravi a programmare è la stessa di cantare o suonare musica: pratica, pratica, pratica. Se passi abbastanza tempo a sviluppare software regolarmente per diversi anni, è probabile che diventerai bravo a farlo, sia all'interno che all'esterno dell'orario di lavoro.
Ora, oltre a dedicare più tempo alla pratica, c'è un altro motivo per cui i professionisti di solito diventano migliori dei dilettanti in un certo senso (sia nella musica che nella programmazione). Se sei un professionista, devi svolgere attività che non ti piacciono necessariamente, ma appartengono al più ampio lavoro di sviluppo di software (ad esempio test, discussioni con i clienti, scrittura di documentazione, impostazione di ambiente di sviluppo / creazione, scrittura di script di creazione, ecc. ). E ogni tanto ti viene anche chiesto di entrare in aree sconosciute, di imparare nuove lingue o piattaforme. Come dilettante, non sei obbligato a fare tutto ciò che non vuoi, il che rende probabile che rimani nella tua zona di comfort per la maggior parte della tua vita. In altre parole, puoi facilmente limitarti a una o poche aree specifiche a cui sei più affezionato,
OTOH anche molti sviluppatori professionisti si cimentano in questo, rimanendo nella stessa azienda facendo lo stesso lavoro di routine a malapena imparando qualcosa di nuovo per decenni ... Quindi la chiave per migliorare è il tuo atteggiamento. Se continui a studiare e cerchi consapevolmente opportunità di spostarti dalla tua zona di comfort in un territorio nuovo e sconosciuto, alla fine supererai gli sciami di "professionisti" che si stanno lentamente fossilizzando. Un buon modo per farlo potrebbe essere quello di contribuire ad alcuni progetti open source.
Una lettura consigliata è The Pragmatic Programmer: da Journeyman a Master , con molti consigli grandiosi e molto pratici su come continuare a migliorare.