- Caching and cache invalidation are really hard - if you have to go there, make sure you can disable the cache at any time
- Using regular expressions for anything but processing lines of text means you're probably doing it wrong
- Few programmers can handle concurrency, provide APIs with lots of run-time checks
- Have coding guidelines and enforce them in code review
- Boring code is good code
- Lack of automated tests make every commit a crap-shoot
- Use consistent logging (with levels), if this is a major performance hit scrub the code out for the production build
- If there is no expert on the team, become the expert. If there is, learn from the expert and become one as well
- Always take responsibility for your code
- Sometimes ugly hacks are necessary. Deploy them, but make it a priority to factor them out at the start of the next cycle (don't leave this crap around for 'someone else later')
Oh man, I could go on like this for hours.