I love posts like this! Great answers, pg. Here are mine:
1. What are some qualifications of a computer programmer?
The two most important qualifications are a love of details and a simultaneous appreciation of the bigger picture. You have to understand the landscape that your software will fit into. Then you have to be willing and able to dig down deep and be comfortable building stuff at the lowest level of detail. This takes a great deal of logical thinking, attention to detail, and personal focus.
2. What is the best part of being a computer programmer? The worst? The most challenging?
The best part is getting something working for the first time where nothing was there before. For me, this is so exciting that I still I do a "happy dance" every time. The worst part is the long hours alone. There's really no way around it; good software takes time and almost everything is done by someone alone at a terminal. The most challenging is finding a project big enough to not be boring but small enough that's it's too difficult to make good progress.
3. What’s the salary range in this career?
As an employee, $35,000 to $200,000. As a company owner, $0 to billions. Either way, the range is very wide and depends on many factors, some outside of your control. Like any other profession, you should be a programmer because you love to program, not because of how much money you'll make.
4. What is a typical day in the life of a computer programmer?
I bet there are as many typical days as there are programmers, so I just share mine. My day starts at my terminal, making changes to my current program based the mark-ups I did to my hard copy in bed the night before. I spend most of the day at the terminal writing code, changing it, trying it out, and taking occasional notes. I avoid interruptions as much as I can. I have a regular lunch and dinner and some social life, but not too much. Every day ends the same, in bed with whatever I worked on that day, reviewing and marking up. Incredible attention to detail is required and this is how I do it.
5. What is some advice you would give to young computer programmers?
Just build something. Nothing can be more important. Whenever you need to learn something, find a way to learn it, whether it's a class, friends, or more likely, a book or website. It you want to be a programmer badly enough, you'll find this approach natural. If you don't, you won't.
6. Is it easy to find a job as a computer programmer?
If you're good (and can prove it), yes. It not, not so much.
7. What was your most exciting project?
A computer program that wrote other computer programs.
8. What skills do you think young programmers need for the job?
The ability to think clearly and logically, good written and verbal communication skills, the discipline to keep working when they'd rather be with other people, and the determination to see something through to completion.
9. What improvement does computer programming give for human life?
Computer programming makes software that frees people up to think about and do things that weren't possible just a few years ago. The possibilites for those people are endless.
10. What is the future direction of computer programming?
This is always hard to predict, but I'd guess the direction will head away from writing all of your own software toward connecting a lot of already written software to accomplish the same thing.
11. Would life be a lot worse without computer programming? How much? Why?
Just compare life in a country with advanced technology to one without. Computer programming doesn't have everything to do with the difference, but it does have a lot to do with it. Much of today's advanced lifestyle has resulted from modern technology. Much modern technology came from software. All software came from computer programming.
[EDIT: Changed "Most software" to "All software" in #11. Thanks sundarurfriend. Duh.]