Why It’s Time The Government Learned How to Code

Computers are eating bureaucracy. This should come as no surprise. Rigidly and programmatically checking a series of boxes is computers’s bread and butter. Computers eat forms for lunch. Automated computer systems are faster and more efficient at virtually everything a bureaucracy does. So naturally the government here in the U.S. is building its latest bureaucracy, the Federal insurance exchange mandated by the Affordable Care Act, as an online-only endeavor. Recent news stories have widely covered the failures in the system, both on the customer and insurer sides. The news has also widely covered the Canadian contractor CGI that is building the site for the government.

It is impossible not to notice that this is not how Silicon Valley makes consumer websites. Corporate internal websites where functionality trumps interface design are often made by big contractors, and they are often kludgy nightmares. But consumer website startups begin with a concept and build up a team of designers and coders who continuously iterate on interface and featureset questions. In a some cases the design chops of the team seem to be more valuable to potential investors or acquirers than, you know, things of actual monetary value like ad sales or revenues or even active users.

That kind of workflow is often not possible when a contractor does the work. Soon they have put a lot of poorly documented in-house ideas everywhere and the costs for someone else who wanted to get up to speed increase. If they follow good coding practices and comment clearly they are acting against their economic interest. That’s a bad conflict to have.

Every new responsibility of government bureaucracy (and a significant portion of existing responsibilities too) will be digitized. The result will be faster, more efficient, less labor-demanding, and less corrupt — if the software is designed well.

It’s time for government to adopt best practices for software design. There is no law of the universe that says only private companies can make good software — good software has been made by loose groups of open source contributors, by companies, by universities and by individuals working alone. Bad software has also been made by groups of all those types. Government too can make good software by looking at what’s similar among successful institutions’ approaches: build a team from a small size up and incentivize staying on; document everything; use a continuous process of feedback and improvement rather than a ‘ship date’ model; test long and hard. There are more best practices that are pretty well documented out there, but that’s a start. I see no reason government couldn’t utilize these principles and create powerful, money-saving, service-providing software that replaces massive bureaucracies with small, experienced teams of programmers.

And the alternative, I’m afraid, is that the government’s hamfisted approach to semi-privatized contracting will earn it ill will and low expectations. This will lead to worse software from the government (though not necessarily less of it — even bad software is much cheaper than humans). In short, the government needs to learn to code, because computing is eating governance just like it’s eating everything else, and increasingly governing and coding are the same thing.

Three Ways to Tackle Societal Problems, Or The Importance of Technological End Runs

Most solutions to societal problems fall into one of three categories—cultural, legal, or technological. Consider a disabled man, who lacks the use of his legs. We want to ensure that this man has equal access and isn’t unfairly discriminated against. We can institute:

  • A Cultural Solution — Encourage everyone to be considerate of this man’s needs.
  • A Legal Solution — Enforce laws that make it illegal to not provide equal access to this man.
  • A Technological Solution — Just give the man robot legs and call it a day.

Cultural solutions generally don’t hurt, but they tend to be slow-moving and in the worst cases can be completely ineffectual. Legal solutions require the use of centralized state power, and are thus subject to all the associated problems. Even in the above example, the potential for governmental abuse is clearly present: it’s not hard to imagine a bureaucracy imposing excessive fees and requirements on businesses and individuals, all under the pretense of making things more “handicap-friendly.”

Technological solutions, on the other hand, have the potential to bypass both cultural lethargy and bad policy. If you actually want to change the world for the better, with a reasonable amount of effort and on a reasonable timescale, technological solutions have a lot of advantages.

Good philanthropic institutions tend to understand this truth. For example, if you want to help solve the problem of STDs and unwanted pregnancies by encouraging condom use, you can institute:

  • A Cultural Solution — Just tell people to use condoms. (While sex education is certainly a good idea, it is far from a complete solution given how intractable horny people are.)
  • A Legal Solution — Mandate the use of condoms. (If this sounds absurd, note that my county just voted to force porn actors to wear condoms in all sex scenes.)
  • A Technological Solution — Design a better condom that people will be more likely to use.

This might seem like an obvious point I’m making, but I find that all too often people tend to inadvertently leave technological solutions out of debates. Many arguments get bogged down in fights between two competing legal solutions. Meanwhile some lateral technological solution is just sitting there, waiting to be exploited. Often times, the energy that is spent fighting over competing policy visions, could be better spent fostering some engineering project. For example, what would save more lives per unit of effort? Fighting a difficult political battle to enact tougher gun control laws aimed at criminals who are already set on breaking the law? Or researching biometric locks that might at least do away with the significant number of accidental gun deaths?

The importance of technological solutions is particularly important to remember today. As technological progress accelerates, many old cultural and political debates become susceptible to technological end runs.