Computer Programmer: I make Video Games for a Living... ENVY ME.
IntroductionThe more programming languages you know, the better. I've learned C/C++, C#, Visual Basic, PERL, FORTRAN, COBOL, Java, HTML, and my programming flexibility has opened many doors for me. Start learning as early as you can, and start by focusing on something major like C/C++. Beyond this, go to a good technical school, like RIT or MIT (DigiPen in my case). Taking a lot of basic and advanced level courses for programming will provide you with a good foundation. Um, the only other thing I can suggest is to keep a portfolio of programs and applications you have worked. For programmers, your portfolio is your resume and having a varied one shows a potential employer your versatility.
Job FunctionThe best is seeing your work progress over the day. When you start the day, you might be working with a non-functionality applications that does nothing. However, as you tweak and plug away, you will begin to breathe life into the program. Since I work creating video games, it's especially awesome to see your avatar come to life and be able to walk around in the 3-D space interacting with everything. The worst aspects are the long, long hours AND bug crunching. Having your application crash and having to scan the code to find the problem. Sometimes, it is as simple a misplaced variable. It's a major, major headache.
LifestyleLONNGGGGGGGGGGGGGG hours, especially when you are on deadline. You'll get into the office around 8 AM and won't leave until 8 PM. It's not uncommon. Expect to work a lot, but a lot of game developers try to make their studios as comfortable as possible. Epic Games, for example, has a gym in their studios and a fully stocked kitchen for their employees. Getting to work at a developer like that, though, takes years of work, so expect to be in the trenches for awhile. As far as personality, I think that's fairly obvious at this point...
Additional InformationIf you love math and numbers, are a very, very detail-orientated person, and love working with computers, then you will be fine. Just expect long hours.