Não tenha preguiça de pensar.
Hoje estávamos debatendo em meu trabalho como é dificil mudar um paradigma da sociedade, ou apenas implantar uma dúvida, são poucos aqueles que se dispõe a pensar sobre o assunto, a aceitar possibilidades.
Isso também é visto em muitos desenvolvedores.
Há uma diferença entre um “cuspidor” de código, e aquele que ama o que faz, que vê seu trabalho como uma arte, e que sua arte tem que estar bonita e principalmente completa e funcional.
Esta postagem é dedicada a estes programadores que se empolgam, que amam o novo, que aprendem ou ao menos tentam aprender o que é bom para seu desenvolvimento.
É necessário pensar caros amigos, é o que nos separa de animais.
Bom código não é apenas o necessário.
E um bom programador não é só um bom código.

Conheço excelentes codificadores que tem alta produtividade, mas não considero um bom programador por causa de sua mente fechada. Não devemos nos ater apenas ao código, temos que saber como manter um projeto em andamento, o que o cliente quer e como ele quer, modelar e gerenciar estas regras, documentar e o conjunto de tudo isso faz um bom programador, um desenvolvedor confiavel que certamente após poucos projetos para seu chefe ou cliente deixarão sempre projetos para seu controle e execução sem preocupações, pois conhecem e confiam em suas capacidades.
Prestar o melhor serviço que o cliente sequer imagina, e não fazer isso meramente para impressionar é NECESSÁRIO, manter uma organização do que é feito e do que precisa fazer, é o mínimo viável para se controlar um projeto.
Todo programador tem seu inferno pessoal, mudanças de escopo, mudanças de funcionalidades, implantação de novos métodos ou metodologias que você não é adaptado, tudo isso pode e provavelmente irá prejudicar sua produtividade. Imagine tudo isto em um ambiente/projeto desorganizado, não há regras bem definidas e/ou anotadas, você não tem idéia do que mudanças no escopo pode ocasionar… É uma bola de neve !
Não me considero um exclente programador, ainda estou longe disso, tenho muito a percorrer, mas todos sabemos qual caminho não seguir, e quando não sabemos basta observar calmamente e raciocinar se está funcionando ou não.
Porque claramente há alguns passos básicos para ser um bom programador:
Buscar em diversas fontes ( Ajuda muito o inglês nestas horas )
Aprender e Executar coisas novas frequentemente
Trabalhar em Problemas Lógicos
Paciência
E o mais óbvio de todos PENSAR !

Gostaria de falar mais sobre a importância de aprender inglês para o programador, mas é quase uma consequência de se programar, então vivencie e entenda o inglês, é indispensável !
Eu, gosto de também ensinar enquanto aprendo, acho que me ajuda muito a internalizar tudo e as vezes são leventadas dúvidas, que eu não sabia ou adicionado conhecimento, então é muito bom para meu crescimento.
Bom, tornar um bom desenvolvedor/programador é uma tarefa diária, complicada e exaustiva, eu não citei quase nada do que é preciso, há muito mais para se aprender, mas como um bom ser humano, seja solícito/atencioso e devagar vamos caminhando passo a passo para o crescimento pessoal e consequentemente profissional e melhoria contínua.
Forte Abraço!