I just saw this at the most popular bookmarks from delicious:
http://www.kevinwilliampang.com/post...ogrammers.aspx

agree 100% with it

10. Comments that explain the "how" but not the "why"
9. Interruptions
8. Scope creep
7. Management that doesn't understand programming
6. Documenting our applications
5. Applications without documentation
4. Hardware
3. Vagueness
2. Other programmers
1. Their own code, 6 months later