Prima di tutto, questa non è la domanda generica "rendimi un programmatore migliore", anche se il risultato di porre questa domanda potrebbe sembrare simile ad essa. Su programmers.SE, ho letto e visto che vengono chiusi qui , qui , qui , qui e qui .
Sappiamo tutti che ci sono una moltitudine di suggerimenti generici per affinare le tue capacità di programmazione (ad esempio, leggere SO, leggere libri consigliati, seguire blog, essere coinvolti in progetti open source, ecc.). Questo non è quello che sto cercando.
Riconosco anche i lettori attivi su questo sito Web e spero che funzioni a mio favore dando delle ottime risposte. Dalla lettura della corrispondenza qui, sembra che ci sia un vasto numero di persone esperte che lavorano o hanno lavorato in settori legati alla programmazione. E la maggior parte di voi può trasmettere pensieri in modo eloquente e conciso.
Di recente ho notato la distinzione tra qualcuno che è in grado di programmare e un programmatore che può davvero pensare . Mi rifiuto di credere che per diventare grandi programmatori, ci sottomettiamo semplicemente a una vita di comportamento simile a una spugna (cioè assorbiamo tutto ciò che riguarda il nostro campo leggendo, ascoltando, guardando, ecc.). Direi anche che semplicemente conoscendo ogni singolo concetto di programmazione che ti consente di risolvere il problema X più velocemente di chiunque ti circonda, se non riesci a pensare , ti stai enormemente limitando: sei solo un robot veloce.
Mi piace credere che ci sia un altro aspetto dell'essere un grande programmatore che non ha nulla a che vedere con la programmazione, ma è quanto bene puoi intrecciare nuovi concetti e applicarli alla tua professione di programmazione o hobby. Non ho visto nessuno approfondire o affrontare questo aspetto della mente umana e della programmazione. (Sì, è anche possibile che non abbia guardato abbastanza anche io - scusami se è così.)
Quindi, per chiunque abbia passato del tempo a pensare a ciò che ho menzionato sopra - o forse sono tutti qui perché sono un po 'indietro nel mio sviluppo personale / professionale - quali sono i tuoi suggerimenti su come imparare a pensare? A parte la solita lettura, cos'altro hai fatto per essere migliore delle altre persone nel tuo / nostro campo?