OK… I’ve been around for a while and coding for a long time. Here are my top 3 rules which I repeat over and over and over:
What problem are you solving?
Not rocket science. But surprising if you ask that question how often people don’t have an answer. If I don’t know what problem I’m solving, I’m basically screwed. (Note: this can, and does often happen at the corporate level).
Make it Work, Make it Right, Make it Fast
I don’t know who came up with that (Rob or me), but that’s been my coding mantra for the last 20 or so years. There’s no other sentence that I can repeat to myself that has the impact that has. Because I’m A-D-D, and human, I can spend days doing what Sid-the-sailor called “painting the windowsills” – I may have an entire house in dire need of attention, but I can, and do, become obsessively focused on stupid things.
Make it Work. Tim Gunn stole that part, but no matter what I’m doing, if it doesn’t work, Nothing Else Matters. Until it works, don’t do anything else.
Make it Right. Debug it. Fix whatever.
Make it Fast/Pretty. In the old days, ‘fast’ was important. These days, I suppose ‘pretty’ takes its place. And a lot of the time, this is the fun part.
If you create a Giant Pile of Shit, put a flag in it and claim it as yours.
Guy Martin, my boss, circa 1987. I was working with very expensive SCSI disks, making 4 disks look like one big disk. These disks were expensive; like $7500 a pop expensive. I plugged the power supply in backwards. I saw a small puff of smoke. I brought it into Guy and said ‘defecive disk’. He wasn’t buying it (probably because of either the smell, or the look on my face).
Sean, “When you create a giant pile of shit, put a flag in that pile of shit, be proud of it, and claim it as yours!” This technique taught me to admit that I make mistakes (and be proud!)… which is always better than trying to hide it.