The point at which your project becomes bigger than your head

I’ve seen it argued that a measure of a good programmer is the amount of “stuff” they can keep in their head at one time.

I don’t mean simple memory — I mean that they can retain a larger mental map of what’s going on. They see more of the dependencies and relationships and elements of their project at once, which allows them to write better code and track down issues more quickly.

The evidence for me is when I don’t recall how (or whether) I’ve solved a particular problem. So I am looking for an term to describe this tipping point.

It’s an important moment: it’s the one where entropy tends to set in. You no longer know that some distant piece of logic is correct; rather, you have to trust that the you-from-a-month-ago did good work.

And it’s scary. Often, I am pleasantly surprised to find that what I did was pretty good. Similarly often, I wonder what the previous me was thinking.

It’s also a big deal organizationally. Your product now has a scope that exceeds one person’s grasp, which I believe to be a fundamentally different beast.

Getting over this hump is hard. Before the hump, you can depend on one person’s sheer mental prowess to produce a great product. After the hump, their brain is no longer enough and must be replaced by things like procedures and external discipline. Yuck. :)

Published March 23, 2010