Just what it means - fun. I
enjoy the creative and problem-solving aspects of programming. I enjoy "beating myself" and making better software every time. I enjoy stretching my brain. That I get paid for it (and paid very well) is a really freaking cool side-benefit. But, I suspect that I would write software on the side even if I drove a truck for a living.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?