views:

237

answers:

7

Joel's talked at different times on the podcast about people's motivation for doing things (i.e. answering questions on SO).

Do you like..

  • Solving the problem.
  • Learning something new.
  • Showing off your cool hack to others.
  • Getting paid.
  • Getting the job done.
  • Seeing the app run.
  • Striving for perfection.

How's that working for you?

+2  A: 

I enjoy solving problems and figuring out puzzles. I like the idea of beautiful code. I strive to write code that other people can appreciate and learn from.

The effect on my code is that I rewrite it a lot.

Robert S.
Why the downvote?
Robert S.
+7  A: 

I enjoy working through a problem and trying to come up with a simple and elegant solution. This results in much more thought than key pounding for the most part.

JPrescottSanders
This. Nothing is better than coming up with a simple and elegant solution.
GMan
This. This so much it hurts.
Kalium
I wonder if anyone else's motivation slips once you solve the current problem, then you're like a junkie looking for the next fix.
atom255
+1  A: 

Personally, I like nothing more than the feeling of seeing my program work after hours of coding and rigorous testing/debugging. Although there are times I feel like an idiot because I didn't see that very little mistake (like writing <= instead of >=, this is too much of course but basic things like this one), the joy of finally solving it is comparable to nothing else.

Dunya Degirmenci
+2  A: 

Getting paid for doing my hobby that allows me to learn something new every day.

Andreas Grech
If your English were a programming language, it'd be Perl.
David Berger
+1  A: 

I like a lot of things. One of the best is when I write up a particularly complex algorithm that I know intellectually should work, but it's still like magic when it does work. :)

I also like helping other people -- developers, customers, whatever. Which is why I guess I like SO.

JP Alioto
+1 on helping other people; nothing more enjoyable than that.
Tony k
+1  A: 

I tend to struggle to maintain on problems that don't have much of an interesting problem to solve, but there are two things that really catch me: architecture and optimization.

While a lot of people find it dreadful, I really enjoy designing a system at the higher level and producing the structure on which some application will sit. It allows you to think about both high- and low-level problems. This may be reduced down to problem solving, but I personally find a great deal of satisfaction in laying out an elegant solution to the entire problem at the high level.

Conversely, I also really enjoy spending a lot of time tweaking-down code that really does require performance. After working with JIT languages long enough, it's interesting to go back down to the low level and get messy with exact implementation.

Tony k
A: 

For why I answer questions on SO:

I like sharing what I've learned as well as getting that nod of, "Yeah, that is a good answer," which can be kind of nice.

For why I like developing software:

I enjoy solving puzzles and picking up "tricks" as I like to call them, e.g. using divide and conquer or dynamic programming or other basic algorithm ideas for lack of a better term. There is also the benefit of seeing a simple application work and a user going, "Thank you!" that is just sweeeeet, IMO.

Self-improvement is something I do, while perfection is something I know I'll never obtain.

JB King