The Expanding Bureaucracy
or, Why Not Do It All?

I.

Do you ever think: "This is stupid. Why do it that way?"

Nothing happens for no reason. If you want something to happen, you need a way to make it happen. You do not need the best way, but just enough.

Say you have a great idea for a software project. You have the skills and you are motivated. Yet somehow it does not happen; your fingers do not type out the code. Now say an organization puts together a team of developers of lesser skill, with all their pointless meetings and speghetti code, and they get it done. It is not an impossible project. Their fingers do type out the code. How?

Consider the notion of "the expanding bureaucracy" — the irrational gear that turns things, somehow gets things to done. The bureaucracy is expanding because somehow it works, it is a way and reason why. Whatever it is doing, however bad it is, it is doing something.

Do not despair of realizing your great ideas. You do not need bureaucracy, but you do need to do things like-to whatever it is that it does, things that will get your fingers moving and get the code written.

II.

Should it be possible for one person to realize an idea by doing the work of many? In the world of software, it has happened enough times to show both that it is possible and that it is the exception, rather than the rule.

Why may it be possible? Code breaks down into separate modules. If one person could do any of the individual modules, then they should be able to do the whole program. And there are, indeed, people that have written compilers, OSes, and games by themselves.

Then why may it not happen?

Imagine a split screen, a solo developer on one side and a team developer on the other. The team developer is moving his fingers and typing out code. The solo developer cannot do anything. Why not? And what is the reason why the team developer can type?

There is no difference individually. There is not anything more that the team developer has as an individual that moves his fingers to type out code. What then? The team developer is within an organization that has a bureaucracy that moves him to write code.

This is not easy to appreciate. How can something be both irrational and necessary? Bureaucracy must needs be irrational because there is no rational way to do something that has never been done before. Once it has been done, in hindsight many things seem unnecessary. Why? Because you would not repeat them if you had to do it again. But if you never got there to begin with, how can you have the hindsight to say that anything was useless? That is like a temporal paradox.

So, if you are stuck, the way to advance may be to do things that might not be strictly necessary and yet are not necessarily useless.


« index »

« subscribe »