Slashdot Mirror


Software Engineering Has Its Own Political Axis From Conservative To Liberal

An anonymous reader writes "Steve Yegge is back at it again. This essay is on the notion that software engineers range from conservative to liberal in their notion of software and how it should be built. He says, 'Just as in real-world politics, software conservatism and liberalism are radically different world views. Make no mistake: they are at odds. They have opposing value systems, priorities, core beliefs and motivations. These value systems clash at design time, at implementation time, at diagnostic time, at recovery time. They get along like green eggs and ham. I think it is important for us to recognize and understand the conservative/liberal distinction in our industry. It probably won't help us agree on anything, pretty much by definition. Any particular issue only makes it onto the political axis if there is a fundamental, irreconcilable difference of opinion about it. Programmers probably won't — or maybe even can't — change their core value systems. But the political-axis framework gives us a familiar set of ideas and terms for identifying areas of fundamental disagreement. This can lead to faster problem resolution.'"

10 of 283 comments (clear)

  1. "They get along like green eggs and ham" by Cornwallis · · Score: 5, Funny

    Does this mean they sit on a plate waiting to get eaten?

    1. Re:"They get along like green eggs and ham" by ildon · · Score: 5, Informative

      Terrible analogy. If you actually read Green Eggs and Ham to the end it turns out they taste awesome.

  2. Entire Article by Anonymous Coward · · Score: 5, Informative

    Since you have to subscribe to Googer+ to get it (WTF?):

    Notes from the Mystery Machine Bus

    I've spent the past eight years (starting back in June 2004) writing elaborate rants about a bunch of vaguely related software engineering issues.

    I was doing all that ranting because I've been genuinely perplexed by a set of "bizarre" world-views held dear by -- as far as I can tell -- about half of all programmers I encounter, whether online or in person.

    Last week, after nearly a decade of hurling myself against this problem, I've finally figured it out. I know exactly what's been bothering me.

    In today's essay I'm going to present you with a new conceptual framework for thinking about software engineering. This set of ideas I present will be completely obvious to you. You will probably slap yourself for not having thought of it yourself. Or you might slap the person next to you. In fact you probably have thought of it yourself, because it is so blindingly obvious.

    But in my thirty-odd years as a programmer I'm pretty sure this way of thinking about things, if it already existed, has never been mainstream. That assertion is backed by what has to be at least ten Google searches that turned up nothing. So I'm pretty confident.

    I'm going to make it mainstream, right now. Watch!

    And I suspect this conceptual framework I'm giving you will immediately become, and forever remain, one of the most important tools in your toolkit for talking with -- and about -- other programmers.

    The punch line, a.k.a. TL;DR

    I won't keep you in suspense. Here is the thesis of this looooong essay. It is the root cause that motivated over half of my ranting all these years, starting at Amazon and continuing here at Google.

    (Note: I Do Not Speak For My Employer. This should be patently obvious. When employers want someone to speak for them, they hire a person like the Mouth of Sauron, to make absolutely sure everyone knows they are speaking for the Employer.)

    My thesis:

    1) Software engineering has its own political axis, ranging from conservative to liberal.

    (Note: Technically, you could stop reading right here and be at pretty much 90% comprehension. In case you care.)

    2) The notions of "conservative" and "liberal" on this political axis are specialized to software engineering. But they exhibit some strong similarities to their counterparts in real-world politics.

    3) Everyone in the software industry who does stuff related to programming computers falls somewhere fairly precise on this political spectrum, whether they realize it or not.

    Put another way, YOU are either a liberal or a conservative software engineer. You may be more of a centrist, or maybe an extremist, but you fall somewhere on that left/right spectrum.

    Just as in real-world politics, software conservatism and liberalism are radically different world views. Make no mistake: they are at odds. They have opposing value systems, priorities, core beliefs and motivations. These value systems clash at design time, at implementation time, at diagnostic time, at recovery time. They get along like green eggs and ham.

    I think it is important for us to recognize and understand the conservative/liberal distinction in our industry. It probably won't help us agree on anything, pretty much by definition. Any particular issue only makes it onto the political axis if there is a fundamental, irreconcilable difference of opinion about it. Programmers probably won't -- or maybe even can't -- change their core value systems.

    But the political-axis framework gives us a familiar set of ideas and terms for identifying areas of fundamental disagreement. This can lead to faster problem resolution. Being able to identify something quickly as a well-defined political issue means we can stop wasting time trying to convince the other side to change their minds, and instead move directly into the resolution phase, which (just as in politics) generally boils down to negotiation

  3. We need to politicize software development by cvtan · · Score: 5, Insightful

    Because, you know, there are like only two ways to code: Liberal and Conservative. There certainly can't be a THIRD way like Funny or Informative or Surprise and Fear. Damn! Or Ruthless Efficiency!

    --
    Sorry, but gray text on gray background is making my eyes bleed.
  4. It comes down to purpose, not conservatism. by gestalt_n_pepper · · Score: 5, Insightful

    If you're getting paid for your software, there's one set of priorities. If you're doing it for your own satisfaction, there's quite another. Not understanding or being able to separate business from the actual activity of writing software seems to be the problem.

    I see this on a daily basis where I work. Younger software developers seem to think that "cool" and "new" is a good reason to do things - which it is, as long as it doesn't get in the way of making money. When there's a client involved and significant money, "cool" and "new" are only good if they actually help sell and maintain the software. The client doesn't care about frameworks, or ruby, or agile or lambda expressions. They care about cost, reliability and usability. Change for its own sake, or to gratify only the programmer is frequently a problem.

    --
    Please do not read this sig. Thank you.
  5. Re:Yep by JWW · · Score: 5, Interesting

    The conservative/liberal dynamic applied to software development is total bullshit.

    Software development has and Agile/Waterfall split, professionals in the business know this, its as simple as that. Applying conservative and liberal as tags is stupid.

  6. Re:just come out and say it by Impy+the+Impiuos+Imp · · Score: 5, Interesting

    I started in AI, moved on to desktop apps, and have neen doing deeply embedded automotive stuff for 10 years now.

    I assure you, when a bug changes from, "Oh, post an update on the web site" to a $100 million, government-ordered recall, your priority changes quickly.

    I would recomment a 3 year stint in embedded for app programmers. You'll be shocked how sloppy you are, and, more importantly, how needlessly sloppy. Many techniques can be incorporated without slowing down the freewheeling development much at all.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  7. Re:You Say "Steve Yegge" Like I Would Know... by TheMathemagician · · Score: 5, Insightful

    I've no idea who Steve Yegge is or what he's supposedly "at again" but I wish he'd stop - or that /. would just stop featuring him. This article is just claptrap from start to finish where he projects his completely artificial and false one-dimensional scale onto clearly the only political model he knows - America's. Compile-time binding is conservative and run-time binding is liberal? Oh please.

  8. Re:You Say "Steve Yegge" Like I Would Know... by mcgrew · · Score: 5, Funny

    Well, I never heard of him, but he does have a wikipedia entry so he can't be that obscure.

  9. Re:You Say "Steve Yegge" Like I Would Know... by 517714 · · Score: 5, Insightful

    Credibility? No as a blogger, he either chose words to incite or he needs a thesaurus. "Cavalier" is the word he wanted not "liberal." He should have stuck with "risk averse" instead of "conservative." Liberals are frequently risk averse; otherwise they wouldn't want the social safety net of healthcare - that is far from cavalier. Conservatives are frequently cavalier otherwise they might consider the ramifications of AGW in spite of weak evidence.

    Cavalier is, "So what if a little shit gets in your hamburger."

    Risk averse is, "If shit gets in the hamburger we'll have to throw it out, so don't let shit get in the hamburger. Keep the hamburger away from the shit. Keep the shit away from the hamburger. Don't sell hamburger with shit in it. Don't buy hamburger from someone who might let shit get in the hamburger. Cook the hamburger until it's well done, just in case it has shit in it." It's a series of rules to keep everyone out of trouble.

    Liberals variously want us to feel good about how little shit there is in the hamburger; start a governmental body to regulate how much shit should be in the hamburger; figure out a way to pick the shit out of hamburger; eliminate the hamburger adulterating the shit; claim that shit is hamburger; etc.

    Conservatives variously want to make those responsible pay for having shit in the hamburger; want to allow as much shit in the hamburger as the free market will allow; claim that shit in hamburger is God's will; claim that shit is hamburger; etc.

    Note how both conservatives and liberals are likely to stumble across a "solution" that isn't.

    --
    The US government have made it clear that we have no inalienable rights; any we do not defend vigorously will be taken.