Politics and Programming


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'm an "old" programmer who has been blogging for almost 20 years now. In 2017, I started Highline Solutions, a consulting company that helps with software architecture and full-stack development. I have two degrees from Carnegie Mellon University, one practical (Information and Decision Systems) and one not so much (Philosophy - thesis here). Pittsburgh, PA is my home where I live with my wife and 3 energetic boys.
I recently released a web app called TechRez, a "better resume for tech". The idea is that instead of sending out the same-old static PDF resume that's jam packed with buzz words and spans multiple pages, you can create a TechRez, which is modern, visual, and interactive. Try it out for free!
Got a Comment?
Comments (0)

 None so far!