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 firstname.lastname@example.org or even Twitter @alandownie
Read Part 1 of Optimize, don't Organize here
2. Work to your strengths but remember your limitations.
I’m usually a great navigator. I refuse to buy a GPS, not because of some manly desire to always know the directions, but because it’s a fantastic mental exercise. I enjoy the test of looking at a map, remembering the route and then getting there. What's even better is being able to get to some new location a second time, without needing to look it up again. I don't have a great memory for details, but I have a great memory for generalities. Knowing this strength and weakness of mine is how I never get lost.
Remember the turn, not the name.
The usual method for navigation is to write down a step by step recipe, “Right at York, Left at Sayers” etc. Recalling these instructions not only involves remembering many distinct (and often peculiar) names, but it requires looking for itty bitty street signs whilst trying not to run over small animals or old ladies.
The problem with remembering specifics is that it's far too easy to get them wrong. This is especially true in suburbs where street names are often along a certain theme. Our suburb, for example, are named after New York streets. I grew up in a suburb where the street names were all native trees. The cues we use to remember words or names are easily confused when you're forced to pick one name from many thematically similar names. This is especially true when you see them one at a time instead of as a whole.
In reality, it’s far easier to remember to turn left after the sports ground, or right at first roundabout, or straight until you reach the school. In a broader context, it’s easier to remember generalities than it is to remember specifics, but more on that in a moment. It also means that once you've been to a location once, you have a visual memory of where to turn instead of just a name you need to try and recall.
Know when you don’t know.
Before I go any further, if you’re lost, pull over and look at the damn map. Nothing will make you look like more of an imbecile than driving around protesting, “I’m sure it was a left at that last junction”. If you think you got it wrong, own up to it. Stop and have a look. Nobody will ever get angry at you for not knowing everything, but they will sure get pissed if you pretend you do.
In any situation, it's always better to say you need to look something up than to pretend you know. I've conducted possibly hundreds of job interviews of the years, and one trick that never failed me was to ask a candidate a question which they could not possibly remember. At least 80% of people try to prove their worth by having a guess, rambling incessantly and just hoping they hit the right answer or worse yet state a blatant untruth with absolute conviction in the hopes that if they believe it we will too. The 20% that say, "I don't know, I'd need to look it up" are the ones that get a big tick in my book. I'd rather work with someone who knows they don't know than someone who'd rather lead us all down the wrong path in an effort to impress.
Broad concepts are easier to recall than intricate details.
If you were to describe a movie plot to someone, you talk in broad terms about big ideas. It’s unlikely that when describing Die Hard (the first and best), that you’d feel the need to mention that it was in LA or that the protagonist's name was John McClane. What you’d more likely describe is, a cop, a terrorist, an office tower, explosives and hostages. Even if you haven’t seen the movie in 20 years, that is enough for you to start recalling your own finer details about the movie. Therefore, rather than trying to recall specifics, recall the big picture stuff and let your subconscious fill in the gaps for you.
Just as remembering a sports ground is easier than remembering a street name, it's also easier to remember general programming concepts than it is to remember specific syntactic rules. It's the main reason why when a developer learns one language, they can often easily jump from one to the next. Once you learn how to create a loop in one language, applying that same knowledge anywhere else is simply a matter of looking the syntax specifics of that language.
In a wider sense, broad knowledge of how an internal combustion engine works is far more beneficial (and easier to learn) than it is to learn the specifics of a particular make and model of car. Before fuel injection engines came along, pretty much ever car worked the same way. If you had replaced the distributor off a Toyota, you could probably do the same on a Ford. Knowing exactly how a distributor works isn't as important as knowing that all cars have them.
Learn to apply, not to recall.
Unless you’re responsible for making split-second decisions in a critical scenario, you are most likely always going to have time to stop and look something up. It’s far better to learn how to research and apply knowledge than it is to remember things off the top of your head. This is especially true given the wonderful source of information and knowledge that is the Internet. Whilst you may forget the specifics you learn today, you will still remember the general application of that knowledge in 20 years time.
If you have put your efforts into learning general principles and broad concepts, when you are faced with a new problem at the detailed level, your broad knowledge will allow you to fill in the gaps. Being adaptable is about taking general learning, twisting it and making it fit a new situation. If, in school, you spent your time memorising the formula for Newton's Second Law (Force = Mass x Acceleration), it will assist you in solving exactly one problem. If instead of memorising the formula, you learned how it can be altered, rearranged and applied with other formulae, then whenever you're confronted with any one of a hundred different problems, you're understanding of the concepts behind it all would allow you to invent a means to solve the problem. Anyone who spent their time rote learning formulae failed to gain the ability to apply the formula they're remembering!
In short, it is always easy to look up specifics, and it is always hard to look up their application.