I'm a software engineer (bachelor's in Computer Science, master's in Systems Engineering), who originally wanted to be a game programmer, but got scared away when hearing about the working conditions (granted it was supposedly worse when I was in college). Now I work in the defense industry, helping out with wargaming/simulations.
Here's a few general tips for budding software engineers:
-Go for a bachelor's degree in Computer Science (not IT or any vocational school programming courses), those algorithm and computational theory courses are ROUGH and about as much fun as watching paint dry, but will really help you in both grasping theoretical concepts of programming (instead of just being a "code monkey") and will look much better on your resume.
-Do some small programming projects on your own, over the summers and such. If you want to get into game development, and want a pretty low-cost/low-barrier-of-entry way to get in, I highly recommend XNA. You'll learn a lot about C# and object oriented programming, while being able to create fairly cool shit reasonably easily. Plus there's lots of sample source code and documentation online. Visual Studio 2010 and the XNA libraries are a free download, though it costs $99 a year if you want access to the XNA Game Creators Club, which enables you to debug and test on the 360 and such, and upload your games to Xbox Live Indie Games.
-Definitely research SQL, and perhaps a server-side scripting language. There's a good chance you may be called upon doing some type of SQL in your future, since it's just so ubiquitous.
-Make sure you get an internship when in college (even if it's unpaid)! Not getting one was my biggest regret. The difference between the kids who interned over the summer and the ones who didn't was night and day, in terms of programming knowledge. Plus, it looks great on your resume when you eventually graduate.
-Never let your skill set get stale. Always be willing to develop in a new language and expand your knowledge. Don't pigeonhole yourself into just doing C++ or Java... when I was in school I was mostly doing C++/Java and that's what I was most comfortable with... but eventually ended up doing stuff ranging from Ada, FORTRAN, ColdFusion, XAML/WPF, C#, SOAP, Visual Basic, and assorted simulation toolkits)
Good luck!