Antes de tudo, essa não é a pergunta genérica 'faça de mim um programador melhor', mesmo que o resultado de fazer essa pergunta possa parecer semelhante. Em programmers.SE, eu li e vi estes serem fechados aqui , aqui , aqui , aqui e aqui .
Todos sabemos que há uma infinidade de sugestões genéricas para aprimorar suas habilidades de programação (por exemplo, ler SO, ler livros recomendados, seguir blogs, envolver-se em projetos de código aberto etc.). Isso é não o que eu estou atrás.
Também reconheço os leitores ativos neste site e espero que funcione a meu favor, obtendo ótimas respostas. Da leitura da correspondência aqui, parece haver um grande número de pessoas experientes que estão trabalhando, ou já trabalharam, em campos relacionados à programação. E a maioria de vocês pode transmitir pensamentos de uma maneira eloquente e concisa.
Recentemente, notei a distinção entre alguém capaz de programar e um programador que pode realmente pensar . Recuso-me a acreditar que, para nos tornarmos excelentes programadores, simplesmente nos submetemos a uma vida inteira de comportamento semelhante a uma esponja (ou seja, absorvemos tudo relacionado ao nosso campo lendo, ouvindo, assistindo etc.). Eu diria mesmo que, simplesmente conhecendo cada conceito de programação que permite resolver o problema X mais rapidamente do que todos os que estão ao seu redor, se você não consegue pensar , está se limitando enormemente - você é apenas um robô rápido.
Eu gosto de acreditar que existe uma outra cara de ser um grande programador que não tem relação com o quanto você sabe sobre programação, mas é com que facilidade você pode entrelaçar novos conceitos e aplicá-los à sua profissão ou hobby de programação. Não vi ninguém se aprofundar ou abordar essa faceta da mente e da programação humanas. (Sim, também é possível que eu não tenha me esforçado o suficiente - desculpe se esse for o caso.)
Portanto, para quem passou algum tempo pensando sobre o que eu mencionei acima - ou talvez todos aqui, porque estou um pouco atrasado no meu desenvolvimento pessoal / profissional - quais são suas sugestões para aprender a pensar? Além da leitura usual, o que mais você fez para ser melhor do que as outras pessoas em sua / nossa área?