Para mim, a base da base é o inglês. Outras coisas que acho muito importante é "gostar de solucionar problemas" (pensamento lógico) e compreender os algoritmos "raiz" (sort, linked list, tree, etc).