I see programmers like musicians.
I think of programming as more of a creative skill and not an engineering skill. In engineering you learn the rules and follow them to build whatever you are building. Programmers still look at the rules for reference but should always strive to create something better either in terms of functionality, efficiency, or usability.
A programmer is like a musician. Any good musician who has studied music for a long time and has been practising with at least one instrument and enjoying it, should have absolutely no problem picking up a second instrument and becoming good at it in less than a month. I've seen musicians being a able to pick up new instruments and play them well after only a day's practice. If programmers know how to program then the language is irrelevant and can be learned very easily.