The Solution by @jbarnette

This was written by John Barnette on 2009-01-01 Be Confident Tests build confidence. Write ‘em. They’ll save your ass, and they’ll let you take a chainsaw to your code without being afraid of unintended consequences. Be Lazy Write tools. If it’s happened more than twice, don’t ever do it by hand again. Be Asynchronous If it can be done outside the request/response cycle, consider queuing it. Mailers, uploads, audit trails, anything with an external system dependency or a lot of IO. Be Stateful If there’s a lifecycle, model it as a real state machine. Beware ad hoc flags. Be Clear You’ll write it once, but you’ll read it a lot. Code accordingly. Sometimes simplicity takes a bit longer, but it’ll pay off. Be Consistent Inconsistent file names, task names, and coding styles hurt productivity. Be Timely (but not too timely) Keep frameworks, plugins, libraries, and tools up-to-...