A theory about organizations, inspired by OpenBoot.
As a company grows, which capitalism says it must, jobs change from
something someone needs to do from time to time, to something a person is
hired to do, to something a whole organization does. There are countless
examples, but OpenBoot serves as an illustration. Like some others on this
list, I'm sure, I've written a number of boot ROMs over the years, in the
service of a project for which a bootable system was a prerequisite. Not
hard, a day or two's work followed by some maintenance. So when I first saw
a major software project in the form of a boot ROM, which may well have
been my first taste of OpenBoot (it was a Sun thing, I'm pretty sure) I was
bemused.
But over time I've come to understand. As Sun grew (if I have the wrong
company, I apologize, but it's endemic in any industry, and if I have the
details of OpenBoot wrong, ditto), for various reasons the maintenance of
the boot ROM became more time consuming, until eventually it became
someone's full job, and then the boot ROM department's job. But allocating
people's time to tasks is an inexact process, plus once one's full focus
becomes boot ROMs, one's head fills with ideas. If one works on boot ROMs,
every problem one thinks about becomes one the boot ROM can solve or at
least help. (This particular disease is a major infection for compiler
teams.) And so the boot ROM grows and grows and grows, accumulating
features that are fun for the team to work on, but in the high-altitude
view not really worth it. As I said, though, it's really about allocating
people's time. "I have nothing to do at the moment, why don't I put a
FORTH
interpreter into the boot ROM? And then I'll make it an industry standard.
Anyway it's my job to do boot ROMs so what else should I do now?" But you
wouldn't have done that if the boot ROM stayed at the level of the stack it
should have, doing the minimum necessary to get the operating system up and
running to let it do the heavy lifting. I never needed a FORTH interpreter
in my boot ROM. Maybe some thought they did but did they really? And was it
the right use of resources to put it there?
This is what happens in organizations. Employee performance evaluation at
Google followed this same arc until the need to keep the organization
responsible busy generated a process that placed a staggeringly expensive
tax on the rest of the company, to the point that a secondary tax was paid
in trying to figure out how to deal with the primary tax.
This then is my theory of capitalism: Things grow until they break into
pieces that must each be fed individually, triggering more growth that
eventually become tumors that sap the strength of the organization. Small
companies can do well because they haven't grown big enough yet to face
this problem. Not an original observation, but perhaps no one has used
OpenBoot as its exemplar before.
Happy New Year.
-rob
But