Although only 24, i agree with the guy who is less than a year away from being a 48 y.o. s/w engineer. I strongly urge you to study the things that will give you a strong understanding of computing basics. The very nitty gritty of programming logic and structure. Computer science curriculims will give you this - IT curriculiums will give you training on whatever programs are currently out there - good for now, not so good when you're not getting classes on the next versions. If you're going to be in the computer field for a while - you need to understand that it is a field that rapidly changes and be constantly adapting to that. You need to accept the fact that wether self initiated or in classes - your constantly going to be learning new technology, languages and even the concepts themselves will bend a little through the years. No one can define a route for you but yourself depending on what you ultimately want to do and what you like most about computing. If you really want to be into the nitty gritty of computers in the long haul, looking into assembly is not a bad idea. Looking at how the code actually works gives you a better understanding of how the computers work and process what we're telling them to do. I've never become fluent in assembly - but I've poked around and read up on it to understand how it works and knowing this can help make you a more efficient coder. I would reccomend studying two core areas: programming logic, and databases. Most of the stuff out there is database driven, and it takes programming logic to get then info you want out. Then again if all you want is to be around the stuff, go into sales, and just believe the PR all the companies send out and you'll prolly sell a bunch of stuff.