I should have my husband answer this. He's a software engineer. I'm sure you'll get great answers from other programmers out there.
As someone not in the field, I would add that be sure to always think ahead to what language is going to be popular next? Don't go retro. Mike knows over 12 programming languages. (He started during the Vietnam era!) There's a few companies who need those old programmers to convert their old main frame stuff, but those are few and far between. As a non-programmer, but author, I'd say look to the app programming. I could never be a programmer; it's way too detailed for me, but my husband loves coding. I'll have him check in here. He's had over 40 years experience!