Being the Averagest — cover art: a contemplative fox standing at the foot of a long winding mountain staircase rising into mist, a small wooden sign at the trailhead with no marks on it, and the fox holding a battered notebook as he tries to guess how far up the stairs he already is. 👍

2004 · Drunken Blog Rants · Rant

“Most programmers have only a vague notion of how competent they are at what they do for a living.”
— From Being the Averagest, October 2004
Read the essay

© 2004 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

I was deeply influenced by Paul Graham's writings in the late 1990s and early 2000s. This essay was inspired by his "Beating the Averages".

In the essay, I explore how not being able to reliably measure and compare programmers, at a precise granularity, leads to lack of competition and lack of self-improvement among engineering populations. But self-directed self-improvement is exactly what separates the great programmers from the average ones.

AI Notes

Written October 2004 (Steve laid up with the flu, "at my absolute grumpiest") and framed around Bob — the median working programmer who thinks he's pretty good. Bob has no way to compare himself; his manager has no way to compare him; the five-level stack rank (the "B.S. system") is so coarse Bob would need to be 2× better than the engineer next to him to register, a margin Steve calls the Blub Threshold. With no signal that he could be better, Bob keeps writing the kind of code he wrote five years ago. At the center is the Bob Paradox: the cycle of thinking you know enough, realising you don't, feeling briefly horrified, forgetting, then ten years later thinking you know enough again. Steve cops to it himself — sixteen-seventeen years into a career and just noticing how much remains. Musicians, martial artists, doctors, chess players all have mechanisms for breaking the loop (performance, sparring, certification, rating); programmers do not. TopCoder is the partial exception; everyone else is on their own.

Practicing Programming, written months later, is the practical answer.

Related listings

  • 2005

    Practicing Programming

    A few months later — the prescriptive companion. Being the Averagest names the problem; Practicing Programming gives the working answer.

  • 2005

    Transformation

    Same season — one specific example of the problem Averagest names. The refactoring-button generation is the Bob Paradox in one industry.

  • 2008

    Done, and Gets Things Smart

    Four years later, with Steve at Google — the management-side counterpart. Averagest is about Bob; Done and Gets Things Smart is about the small number of programmers who are doing the work Bob can't see he is missing.