Computer Science and Policy

It seems pretty obvious to your poor correspondent (YPC) that there is a correspondence between policy and computer science, but over the years it’s apparent that this obviousness is not shared by others, so let’s go through the logic which should be obvious to most people who have done serious computer programming.

When YPC programmed seriously, it was the case when he had to return to code that he himself created months ago, it took a while to figure out. Moreover there were certain bits of code he never successfully reverse engineered. Finally, when the code got sufficiently large and intricate, he could not predict what impact changes would have on the code. He would have guesses and theories about what would happen, but the more complex the code got, then the more frequently  he was wrong.

So how did his behavior change to adapt to his inability to predict code impacts? Early on, he would make significant, which is to say radical changes to the code base without backing them up and ensuring such changes couldn’t be undone if they didn’t work out. Note that code repositories have been created to support this functionality.

So I find it curious that senior policy makers and political entrepreneurs often advocate such fundamental changes to socio-economic systems that (a) are far more complex than YPC’s code, and (b) about which they know far less. That is, YPC was the world’s foremost expert on his own code—nobody on the planet knew more about it than he did—so if he couldn’t predict what was going to happen, what possible hope could these policy entrepreneurs hope to have?

First, the answer is they can’t, which has been demonstrated by Phil Tetlock. He has shown that political expertise is highly suspect and that such people are better at explaining away their failures than of accurately predicting the outcomes of radical policy interventions. Of course this is to be expected based on the previously described logic, which is applicable. Also, it would behoove critics to investigate carefully the benefits received by policy entrepreneurs because that’s probably the underlying motivation.

Second, the process I developed of being careful with my code changes, thinking them through, testing them,  and ensuring that they could be backed out if necessary has an analogue in the policy domain. Given the consequences of economic, security, and social policies, one would expect that they would be thought through with at least the care that computer scientists give to their code, but one would be wrong. From what YPC has seen, far more care is given to selling and convincing populations to support a policy than ensuring it has been thought through to ensure it has a high probability of success, which for YPC goes by the name of being careful, responsible, and thoughtful, which does not characterize the current political policy establishment.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s