Forgot your password?
typodupeerror
Programming Politics

Software Engineering Has Its Own Political Axis From Conservative To Liberal 283

Posted by Soulskill
from the another-thing-for-pudge-and-jamie-to-argue-about dept.
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.'"
This discussion has been archived. No new comments can be posted.

Software Engineering Has Its Own Political Axis From Conservative To Liberal

Comments Filter:
  • by Cornwallis (1188489) on Friday August 10, 2012 @08:34AM (#40944989)

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

    • by ildon (413912) on Friday August 10, 2012 @08:46AM (#40945141)

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

      • Totally, I mean, in the book both the eggs and the ham are green. It would be hard to suggest from the text that they don't get along--the book does not anthropomorphize them. They're just green eggs and green ham being forced on someone by some dude named Sam.

        A better comparison would be to the fox and Knox in Fox in Socks. They don't get along. And they disagree strongly regarding the propriety of the use of a sort of code (tongue twisters).

      • "Spoiler Alert!!! If you actually read Green Eggs and Ham to the end it turns out they taste awesome."

        FTFY
      • You spoiled the ending! I was half way through that book! Oh well, I found the character development of Sam I Am fairly lacking anyway...
  • by RobotRunAmok (595286) on Friday August 10, 2012 @08:37AM (#40945029)

    ...who the fuck he is.

    Note to Sales Department: I get that this is Yegge's slashvertisement ("anonymous reader writes..." sh'yeah, right...) but you still need the editors to set it up better than this if you want those click-throughs.

    • Re: (Score:3, Insightful)

      And if they want clickthroughs, better make sure TFA isn't on a subscribers-only website.

      • Re: (Score:2, Offtopic)

        by gorzek (647352)

        I was able to view it without being logged in, so I don't know what you're talking about.

        • When I try to open the article in my default browser (Firefox) I get a message "Sign in and start sharing with Google+".

          Thanks to your answer I did some more testing. I was signed into a Gmail account, and they wanted me to link this go G+. Once I signed out of my gmail account, I could access the article.

          • by gorzek (647352)

            That's odd. I even used an incognito window (so no cookies or anything) to test it, and while it did prompt me to sign in, it also displayed the article immediately without me being logged in.

    • by TheMathemagician (2515102) on Friday August 10, 2012 @09:50AM (#40945953)
      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.
      • He likes run-time binding, so it must be liberal. He dislikes compile-time binding, so it must be conservative.

        If he likes it, then it's liberal. If he dislikes it, then he's conservative. That's his worldview. The world is binary, and the other guys are wingnuts (his word).
    • by mcgrew (92797) * on Friday August 10, 2012 @09:57AM (#40946049) Homepage Journal

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

      • by idontgno (624372)

        I think you're putting waaaay too much faith in Wikipedia's "notability" test. Or, generally speaking, Wikipedia in toto.

        Or, are we being "whooshed?" Advocacy can be hard to differentiate from trolling, even humorous trolling.

  • Yep (Score:4, Insightful)

    by Anonymous Coward on Friday August 10, 2012 @08:44AM (#40945113)

    /. has hit rock bottom.

    (for the record, this left/right, liberal/conservative, tweedledum/tweedledee polarization is bullshit. When you actually talk to people, you find a range of viewpoints. Know any concealed weapon carrying liberal democrats? I do. How about social conservative republicans who buy contraceptives? Yep. Or even worse, programmers who use the Visual Studio C# .NET WPF paradigm at work, and then use a Linux desktop coding open source at home. Probably so.)

    • Re:Yep (Score:5, Interesting)

      by JWW (79176) on Friday August 10, 2012 @08:56AM (#40945257)

      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.

      • Re: (Score:3, Insightful)

        by Jawnn (445279)

        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.

        ...but buzzy, and guaranteed to generate views and clicks. Brilliant.

      • by CAIMLAS (41445)

        I was thinking kinda the same thing, but the agile/waterfall approach does have a psychological element as a preferential 'seed', from what I've seen. However, my exposure to developers is somewhat limited. Where I'm experienced is with systems people.

        Just as in real-world politics, software conservatism and liberalism are radically different world views. Make no mistake: they are at odds.

        What I have noticed with sysadmin types is that there is a very significant preferential competence bias for conservatively minded people. Creative, conservative people make damn good systems/network engineers as well. For whatever reason, it seems that there'

      • Re:Yep (Score:5, Insightful)

        by PoolOfThought (1492445) on Friday August 10, 2012 @10:11AM (#40946257)

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

        Except that the two words "conservative" and "liberal" have actual meanings outside of the political realm. Sometimes using a single word (OMG... a label!) goes a long way towards making discussions more fruitful and less laborious.

        My gut reaction was the same as yours... this is crazy! But the essay makes some good points. You're correct in that there is a split, but there are a huge number of subjects to split on and most people lean one way or the other on the majority of those items. Sure, there are those who are fiscally conservative, but socially liberal... and the same can occur in software ideals / behaviors. The author didn't call anything right or wrong - he used the words exactly as they are defined.

        Sometimes it's easier to just know that even if Fred is one liberal dude outside of work he is, at the same time, the most conservative software guy in the company. The probability of getting him to sign off on your new technology being used for a critical application is next to zero. Don't waste your time. He might not be against the tech itself, but not for that application - not at that time.

        I can see other uses for this way of looking at things as well. Both in actual sales and in "selling" you ideas. Sometimes being able to simply "frame" the problem in the "right way" according to who you're talking to will help you get more done in communicating and significant increase your odds. There's nothing new here, right. Just classifications. Marketers advertise differently and stress different benefits to different target audiences. When I'm talking to a software liberal about a new project I can explain how awesome it's going to be because things will get done faster and be more flexible, but when I'm talking to a software conservative about the same project I can explain how it will be more "fool proof", have better error handling, be more effiecient, etc.

        I'm don't know if you actually read the article (it's quite long so I doubt it based on how quickly this was posted), but the article actually goes into a lot of detail regarding the varying "conservative" software development practices, "liberal" software development practices, and the likelihood of types of companies (and right on down to the developers) that utilize each. If you don't like the labels then change them to whatever you want. Call it already done if you want, but I think the discussion (and the labels) helps to make it more concrete that there are "different strokes for different folks" and in the software world where those differences often lie.

      • by jdavidb (449077)

        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.

        Yes, and it looks especially stupid to those of us who see "conservative/liberal" as a false dichotomy in U.S. politics, and to those of us who hate the political system altogether.

    • /. has hit rock bottom.

      (for the record, this left/right, liberal/conservative, tweedledum/tweedledee polarization is bullshit. When you actually talk to people, you find a range of viewpoints. Know any concealed weapon carrying liberal democrats? I do. How about social conservative republicans who buy contraceptives? Yep. Or even worse, programmers who use the Visual Studio C# .NET WPF paradigm at work, and then use a Linux desktop coding open source at home. Probably so.)

      But liberal and conservative ARE polar opposites. One group will eat your babies. The other group will eat their OWN babies. Opposites, see?

    • Know any concealed weapon carrying liberal democrats?

      Yes; as self-defense against concealed weapon carrying right-wingers.

      The system works?

  • Entire Article (Score:5, Informative)

    by Anonymous Coward on Friday August 10, 2012 @08:45AM (#40945131)

    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

    • Takes this guy a while to get to the point, doesn't it? It's just one teaser paragraph after another.

  • by cvtan (752695) on Friday August 10, 2012 @08:47AM (#40945161)
    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!
    • "Fear and Loathing" is one of my favorite.
    • by Trepidity (597)

      Or Ruthless Efficiency!

      Neoliberal software development?

    • by tnk1 (899206) on Friday August 10, 2012 @09:04AM (#40945359)

      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!

      I'm definitely a Surprise programmer. I'm surprised when it works.

    • Is P2P software is anarcho-syndicalist?

    • by sco08y (615665)

      Because, you know, there are like only two ways to code: Liberal and Conservative.

      There are only two directions on a single axis, the existence of which doesn't rule out other axes.

      And his axis is really just "risk-taking" vs. "risk-averse", which has nothing to do with the political notions of left and right.

      But even the idea of a political spectrum is a fantasy. First, there's no center; moderatism is an agenda driven ideology that seeks to suppress certain speech through demands for civility, and to play both sides off each other and then demand concessions in return for a swing vote.

  • by slashmydots (2189826) on Friday August 10, 2012 @08:50AM (#40945179)
    What he really means is, when it gets done, 1 group wants to give it out for free and the other wants to charge lots of money and DRM it lol.
    • by Impy the Impiuos Imp (442658) on Friday August 10, 2012 @09:18AM (#40945545) Journal

      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.

    • by jeremyp (130771) on Friday August 10, 2012 @09:29AM (#40945713) Homepage Journal

      No, he doesn't. He uses "conservative" in the sense of risk averse and "liberal" in the sense of not conservative. He then defines a number of traits which help define whether you are a programming liberal or conservative. For instance, if you like strong and/or static typing (he conflates the two), you are conservative. If you like dynamic/weak typing, you are liberal.

      There are several other traits by which you can measure your conservatism/liberalism in programming terms. That exposes the flaw in the paradigm: just like in politics most people are not across the board conservative or across the board liberal. I, for example, would be labelled liberal in terms of the typing issue but conservative is respect of several of his other points - like database normalisation.

      Another problem I have with his idea is his choice of terms. For many people, me included, the political label "conservative" has strong associations with US far right politicians, who, from my perspective in the UK, are all mad as a box of frogs. He spends a lot of time at the end of the article arguing that being software conservative is not bad in the way that the political equivalent is bad, but I think he would have done better to have chosen less pejorative terminology.

      • by mooingyak (720677)

        You made it farther into the article than I could.

        For instance, if you like strong and/or static typing (he conflates the two), you are conservative. If you like dynamic/weak typing, you are liberal.

        His definitions seem arbitrary. I'm not sure I understand what static typing has to do with being risk averse.

      • He spends a lot of time at the end of the article arguing that being software conservative is not bad in the way that the political equivalent is bad, but I think he would have done better to have chosen less pejorative terminology.

        He couldn't do that, because he actually does believe that software conservatives are bad in the same way political conservatives are bad. That's why even when he was apologizing, he still called them conservatives.

  • by gestalt_n_pepper (991155) on Friday August 10, 2012 @08:50AM (#40945183)

    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.

    • That's actually pretty progressive. On most projects, developers are atrocious at estimating the time it will take to do anything. Since this is the case, they are also atrocious at estimating how much redesigning a module to improve its maintainability will save the company. Since that's an unknown value, most managers that I've met simply choose to ignore it. In those cases, the cost of maintenance is also usually ignored and is also pretty high. I'd guess a software project that I was helping to maintain
    • by bondsbw (888959)

      I mostly agree with you, but refusal to do anything different--simply because the money doesn't require it--can lead your team into obsolescence.

      I like living on the cutting edge because tomorrow, some of that will be the standard and what I'm doing today will be the mainframe.

    • 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 [...] lambda expressions.

      Lambda expressions are in fact cool, but anyone who thinks they're new must have been in a coma since the 1930s.

  • by dtmos (447842) * on Friday August 10, 2012 @08:54AM (#40945231)

    I would have gone the other way with this one. The AL programmers I know like it precisely because they have more control of the machine (e.g., they can name specific registers and memory locations for storage) than if they were using a higher-level language, where they would be at the mercy of the compiler, and its unknown decisions. If "we regard political conservatism as an ideological belief system that is significantly (but not completely) related to motivational concerns having to do with the psychological management of uncertainty and fear," then these guys manage their uncertainty and fear of the compiler by doing everything themselves, and therefore fit the definition of conservative. Yes, they're typically older; I haven't met Mel [catb.org], but he's of this type -- although because he' uses machine language, he's perhaps even more extreme. One wouldn't call him liberal, correct?

    I suppose it's possible that the spectrum line is actually more of a circle, and batshit liberal and batshit conservative are either the same, or next-door neighbors.

    • by mooingyak (720677)

      I suppose it's possible that the spectrum line is actually more of a circle, and batshit liberal and batshit conservative are either the same, or next-door neighbors.

      That would make his analogy more apt rather than less IMHO, since it can be difficult to tell apart batshit extremists from each side in real world politics too.

  • Limited view... (Score:3, Informative)

    by Anonymous Coward on Friday August 10, 2012 @08:54AM (#40945241)

    WTF... Dear America: the rest of the world doesn't divide their "world views" between left and right. Stop trying to shoe horn such a limited value system into other domains.

    Software development might have it's own set of views internally, but trying to associate one with liberalism and the other with conservatism is asinine. The context of everything would just muddle things up and the nuances would get lost. Does Yegge even have the social sciences background to even approach making this argument? Or is he just another programmer spouting off on his blog?

  • So, the main message from the article (Despite the "Author"'s efforts to slant it othewise) is that bad design and programming practises should be called "liberal" as opposed to simply ignorant?

  • It's not software developers who are conservative or liberal. It's people!

  • The guy has a point (Score:4, Interesting)

    by SmallFurryCreature (593017) on Friday August 10, 2012 @09:10AM (#40945445) Journal

    As a web developer, I am a liberal and find myself at odds with conservatives who often just can't see simple business needs. Conservatism is good for heart monitors but for building the next facebook? But the Conservative amongst you will argue, don't you think that a billion dollar, millions of visitors, holding fast amounts of private data site NEEDS to be extremely secure?

    And it shows much you don't get it if you think that. I said the NEXT facebook, which will start out as a small site with a shoestring budget and bankruptcy just a bill away. Then you need to deliver a product BEFORE yesterday and all the fancy stuff can come later when you are rich and can afford to hire the terminally slow.

    I have talked with webshop clients who wanted triple redundancy and failover to carry max expect load... YOU HAVEN'T SHIPPED A SINGLE ORDER YET! And PAY MY BILLS FIRST! Part of the reason the tech bubble burst was all these old developers insisting on enterprise grade hardware with oracle licenses coming out of your ears, meaning that even if they would have ever been able to release a product, the operating costs would have been so high, the break even point would have been somewhere after the heat death of the universe.

    The big ones that did survive made it on cheap hardware with buggy, hastily written code that was good enough to make it to the next month.

    One old school guy I worked with wanted a detailed plan for general debugging when there was a crisis... because he first wanted to fully analyse the problem before bringing the server down if it started coughing up bad orders because that is what you do in a factory, your don't shutdown an entire factory just because a few widgets come out wrong...

    The moron never managed to understand that you DO shut the entire factory down if the cost of 1 defective widget is equal to profit of an entire days output of that factory.

    For web shops, margins are tiny and customer service is very expensive. It is BETTER to be down for an entire day, then have to spend a week dealing with complaints because of messed up orders. 1 day no-profit == 1 day of low costs (highest cost are sending and goods, both of which are non existent if you don't ship anything) while shipping orders wrong so they have to shipped again gets VERY expensive REALLY fast.

    So, you shut things down and dive right in and fix it, just good enough to get up and running again.

    But doesn't that prove you should write bug free code? Only if a website has infinite resources for its startup. Most don't. If you got 10 grand to start a website, you need 5k for supplies, 3k for shipping and that leaves 2k for code. When that money is gone, the webshop either needs to have earnings coming in or it is down the tube.

    It is different if there is a large established company and you can pull a MS and just throw good money after bad. But 99% of web development ain't like that.

    Mind you, I wouldn't like to fly a plane I had written the software for.

    • YHBT.

      It just goes to show how stupid the article is.

      Apparently I'm a conservative according to most of his definitions, since I like static checking. Actually, many of the points he makes (static typing, relational schemas) are about static checking.

      I, personally like static types, because in my mental model of computing, computing is all about maniuplating data. If you don't know what the data is, then how do you maniuplate it?

      I find it's generally quicker not to write bugs than to find them after.

      Apparent

    • But the Conservative amongst you will argue, don't you think that a billion dollar, millions of visitors, holding fast amounts of private data site NEEDS to be extremely secure? And it shows much you don't get it if you think that. I said the NEXT facebook, which will start out as a small site with a shoestring budget and bankruptcy just a bill away. Then you need to deliver a product BEFORE yesterday and all the fancy stuff can come later when you are rich and can afford to hire the terminally slow.

      LOLWUT? I'm pretty far to the left of his spectrum (duck typing FTW!) but I'd have to bitchslap a coworker who counted security as "fancy stuff that can come later". You can write dynamic Lisp all day long if you want to, but leak my credit card and unencrypted password because you "didn't have time to do it the 'paranoid' way" and I'll rain the wrath of a thousand angry gods down upon you.

    • by khallow (566160)

      As a web developer, I am a liberal and find myself at odds with conservatives who often just can't see simple business needs. Conservatism is good for heart monitors but for building the next facebook? But the Conservative amongst you will argue, don't you think that a billion dollar, millions of visitors, holding fast amounts of private data site NEEDS to be extremely secure?

      Stolen or leaked credit card numbers leaked lose you about $1-10 per. And there's a good chance you aren't allowed to process credit cards any more. That's a simple business need right there.

  • by sideslash (1865434) on Friday August 10, 2012 @09:14AM (#40945491)

    "We regard political conservatism as an ideological belief system that is significantly (but not completely) related to motivational concerns having to do with the psychological management of uncertainty and fear."

    Thanks, dude. Being a conservative myself, I suppose one example of that distinction is that I think there should be more guns in the general population, because having the good people in our country be a little dangerous seems like a healthy thing to me. The reaction of liberals whenever I bring that up truly evidences a position of bold, experimental confidence and legislative permissiveness. Can't detect an attitude of fear at all in their response. /sarcasm

    That and the green eggs and ham thing. Has this guy not read the world's great literature?

    • by CAIMLAS (41445)

      The guy was/is a fucking idiot (someone in sales or marketing, maybe - the bad sales drones seem to typically be liberal), but he sort of has a point despite himself. Phrased another way, "conservatism as an ideological belief system that is significant (but not completely) related to motivational concerns having to do do with mitigating risk."

      The person who keeps a stock of a commonly used and highly cost-fluctuative item (say, bulk fuel) is not a fool. He's prudent.
      The engineer who designs a bridge to wit

    • As a conservative, the statement didn't bother me too much. We have justified fears. It's when you act on phobias that you end up in lala land.

      "It's an assault rifle with a pistol grip and semi automatic fire! BAN IT."

      The author could have formulated it more neutrally though. He should have kept his definition to just risk management - "ain't broke don't fix it". There's also different areas to apply conservatism; as sometimes conserving in one area means being liberal in another.

  • I read the entire, lengthy pile of bullshit presented and I can boil it down for you.

    The guy has a list of things he doesn't like and then associates it with a political faction he doesn't like, so he can embarrass the people who do the things he doesn't like by associating them with the political faction they most likely do not want to be affiliated.

    It's a Rush Limbaugh tactic used to polarize a topic and try to force people to behave like you want them to behave.
  • Expert Scientists announce that the sky is blue, and not, in fact, green as was previously believed by nobody at all.
  • I disagree with everything in the article. His definitions, the entire premise, his dislike for green eggs and ham as a culinary masterpiece. He's not even wrong.
  • I haven't read the article, as I often only have time to glance through these. Are they referring, as an example, to proponents of the waterfall process vs. Agile?
  • "Everyone in the software industry who does stuff related to programming computers falls somewhere fairly precise on this political spectrum,"

    Conservative to Liberal in US political terms. Hmm, USA!=World. Fail.

    Quite apart from the fact that some folk who do stuff relating to programming computers are clearly out and out anarchists if we're to judge on the evidence and I am sure you'd all agree the Open Source people are definitely Evil Commies :-)

  • Evolution by natural selection doesn't seem to fall on your over simplified scale.
  • Great. Because bickering partisanship has worked so well for politics.

  • Bullshit (Score:4, Interesting)

    by 0xdeadbeef (28836) on Friday August 10, 2012 @10:23AM (#40946475) Homepage Journal

    Just as in political journalism, he couches everything in positive language to avoid offending conservatives, because they are a protected class and their belief system must be respected.

    No, here's how it really breaks down:

    Conservative = waterfall
    Liberal = agile

    Funny that, now the resemblance to the political axis and the "reality bias" is uncanny.

  • Why... (Score:5, Funny)

    by QuietLagoon (813062) on Friday August 10, 2012 @10:25AM (#40946511)
    Why are there people who try to create binary conflicts when there really aren't any?
    • Re:Why... (Score:4, Insightful)

      by PPH (736903) on Friday August 10, 2012 @11:07AM (#40947177)

      Because there is a subset of people who can't function without a 'them vs us' mentality.

      I prefer the sporting metaphor in business organization. I'd rather work for a mountain climber than a baseball player. Mountain climbers' primary concern is to make it to the top (achieve a goal). Beating someone else's time or performance is secondary. And there is no thought of kicking the competition off the route or removing their protection.

      The conflict driven personality often performs miserably once they have 'won' a competition, having no drive or motivation to improve if there is no 'enemy' left against which they can measure themselves.

    • There are two kinds of people in the world, those who divide everything into two groups, and those who don't.
  • ... the code reviews you!

  • by anvilmark (259376) on Friday August 10, 2012 @10:54AM (#40946963)

    He's right that there are opposing ideologies, but Liberal/Conservative just muddies the water.

    Utopian believes:
    1) Zero defects is achievable and support processes should assume that will be the case after release.
    2) "Good code" is the result of using an "industry standard" language.
    3) That full functionality specifications can be collected during design from the people who will be using the system.
    4) Achieving 1-3 is more important than delivering the functionality requested by the users.
    5) Considers that the delivered project will be "complete" and further modifications will be minimal.

    Pragmatist believes:
    1) That defects are inevitable and support processes need to allow for easy/quick recovery.
    2) "Good code" should be inherently understandable by the majority of those who will be making changes to it.
    3) That human memory is spotty and nobody is able to tell you 100% of what they know.
    4) Delivering software that meets the needs of the user is more important than perfection of the code or processes.
    5) Understands that the world changes and the software needs to make those changes easy.

    As you can guess - I'm a pragmatist.

    • by tool462 (677306)

      This really gets at the crux of his argument. You can divide just about any discipline into two camps.

      1) Those who do things the way I do
      2) Those who don't

      #1 is always right.
      #1 and #2 are given labels that try to leverage emotional baggage to convince you of that.

  • by phantomfive (622387) on Friday August 10, 2012 @10:58AM (#40947033) Journal
    I think this is the core of the article, in case people don't want to read the whole thing:

    Bugs are not a big deal. They happen anyway, no matter how hard you try to prevent them, and somehow life goes on. Good debuggers are awesome pieces of technology, and stepping through your code gives you insights you can't get any other way. Debugging and diagnosing are difficult arts, and every programmer should be competent with them. The Christmas Eve Outage scenario never, ever happens in practice -- that's what code freeze is for. Bugs are not a big deal! (This belief really may be the key dividing philosophy between Conservative and Liberal philosophies.)

    Do people really believe this? I mean, I can understand that there will always be some bugs left, but doesn't every good programmer try to get rid of their bugs, at least the major ones?

    • by epyT-R (613989)

      I'd hope so, but I don't see it so much with modern software. I disagree with his statement about performance. make sure one's code is correct before optimization would be a conservative trait as it fits better with his definition of it (slow, plodding, process driven). optimizing out of the gate would be a 'liberal' trait. Of course, if the programmer was that good, he could optimize out of the gate with as little code as possible, thus being conservative with resources..

      maybe this guy is just full of s

      • Oh, he has a very clear definitive lines between his categories of what is conservative, and what is liberal. The line is this:

        If he likes it, it's liberal.
        If he doesn't like it, it's conservative.

        That's it. People criticize his favorite language as being too slow, so he thinks optimization must be liberal. He thinks Lisp is liberal; I really wonder what he'll think when he finds out Lisp doesn't even let you change variables, they are all constants. Seems conservative. Very good for avoiding bugs, wh
  • by kbolino (920292) on Friday August 10, 2012 @11:07AM (#40947175)

    Just as in real-world politics, software conservatism and liberalism are radically different world views

    Is that a joke?

  • Must be a slow news day at slashdot towers

  • the People that make up the people are not liberal or conservative, they are just the people. Its the politicians and here the software "Engineers" who are.

    Well; we need to change that... As software objective is to automate complexity so it can be accessed and used through a simpler interface... this means genuine software engineering should soon reach the state of anyone being able to program by simply telling the computer what they want...

    This way even the users can participate in conservative or liberal

  • by Jane Q. Public (1010737) on Friday August 10, 2012 @12:56PM (#40948723)
    Not only does the author of TFA make a false dichotomy ("Everyone falls somewhere on this line..."), he contradicts himself later when he weakly tries to address it by talking about how there are fiscal conservatives who are socially liberal. (Hint: you can't have that and "everyone" falling on a line at the same time. His entire argument just fell apart.)

    I don't agree with the political definitions he uses, and I don't agree with his programming definitions either.

    All in all, in my opinion he made a fool of himself.

How many Unix hacks does it take to change a light bulb? Let's see, can you use a shell script for that or does it need a C program?

Working...