commenter-thread

Running in a command-line window on my computer is a little program called scraps. It replaces all the little scraps of paper you write something on and then promptly lose. I wrote the first version 34 years ago, plus-or-minus one. It's in absolutely vanilla C, and over the decades I've ported it to every operating system I've used. It makes as few assumptions about the underlying platform as possible. I use it every day.

Very little in software is ever totally discarded, and your own code can come back and bite you in the butt. I once threw together a bit of code to handle the peculiar timing issues of an early laser printer. It required specific delays in the data flow under some circumstances or it barfed. I figured it was a one-off and would be tossed soon (as in weeks). Five years later I got a phone call from someone who had been charged with updating that code to handle the timing oddities of their new laser printer. Apparently some computer center had bundled up useful bits of code and passed them around all of the offshoot companies when the Bell System was split up.

That said, I don’t think it’s merely a matter of raw brain power.

I'm old, and programmed back in the day when a 10x spread among the programmers in a shop was not unusual (The Mythical Man-Month was a new book; so was Weinberg's Psychology of Computer Programming, which never got as much credit as it should have). Sometimes it was sheer brainpower. Often that was a matter of "trick" memory -- some people could hold a ridiculous amount of the overall structure of the code in their heads, all at once. Often it was domain knowledge -- much programming was done by domain experts rather than dedicated coders. It was a time that didn't include the enormous collections of libraries that are available today -- the task might include re-inventing a number of wheels. Most of the 10x people had their own libraries tucked away so they didn't do that. Lots of less-usual tools existed but were not widely known -- regular expressions, compiler-compilers, etc. The only time I was accused of being one of the 10x people was when I made use of those types of tool, and only had to write a tenth as much code as everyone expected.