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ê.