It's hard to describe my job to non-techies (also known as "normal people.") It sounds so boring when I explain it: "Well I sit at a desk most of the day when I'm not in meetings. I write a lot of programs and try to break our software."
The names Bond, James Bond.
Yeah right.
The part I can't properly communicate is how exciting and rewarding this job really is for me. Many programmers are also artists or musicians and it's not a coincidence. Writing programs is a creative, artistic expression. Coders have their own style just like artists and musicians. When I get a problem to solve, I can think of a thousand different ways to do it, but usually there are only one or two which I think are elegant. When it's all done, I can sit back and admire it, and it's very similar to the feeling I get when I reach the last note of a challenging song on the piano or guitar.
There was a recent article on lifedev and a James Whittaker post that got me thinking about this again. If you're intrigued, those are good articles which may do a better job of putting the feeling of software development/testing into words.
I doubt that I'll ever really be able to explain why I love this job, but I do, so you'll just have to trust me (or go through 4-6 years of schooling and come work on my team!) It's definitely not for everyone, but I love being at Microsoft because I'm surrounded by people who share this passion.