Fire and Motion


Joel Spolsky was one of the key programmers at Microsoft who created the MS Excel program. He eventually left Microsoft to start a company of his own, and wrote an interesting essay on how hard it is to do the productive work that you want to do. He says:

Many of my days go like this: (1) get into work (2) check email, read the web, etc. (3) decide that I might as well have lunch before getting to work (4) get back from lunch (5) check email, read the web, etc. (6) finally decide that I’ve got to get started (7) check email, read the web, etc. (8) decide again that I really have to get started (9) launch the damn editor and (10) write code....

Somewhere between step 8 and step 9 there seems to be a bug, because I can’t always make it across that chasm....

Maybe this is the key to productivity: just getting started.

When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion.

You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can’t fire at you. (That’s what the soldiers mean when they shout “cover me.” It means, “fire at our enemy so he has to duck and can’t fire at me while I run across this street, here.” It works.) The motion allows you to conquer territory and get closer to your enemy, where your shots are much more likely to hit their target. If you’re not moving, the enemy gets to decide what happens, which is not a good thing. If you’re not firing, the enemy will fire at you, pinning you down.

I remembered this for a long time. I noticed how almost every kind of military strategy, from air force dogfights to large scale naval maneuvers, is based on the idea of Fire and Motion.

It took me another fifteen years to realize that the principle of Fire and Motion is how you get things done in life. You have to move forward a little bit, every day. It doesn’t matter if your code is lame and buggy and nobody wants it. If you are moving forward, writing code and fixing bugs constantly, time is on your side.

Fire and Motion, for small companies like mine, means two things. You have to have time on your side, and you have to move forward every day. Sooner or later you will win. All I managed to do yesterday is improve the color scheme in FogBUGZ just a little bit. That’s OK. It’s getting better all the time. Every day our software is better and better and we have more and more customers and that’s all that matters.

Until we’re a company the size of Oracle, we don’t have to think about grand strategies. We just have to come in every morning and, somehow, launch the editor.

This is true in language learning as well. You have to move forward a little bit every day. If you are moving forward, time is on your side. You will eventually become fluent in reading the New Testament in Greek.

Much of Joel's essay is talking about software development strategies, and is pretty technical. But if you wish to read the whole thing, it's .