There is something deeply satisfying about prolonged periods of bug fixing.
Of course writing original code can be satisfying too, but at least for me, fixing bugs tickles an itch that normal programming simply cannot reach.
I think partly this is because working on bugs makes me feel more productive. When I am working on a new feature it may be weeks or even months before I am ready to check in, but I can sometimes fix dozens of bugs in a single day. Think, implement, test, check in, mark as resolved. Such visible signs of progress make me feel good 🙂
It is interesting how most bugs take me along a similar path:
- What is this crazy issue someone filed on Connect?
- Huh? That can't possibly be the case!
- Stare at the code for a while
- Nope, no bug here: code looks fine to me
- Yeah, there's a problem sure 'nuff
- Dang, I don't see how I can fix this without breaking backward compatibility
- Think hard
- I wonder if...
- Type furiously for a minute or two
- Check in