8. The moment of birth, the first time ever that something has existed. When all your hard work works. Sure, other fields have moments of clarity, but there's just something so binary about a program running the first time. Moments that I live for.
Not many of the people I know, know how to program or let alone setup their computer. If they see you work with the computer, they are awed (and think you're a geek). It's the same kind of 'aw' as when I see a physicist work on or with a formula. For me it's total incomprehensible, for him it's easy as pie. Because many people are still mystified by computers, you are the one they call when something goes wrong. Repairing a computer per week means that once a week I don't have to bye a meal. It also means that I can be of positive value for my sisters. "
WTF?
I'd count that as a reason NOT to be a programmer!
Agreed. When I was in high school I wrote all the normal programs for the Apple ][ and it was fun. LoRes/HiRes graphics, toy calculations like interest, bubble sorts, etc.
Then our math teacher offered extra credit if we solved some puzzles. One was the "100 Lockers" puzzle. http://mathforum.org/library/drmath/view/56747.html
I immediately saw that I could write a program to solve it and so I did. Afterwards I was struck by how I could simulate physical processes in the computer. It was a real eyeopener for me because I had always been given assignments before and this was the first time I had applied programming to a problem that I had come across myself.
I was feeling pretty smug that I would be the only person to solve this puzzle. (It was a very small class in a small school and not very many people were even attempting the puzzles.) When the results were posted later in the week, I noticed that someone else had solved it also but his solution didn't have a printout attached. I couldn't see how he could have solved it by hand by simulating the opening and shutting like I did in my program so I asked him how he did it. "Easy" he said. "I just did the problem for 10 lockers and I saw the pattern of square numbers and added on the missing numbers."
That's when I learned that while brute force works and it sometimes the best approach, it doesn't have to be the only approach.
Almost everything I have done in programming since is somehow related to this incident. World building indeed.