Habilidade de resolver problemas, não problemas de código e de algoritmos, mas problemas em geral, principalmente os da vida. Quanto melhor você for nisso, melhor Engenheiro de Software você será, por um "acaso" você sabe programar e vai acabar resolvendo alguns problemas com programação.