Learning a language is not really that important, a good p[programer should be adept at numerous languages and be able to utilise the best tools for the job at hand. Furthermore, they should be able to learn a new language very rapidly in a new work environment.
More important to being a good programmer or developer is a deep understanding of algorithms, data structures,computational complexity, mathematics, problem solving, computer architecture and processor operation, compilation, information theory, software engineering concepts, debugging tools.
Especially important is a strong understanding of algorithms, data structures and complexity. I don't mean knowing that a quicksort can be use to rapidly sort an array of data, but a thorough understanding of of how it works, why the lower bounds exist and have logarithmic components, and how the design and choice of data structures is critical. One can always rad on the internet and grab some sorting code, a better programmer will relise they are using the wrong data structure and should have perhaps used a tri-tree etc. avoiding the need to sort.