Optimize, don't Organize: Part 1

Over the next week I will be giving out 7 (unedited) excerpts from an eBook I have in the works called Optimize, don't Organize. This is slightly less pretty than the eBook and doesn't contain any of the nice pictures or diagrams....but, as they say, you get what you pay for. I'd love to hear your thoughts, so by all means leave me some comments at the bottom of this page or contact me at [email protected] or even Twitter @alandownie

1. Don’t remember what you don’t need

I drive some people crazy; especially my wife. To some people I seem forgetful and careless; to others I appear efficient and percipient. It all depends on the person and the context. I make a point to remember things which I need to remember, and I rely on people, resources and notes to cover the rest. Forgetting stuff I don't need leaves room for things I do need.

There’s no need to remember something someone else will. 

My wife is a list person. Everything we ever do individually, socially or financially is written down in a list somewhere. I don’t need to remember where we’ll be for lunch next week any more than a security guard needs to know “today’s specials” at K-mart. In the context of databases, we’re a highly normalized couple...but only in the context of databases. Just as she need not understand the inner workings of our Rancilio espresso machine, I need not know what we’re doing next Thursday at 6pm. This isn’t a matter of delegation; it’s a matter of playing to one's strengths...or to someone else’s as the case may be. 

There’s no need to remember something you don’t need to know. 

If you were to ask me what our quarterly tax bill is, I wouldn’t be able to tell you. There is little point in me remembering, or even knowing when our accountant has it more than under control. I have a vague inkling that my birthday is somewhere in September, but I’m damned sure to remember my wife’s and son’s. The point is, remembering things which we will never need to act on just fills our minds with information that will never be useful. Remembering all the capital cities of the world may make for a fun trick at dinner parties, but unless you're choosing "Cities of the World for $500", there is not otherwise a lot of point.

There’s no need to remember something you can look up. 

My domain is here in front of my computer, developing software. I have over 10 years experience doing just that. Surely by that measure, I’d be able to code blind in any of 5 different languages? Sorry to disappoint, but no. I tackle every problem on its merits. I rely on proven techniques, of course, but more frequently I refer to previous work done, or online resources. The recall of knowledge is far less important than its application. Besides, do you really think you can remember everything about a certain API, language or framework? Even if you could, it’d only be out of date next year, so why bother? There are certain tools or techniques which never date and are broadly applicable, these are worth remembering. But remembering specifics or minute details which may only server you once or twice in your programming life is a complete waste of space.

Be an expert on things you DO need to remember. 

Of course, it’s not all as easy as forgetting whatever you like. The idea of clearing space in the old memory banks is to make room for something else. In this case, when you’re expected to be an expert, you MUST be an expert. In situations when you can’t rely on someone else, you can’t look it up and you really DO need to know, then it is absolutely essential that you have the answer. It’s ok to be a slacker when it doesn’t matter, but when something is your responsibility and people look to you for the answer; you have a duty to those around you to know your stuff inside out. We're not all programmers, and we don't all of the Internet at our fingertips every day of the week. If you need to know your stuff, make sure you bloody well know it.

Coming up:

2 - Work to your strengths, but remember your limitations.
3 - Too much information is a bad thing.
4 -  What's the worst that can happen?
5 - The better way to prioritize.
6 - Why task lists don't work.
7 - Sticky notes, and why they rock.