Torne-se um poliglota

Tente ganhar experiência em tantos paradigmas de programação que puder.

Na minha opinião, você deve pelo menos entender os seguintes paradigmas:

  • Paradigma imperativo, linguagens mais comuns
  • Paradigma lógico, como prolog / datalog
  • Paradigma funcional, pense em haskell / f # / clojure
  • Paradigma orientado a objetos, pense em c ++ / c # / java etc
  • Metaprogramação, pense em modelos c ++, macros c etc.

Se você já se envolveu com todos esses paradigmas, acho que tem o melhor kit de ferramentas para resolver problemas em sua mente – e para fazer o computador resolvê-los para você.