|
My first exposure to political philosophy was Hobbes's Leviathan, which I proceeded to analyze as an engineer would. However, almost at the same time, I came across agent-based modeling and complex systems, which I found puzzling because they differ in a fundamental way from the kinds of systems I was used to studying, and posed a serious problem for Hobbes too. Hence, my two main approaches to questions of how to organize political society are the engineering approach and the complex systems (aka adaptive systems) approach. Combining the engineering approach and the complex systems approach while focusing on people (e.g. human psychology, cognitive science, a care for human wellbeing) can result in a powerful interdisciplinary methodology. Engineering and political philosophy have one important thing in common: they both deal with organization given constraints and limited resources. This is why software engineers are so concerned with efficiency, Big Oh notation, and memory. Similarly, there would be no need for distributive justice in a world in which everything was in abundance (Hume's "circumstances of justice"). In fact, engineers can be quite ingenious when it comes to systems design with limited resources: consider how the heap and the stack face each other and so grow towards each other (at least in C, but probably in other programming languages too). This is ingenious because this allows flexibility as to how much memory the heap and the stack will occupy while keeping the total amount of memory used by the application capped. Another point of overlap between political philosophy and software engineering is stability. We want computer systems to be stable (hence the importance of loose coupling or invariants for example) and, similarly, we want political systems to be stable (hence Rawls's concern with social stability and an overlapping consensus instead of a mere modus vivendi, with the latter being sensitive to shifts in power). By the way, I have avoided saying "computer science" on purpose to avoid referring to ideal theory. An engineer can never assume that his implementation will run on perfect hardware under perfect conditions. Any software developer who tries to program a robot (e.g. an autonomous vehicle) quickly learns that lesson. Similarly, a good political philosopher should never assume that people are perfect either. Human beings are fragile at best (e.g. consider Milgram experiments and the like). Hence, James Madison's approach to the U.S. Constitution as a blueprint for an adaptive political system that can take imperfect input and provide much more perfect outputs (thanks to Jerry Gaus for phrasing it this way). Other engineering approaches that I think are helpful in thinking about political theory are input-output, black box design, bootstrapping, and so on. (Evolution and complex systems need not be the only pervasive paradigms.) In general, I think the engineering approach can be helpful in other areas as well, especially where there is a need to identify problems ("debug") and design or analyze systems (even if these systems weren't explicitly designed, but instead are complex systems with emergent behavior). So if it were up to me, I would expose students of political theory and law to a little bit of engineering. Credit: Every thought is inspired by something. This one was inspired by chatting with my friend Leo Beletsky, j.d. on a hot summer night in philly and my interview at About.com on a hot summer day in nyc. June 15, 2008. See also: Re-Engineering Philosophy for Limited Beings by Wimsatt (although nothing there about political theory). Although if you want to start reading political philosophy, there are much better places to start (e.g. John Stuart Mill's On Liberty for example or Michael Walzer's Spheres of Justice or Just and Unjust Wars). As far as engineering approaches to economics go (as opposed to the classical economics perspective), there was Saint-Simon. But of course engineering doesn't imply utopian socialism. |