Alarming News: I like Morgan Freeberg. A lot.
Anti-Idiotarian Rottweiler: We were following a trackback and thinking "hmmm... this is a bloody excellent post!", and then we realized that it was just part III of, well, three...Damn. I wish I'd written those.
Anti-Idiotarian Rottweiler: ...I just remembered that I found a new blog a short while ago, House of Eratosthenes, that I really like. I like his common sense approach and his curiosity when it comes to why people believe what they believe rather than just what they believe.
Brutally Honest: Morgan Freeberg is an intriguing guy...[he] asks great questions and answers others with style, flair, reason and wit. On the blogroll he goes. Make him a part of your regular blogospheric reading. I certainly will.
Brutally Honest: Morgan Freeberg is brilliant.
Common Sense Junction: Misha @ Anti-Idiotarian never ceases to amaze me. He keeps finding other good blogs. I went over to A.I. this morning for my daily Misha fix and he had found this guy named Morgan Freeberg in Fair Oaks, California, that has a blog, House of Eratosthenes. Freeberg says its "The Blog That Nobody Reads" but it may now become the blog that everybody reads.
Jaded Haven: Good God, Morgan, you cover a topic from front to back with a screwy thoroughness I find mind boggling. I'm in awe of your thought proccesses, my friend, you're an exceptional talent. You start by throwing in the kitchen sink, tie in someone's syphilitic uncle, bend around a rip tide of brilliance and bring it all home in a neat, diamond dripping package of an exceptionally readable moment of damn fine wordsmithing. I love reading you.
Mein Blogovault: Make "the Blog that No One Reads" one of your daily reads.
Philmon: When Morgan meanders, stick with him - he's got a point and it'll be worth it in the end. He's not a hit-and-run snarky quip kind of guy. The pieces all fall into place like tumblers in a lock and bang! He's opened a cognative door for you.
Rightlinx: Morgan at House of Eratosthenes is one of the best writers out there. I read him nearly every day because he manages to provide an interesting perspective, even though I don't always agree.
Poetic Justice: Cletus! Ah gots a laiv one fer yew...
Oh, dear. Steve Yegge, at Google, last summer:
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…I won’t keep you in suspense. Here is the thesis of this looooong essay…Software engineering has its own political axis, ranging from conservative to liberal.
Quoting Piglet: Oh, d-d-dear dear dear.
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.
So what’s a Software Liberal slash Conservative?
It’s easiest to talk first about conservatives, and then define liberals in terms of what conservatives are not. This is because conservatives tend to have a unified and easily-articulated value system, whereas liberals tend to be more weakly organized and band together mostly as a reaction to conservatism. This applies to both real-world and software-world politics.
So we’ll start with an operational definition of conservatism, from Jost et al.:
“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.”
Conservatism, at its heart, is really about risk management.
Similarly, liberal views are often associated with youth, with idealism, with naivete. In the corporate world, we think of startups as being prototypically liberal — in part because they’re setting out to change the world in some way (and liberalism is traditionally associated with change), and in part because they have to go all-out in order to hit their scheduled funding milestones, which can justify cutting corners on software safety.
The crux of the disagreement between liberals and conservatives in the software world is this: how much focus should you put on safety? Not just compile-time type-safety, but also broader kinds of “idiot-proofing” for systems spanning more than one machine.
Hmmmm. Well, there is definitely something going on here. Although the last time I heard of this being explored, it was with the Microsoft metaphor about programmers falling into the categories of the Mort, the Elvis and the Einstein. and after reading Mr. Yegges’ essay, the Mort/Elvis/Einstein triad still makes more sense to me. I’ve seen the conservatives and the liberals, in software development I mean, and I think the most liberal among the liberals would agree that it’s much cheaper to prevent a mistake than to go back and fix it, in spite of your zeal to change the world. If there is a split, the split is in prioritizing the resources. And software developers are constantly disagreeing about how to prioritize resources. They do what the boss says, in the end, but it isn’t always completely intuitive how that’s going to work, or what the rationale is. It’s like no two snowflakes being alike.
Still, he’s on to something I think. I see even the dissenting viewpoint doesn’t entirely disagree, any more than I do…
It seems that the political labels of “liberal” and “conservative” were picked not for their meaning, but rather for their connotations, as political views are perceived to be 1) very stable, part of a person’s self-identity and (therefore) hard to change, 2) inherently polarizing, and 3) difficult or impossible to evaluate objectively. Again, these do not apply to software engineering. For example, probably like many engineers, I am clearly a liberal on personal and small projects, and a conservative on larger and more fundamental ones; so much for the idea of a core identity. As for polarization, it may be prevalent in internet echo chambers, but I have not seen much of that in my professional life, especially when working with experienced engineers. When they do have objections, those objections are grounded in engineering. This leads to the third point, claiming that the approaches can not be compared objectively. This one is the most pernicious of all, because it provides an escape hatch from arguments with substance on what is an engineering decision.
I think his thesis might work much better for the management of a complex software development project. Read that as, the coordination of team-based implementation efforts, initiated after the resources, delivery dates, and user acceptance test requirements have all been defined. You know — the boring stuff. Conservative management would involve project management, with project charters, requirements documents, design documents painstakingly cross-referenced back to the requirements doc by explicit & implicit requirement number, test scripts also painstakingly cross-referenced back to requirements, testing logs, regression tests, regressions on the regressions…
This works much better, because it matches up the clarion battle cry of the political liberal, word-for-word, with that of the software development liberal: “Hey, I just had a spiffy idea! When do we get to the fun part, where I tell everyone what to do, and then they go do it?” And, likewise for the conservative: “Eh, that’s fine, but before we even get to whether your idea will work, we’ve got all this other stuff that has to be of some concern to someone, like delivery schedules, budgets, all the other stuff people were working on before you walked into the room…”
And the liberal says again, repeating by rote, “Aw, that’s boring! I want to get to the fun part, where I tell everyone what to do, and they go do it…”
Regarding the more exciting, proof-of-concept stuff, I suspect I may be having a difference of opinion about what’s going on in the political realm, because of our different ideologies there. See to me, if you have an awesome new idea in real life, and you think it would be such a great idea to proliferate it throughout all of human existence because you see some real potential for improving the lives of others, and you see that because you’ve used it in your own efforts first — that would make you a conservative. To be a liberal, you would have to depart from this situation. You’d still have the outside-the-box idea, you’d still have an honest and altruistic desire to improve the lives of others, but the core essentials of your idea would come from “those people over there are doing that thing one way, and I think they should be doing it a different way.” The conservative idea comes from a presence of direct, real-life, practical experience, and the liberal idea comes from a lack of this.
Because of that, I notice the people we call “conservatives” are often more concerned about outcome than about following a certain process, whereas the people we call “liberals” are more concerned about the process than about the outcome. Realistically, though, nobody really cares at the end of it what process was followed as long as the outcome was reached. There are a lot of exceptions to this, but they all have to do with expanding the periphery of how we define “outcome.” This is worth noticing because, in my experience, when there is real conflict among software engineers, that is how it usually breaks down, and the process/outcome conflict does have its counterpart in the political realm. On the liberal side of inspiring a new vision, the desire for proper process often drives all of it. I would cite green-jobs as just one example, although there are many others.
The conservative side of this, both in software development and in politics, is merely an extension of Habit 2 of Stephen Covey’s 7 Habits of Highly Effective People: Begin with the End in Mind.
Begin with the End in Mind means to begin each day, task, or project with a clear vision of your desired direction and destination, and then continue by flexing your proactive muscles to make things happen.
Again, in conflict after conflict, we see the conservative has a bullet point for such a vision and the liberal is missing this. This is not hard to demonstrate at all. Go to a large city managed by liberals. How is their budget doing? How is crime doing? How is the job situation doing? How are properties doing? They’re all disasters, on average. Is that because the liberals managing the city want them to be that way? Absolutely not. They say they want the best for their city’s citizens, and they mean it, very syllable. Their priorities may be in question, but the well-being of the citizens is certainly a goal…somewhere, in their list of goals. The problem, apart from the graft & corruption, is that they don’t work toward the goals. They don’t begin with the end in mind.
Leave a Reply
You must be logged in to post a comment.