1. The ability to create tangible solutions to problems. I have a need to solve problems, and programmming is a great way to fulfill this need.
2. Ability to deconstruct a problem of requirement set into individual components. Once you have the solution frame work, all you need to the coding skills to implement the solution. Learning a language is relatively easy, it is devising the logic that is the
3. Software needs are dependent on target platform/audience. I target primarily Windows, so I use .NET and Visual Studio as my primary tools.
4. Not at this time. Maybe ACM or IEEE?
5. General duties include maintenance and support of existing applications, communicating with team members about potential problems or issues, design and implementation of planned applications.
6. The variety of problems I am asked to solve. I never know what I might have to do, so it is never boring.
7. Maintenance and integration of legacy systems.
8. Learn to read a lot. Half the battle is knowing the framework you use so that you can devise great solutions. Reading what others have done and what problems they have had is a good way to avoid the same mistakes.
9. I get to travel to quite a few developer conferences as a perk, where I not only learn about the technologies I use but also get to meet with other members of the community.
10. Approximately 50 hours on a good week, 80 hours on a bad one.
11. Salary, with optional bonuses.
12. Programming is a great field to get into, but is constantly changing.