Ben Northrop


Decisions and software development


Politics and Programming


(0 comments)
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 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?


Comments (0)

 None so far!