I have a thing or two to say about software developing.
The idea of programming for living sounds great on paper, but in reality it can get pretty damn boring. Well this obviously depends on what kind of software developing you'll end up doing. My only advice is that if you're gonna go with programming, try to find something with as much variety as possible. I've been coding websites (mostly back-end, but also a decent amount of front-end stuff) for years now, although not all of them professionally, and it's starting to get really really boring. I almost rarely get any challenges at work that I enjoy doing, it's just coding the very same routine stuff with little something done differently here or there. Basically it's like, you know what you need to do exactly, and you know that it'll take a few hours to do, and you must force yourself to move your fingers and press the keys on the keyboard for those few hours until it gets done. I know that it's like this for majority of jobs, but I just want to make it clear that as exciting and awesome programming seems first, it'll just be another daily routine when you do it for living and for years. It'll pretty much suck out all the excitement from it.
Game developing might be different though, especially if you get to actually design the game too. There's nothing cooler than coming up with a cool idea for a game, and then being able to figure out how to code it, and actually pull it off. But I would assume that in the professional industry, a lot of time you'd be coding other people's ideas, and a lot of time it's doing the very same things you've done a hundred times before. The one thing that might make professional game programming have more variety than say web programming is that hardware evolves pretty fast, and cutting edge games get to use new cutting edge technologies. While with web developing most of the concepts progress very slowly, if at all. Not because there's no room for improvement, but because there's a bunch of different user agents and devices that must be supported, and things must be kept backwards compatible for a long, long time.
This. If you do not absolutely love programming then you will find that the job (regardless of what you are programming) is not very fun or rewarding at all. Infact it could be one of the worst, most boring jobs ever.
I know several people who are programmers for various things (web design, application programmers, and one or two that work on video games), and I am pretty sure at least two of those are sexually attracted to computers. If you are not this sort of person then any sort of programming is not for you, and you will quickly end up hating it.
Also, as far as programming video games goes. You will get stuck doing something and that is all you will do. You wont get to "design and make a game", no one is going to pay you for your ideas, and frankly no one even cares about them, you make what you are told to make, end of story. One of my friends, his job is related to sound, he puts them into video games. For the past 8 or so years his job has been putting sound effects into various video games. No joke, if you do ever end up working as a video game programmer your job will end up being something like this, and unless you change jobs or get a promotion you will be stuck doing the same thing over and over again.
Also, as mentioned, the computer and programming industry evolves at an insanely fast rate. Unless you are actively learning all this new stuff don't expect to keep your job for long.
Unless you are a robot or have a serious computer fetish it is probably not a wise idea to try and get into the programming industry (the pay also happens to be fairly crap). And it is probably not a wise idea wasting a lot of your life trying to get a job like this either (trust me).