Fork Of
Revisions
-






449043
evanphx
Fri Dec 19 12:47:45 -0800 2008
-






b6b4e8
jbarnette
Fri Dec 19 12:39:40 -0800 2008
-






3cf11c
jbarnette
Fri Dec 19 12:27:50 -0800 2008
-






072cb7
jbarnette
Fri Dec 19 12:26:23 -0800 2008
-






fbeee8
jbarnette
Fri Dec 19 12:17:55 -0800 2008
-






ff7677
jbarnette
Fri Dec 19 12:10:57 -0800 2008
-






dc897d
jbarnette
Fri Dec 19 12:10:18 -0800 2008
-






83e8e3
jbarnette
Thu Dec 18 14:54:49 -0800 2008
-






d68b5d
jbarnette
Thu Dec 18 14:54:17 -0800 2008
Every gist with this icon (
Every repository with this icon (
Lessons Learned
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
If it's happened more than twice, don't ever do it by hand again.
Be Asynchronous
If it can possibly be done outside the request/response cycle, defer it. Mailers, uploads, audit trails.
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, or coding conventions hurt productivity.
Be Timely (but not too timely)
Keep frameworks, plugins, libraries, and tools up-to-date, but think twice before using a production app to play with the bleeding edge.
Be Certain
Don't speculate, get data. Act on what you know, not what you suspect. Is that code really faster? Do users really want that feature?
Be Persistent
Find the root cause. Keep asking why, even when you're tired and under the gun. The guesswork patch you write today will be a nightmare tomorrow.
Be Wrong
Dogma is for theorists. If it's not working, change it, no matter how long it took to write. Don't throw good money after bad. Admit mistakes early and often.
Be Aggressive! Be Be Aggressive!
By a cheerleader for yourself AND others on your team. A positive attitude goes a long way in making people productive.


