Home > Calgary, Community, Musings, Programming Languages, Software, Team Work, Videos > Living The High-tech Illusion: Software Development is Not Rocket Surgery

Living The High-tech Illusion: Software Development is Not Rocket Surgery

June 15th, 2008

#CalgaryBarCamp was swell. It was refreshing to meet such a diverse group of like minded people that all essentially do the same thing (create software), but do it in different ways using different tools, platforms, and languages. The ad-hoc discussions both in the bar and between sessions were my highlight. A reoccurring theme in our conversations was that technology, tools, and platforms don’t matter that much. What really matters is: people, communication, ideas, taking risks, and motivation.

The topic of our discussions reminded me of something David Heinemeier Hansson said when talking about software development:

You don’t need to be a f***ing genius to make any of this stuff work, it’s not rocket surgery! – David Heinemeier Hansson at Startup School 08

DeMarco and Lister also echoed this outlook back in the 80′s, and publicized: the High-Tech Illusion:

the High-Tech Illusion: [is] the widely held conviction among people who deal with any aspect of new technology … that they are in … high-tech business. [These people] are indulging in this illusion whenever they find themselves explaining at a … party, say, that that they are “in computers” … The implication is that they are part of the high-tech world. [These people] usually aren’t. The researchers who made the fundamental breakthroughs in those areas are in the high-tech business. The rest of us are appliers of their work.Peopleware : Productive Projects and Teams

If we were in the High-Tech business, then we’d be the bottom feeders (the parasites, the grunts), because our daily activities revolve around consuming other peoples research and work (programming languages, platforms, frameworks and the like). We are consumers, we’re not on the cutting edge nor are we in the high-tech world.

Perhaps building software could be much like outfitting yourself for a day in the snow. You head off to the local shopping mall, you acquire the functional items to keep yourself warm, but brands and store choice don’t really matter. Whether we’re buying winter boots or choosing a programming language, technology doesn’t really matter. There are an infinite number of ways to solve any problem, as well as an infinite number of technical permutations to form a solution. If we can solve the problem within the constraints of our problem domain then we’ve succeeded.

The High-Tech Illusion often permeates my world – I work as a Web Developer in the Microsoft realm. I continually see the High-Tech Illusion manifests itself in these situations:

  • Colleagues talking in vague opaque high-level metaphors that patronizingly shield you from the inter working of what they assume is beyond your comprehension
  • Fixations on specific tools, hardware, platforms, and methodologies while the problem that needs to be solved is diluted and any combination of these items could solve the problem
  • Colleagues that assume superiority and can’t acknowledge that knowledge is acquired through research and a continual efforts to improve

Pretentiousness in the software realm (in teams, organization, and so on) is usually the byproduct of someone that’s living the High-Tech Illusion.

I’ve been guilty of subscribing to the High-Tech Illusion. How does the High-Tech Illusion permeate your world? How can we get back to reality?

  1. Devin Parrish
    June 16th, 2008 at 05:39 | #1

    I agree with what you’re saying here Adam. But I can’t help but think a lot of these perceptions of one’s career often stems off of the reaction others provide when you tell them exactly what field you’re in.
    Case in point, I’ve met some new people over the past couple of weeks, and just through getting to know one another they’ve asked what I study so I tell them I take Computing Science at college, which is, presumably, a much more superficial version of the Computer Science program offered at most universities. However, when I tell them this, a lot of the times they react as if I’m some sort of genious just because I am involved in the computer world, or “high tech” industry, where really, I’m just a user of what others have done before me.
    It’s hard to kind of separate yourself from that whole realm completely, people will always have their perception of that field and I think you just need to keep a level head on your shoulders and not try and out do yourself or your colleagues. I say this however, with pretty much no contribution to the computer science community, but it’s just my views thusfar.

  2. Adam Kahtava
    June 17th, 2008 at 05:43 | #2

    I totally understand what you’re saying. When writing this I was thinking about the people working in the corporate world, like working in a development shop. Inside these places, you’ll occasionally encounter people who are dedicated to learning and improving, and as a result they have a lot of knowledge. However, they aren’t really willing to share their knowledge or tell you where they got it. Instead they assume an air of superiority / pretentiousness. These are probably the guys who would go to a cocktail party and tell people they’re “in computers”.

    I’ve found that university professors and teacher type people are more prone to living the high tech illusion. The irony is that once you enter the working world and start using the technologies they’ve been teaching, then you’ll probably have more knowledge on the topic than the people that educated you.

    Computer education itself is flawed, the most important thing I learned in school was how to effectively research, meet deadlines, and question everything I hear and read. How inheritance worked in classical languages and OO principals were pretty important too, but I didn’t really get that until I started building real world apps.

    I think my point is: being “in computers” doesn’t imply that you’re smarter than anyone else – anything is possible if you put your mind to it. Sometimes we need to step back and realize that we’re just normal people, and that our problems could be solved by anyone using any combination of technologies.

  1. No trackbacks yet.