-2000 Lines Of Code

I recently reported the sad news that Bill Atkinson—considered by everyone who knew him one of the best programmers of all time—had died. One of my favorite stories about him was recounted by Andy Hertzfeld at his Folklore website. Someone just reposted a link to the story and even though I’ve written about it before, it’s worth revisiting.

The TL;DR is that just as Apple was getting ready to release the Lisa software some management drone decided that it would be useful to track progress on the project and that the way to do that was to have each programmer provide a weekly report of how many lines of code they’d written that week. Anyone with a functioning cortex will have no problem seeing the problem with that plan. It’s the poster boy for Goodhart’s law: pretty soon every developer would be reporting thousands of lines of code every week and the code base would become bloated, inefficient, and slow.

Atkinson, of course, had no problem seeing how ridiculous the new dictum was. Serendipitously, the week the requirement went into effect, Atkinson had been working on optimizing Quickdraw’s region calculation code and was able to make it 6 times faster while reducing the amount of code by 2000 lines.

Atkinson expressed his disdain by reporting his progress as -2000 lines of code. It didn’t take long for management to stop asking Atkinson for the report.

The story is so perfect that it’s almost impossible believe in the existence of a manager actually believing such a policy would be a good idea. I can assure you they exist. I have seen, more than once, such measures being proposed and sometimes even implemented. It’s another example of why Management should keep its nose out of the inner workings of Engineering.

This entry was posted in General and tagged . Bookmark the permalink.