More or less you're looking at two choices here:
a)
I'm going to sit at my desk and fart out code all day, as described to me by some flowchart. In a few years, I'll still be flatulent.

b)
I'm going to sit in meetings and then go to my desk, design relationships between processes, fart out some code based on this, and have some programmer that doesn't know how to do this work on module whatever because we need someone to do this. In a few years of this I will have career options

Anyway, if you want to learn, you need to learn not just how to write in language __blah_, you should figure out how a wide selection of languages that are different in syntax work, next you'll need to learn good practices of writing code, which falls into naming conventions, knowing how to properly OOP (or functionally design), know how to use frameworks.... this is enough to get you up to having the basic tools to being a good programmer, but you need some more stuff such as systems analysis and design which is a whole science in and of it's self, project management, UML, flow charting... documenting... how to set up a SVN/GIT, how to set up different services depending on what you want to develop for. (this way, your boss won't call you a propeller head behind your back because you're really good with just one thing but can't think beyond C#)...

Software isn't a small thing where you learn a language and get a job (well, perhaps I live in fantasy land, I've been mopping up a decade-old mess at work from poor programmers).