Ben Northrop

  Decisions and software development
Essays   |   Popular   |   Cruft4J   |   RSS    

Politics and Programming

(0 comments)
Understanding whether political ideology affects programming ideology
  February 12th 2008

So you're a conservative. Or maybe you're a liberal. Or libertarian. It doesn't matter. The point is you have some beliefs about the political system; that is, beliefs about the rights, roles, and responsibilities of governments and their citizens.

You also have beliefs (perhaps equally strong) about software development. You favor quick iterations, formal requirements documentation, code reviews, or offices with doors.

The question is, what do these beliefs have to do with each other? Does you being a conservative or a liberal have any relationship to you being an "agilist", or Java guru, or refactoring zealot? In other words, is there some hidden correlation or correspondance between the two sets of beliefs? And if there is, what would it tell us? How would it help? Well, this is something I'm curious about, so I've created a very simple and unabashedly un-scientific survey to test this query.

If you'd like, take the survey and see where you lie on both the political and software development spectrums...and then check back soon when (knock on wood) I'll have a reasonable sample size and will have analyzed the data and extracted some amazing, insightful correlations that will shake the very foundations of the software development world. Or not! But in any case, please be assured that I have *no* hidden agenda here - you can count on no such specious arguments: "liberals love unit testing, unit testing is great, therefore liberals are great". This is just an intellectual curiousity about how political beliefs shape professional beliefs. I have some hypotheses, but don't want to bias the results - so again, check back. Thanks!

Please rate the following:
    (1: strongly oppose, 5: strongly favor)
1. Environmental regulations 1 2 3 4 5
2. Strong military 1 2 3 4 5
3. Gay marriage 1 2 3 4 5
4. Universal healthcare 1 2 3 4 5
5. Tax cuts 1 2 3 4 5
6. Welfare system 1 2 3 4 5
7. Right to abortion 1 2 3 4 5
8. Capital punishment 1 2 3 4 5
9. Government funded public transportation 1 2 3 4 5
10. Gun control 1 2 3 4 5
11. Code reviews 1 2 3 4 5
12. Quick iterations 1 2 3 4 5
13. Formal requirements and design documentation 1 2 3 4 5
14. Continuous refactoring 1 2 3 4 5
15. Self-documenting code (over in-code comments) 1 2 3 4 5
16. Modern IDEs (over Emacs, vi, etc.) 1 2 3 4 5
17. Offices (over cubes or open areas) 1 2 3 4 5
18. Up-front design 1 2 3 4 5
19. Unit testing 1 2 3 4 5
20. Flat/decentralized organization 1 2 3 4 5
21. Pair programming 1 2 3 4 5
22. Convention over configuration 1 2 3 4 5
23. Collective ownership of code 1 2 3 4 5
24. Java technologies 1 2 3 4 5
25. Microsoft technologies 1 2 3 4 5

After Thoughts...

A couple things I should mention:

  • I realize this is completely American-centric. I apologize. I'm pretty sure there's no "isomorphic" mapping between the American political spectrum and that of other countries (i.e. gun control is "liberal" here so gun control is liberal everywhere). Of course liberalism and conservatism exist in other countries, but I imagine they are of different flavors, and they hold different issues paramount. Please let me know what you think here!
  • To many, the very word "political" refers to situations that are painfully contentious, insoluble, and divisive. As programmers, we strive for the very opposite: concensus, solutions, and progress. Why muddy the waters? Well...I guess I'd rather explain that in my next blog - armed with some empirical data. In short, though, I do think there's value in an awareness of this relationship.
  • Yes, of course I realize this survey lacks any shred of statistical rigor! There's the obvious selection bias (i.e. respondants to my blog probably don't represent well the whole of programmers), my questions are vague and probably arbitrary, and obviously any yahoo could corrupt the results by entering junk data. I choose to ignore these, though - cause it's really just for fun. If any clear correlation emerges, it may, however, indicate something real is there. Who knows?!



I believe that software development is fundamentally about making decisions, and so this is what I write about (mostly). I'm a Distinguished Technical Consultant for Summa and have two degrees from Carnegie Mellon University, most recently one in philosophy (thesis here). I live in Pittsburgh, PA with my wife, 3 energetic boys, and dog. Subscribe here or write me at ben at summa-tech dot com.



Got a Comment?

Name:
Website:
Are you human:
Comment:

Comments (0)


 None so far!