Norris Numbers: 2k, 20k, 200k, …

1 minute read


“A novice programmer, the kind Clift Norris is referring to, learns to crawl, then toddle, then walk, then jog, then run, then sprint, and he thinks, “At this rate of acceleration I can reach the speed of a supersonic jet!” But he runs into the 2,000 line limit because his skills don’t scale up. He must move differently, using a car, to go faster. Then he learns to drive, first slowly, then faster, but runs into the 20,000 line limit. Driving skills don’t transfer to flying a jet plane.”
– Lawrence Kesteloot (2014) Norris Numbers

A wonderful, pragmatic article on how the complexity impacts the way we need to think about stuff. That’s why there can be wonderful programmers… that however can’t build complex architectures.

I read the Norris Number not as a progress scale, but as a specialization scale (maybe with the exception of the first threshold, 2k). A great 20k programmer and a great 200k programmer can be perfect… for two different kinds of projects.

I feel it’s more important to know what kind of Norris Number works for you better, and see if you want to focus on that, or jump to the next level.

I also love this other quote:

“Every Line Is a Potential Bug”
— Lawrence Kesteloot (2014) Every Line Is a Potential Bug

Thanks to Beau for the link.