Subscribe to
NSLog(); Header Image

Software Engineers

Kasia is wondering what to call software developers. She puts forth three main titles: programmer, software engineer, and hacker. Frankly, I'm not wild about any of the three.

"Programmer" covers nearly everything, but is pretty darn bland. "Hacker" is sensationalist and gives too many people the wrong idea. "Software Engineer" is, interestingly, the one with which I have the biggest problem.

You see, "engineers" are held to a standard. There's a ruling body of ethics. They practice a time-honored, time-tested skill. The first bridge was probably built when one of the first humans encountered one of their first streams. The first line of code? Nearly a millionth as long ago.

When was the last time you worried about whether the bridge you were driving over was going to "crash?" You haven't. You'd think there are similarities: code and bridges may be worked on individually by many, but they pass by review boards and whatnot, and are then constructed and put into place. Sounds like software, right?

Sure, except for one thing: software is as much art as science. Bridge building? Aside from a few exterior decorations, art left that party a long time ago (if it was ever even invited)! Electrical engineering, mechanical engineering, chemical engineering.

The same movement that gave us the politically correct (and outright obscene) "domestic engineer" has given us one nearly as lame: software engineer. Would forcing engineering practices on software developers help? No. No standards body could keep up with the practice of software development. No real competency tests could be created. Even enforcing ethics may prove difficult (it always does). How would one ruling body license software developers? They wouldn't - at best, people would ignore them, and at worst, they would slow the pace of software development down dramatically with a big ass roll of red tape.

So what are we? "Software developers." What's wrong with that title?

7 Responses to "Software Engineers"

  1. There is one other issue... at least in Ontario, is that you can not call your self an engineer unless you are actually an engineer.

    In fact, when the first Software engineering courses came out a few years back, the PEO (Professional Engineers association of Ontario) sued the schools. They were really upset over the whole use of the word Engineer.

    My School avoided the whole thing by calling the identical program Software Design. I think Software Designers is a better word then Developers. As you say programming is more an art, and while it can be developed i think it should be designed. 😉

  2. I still call myself a hacker, no matter what impression it gives to the ignorant masses. (Better yet, other people call me a hacker- it's not a title you can give to yourself.)

    People who deserve the noble title should be given it- not just any "programmer" or "software engineer".

  3. Engineering, Science, Art.

    I'm not sure what to make of Erik's thoughts inNSLog(); - Software Engineers. Software is about engineering, at least it...

  4. I always found 'software engineer' a funny expression. Not only because of the dreaded 'MCSE's but mostly because a friend of mine had 'Senior Software Engineer' as his job title. But while he's a clever guy and good at his job, I found this title a bit unfitting for someone with a three year uni degree and a year of work experience...

    Perhaps there should be more software engineers. Designing programs and coming up with new ideas may be an ar (cf architects) but actually getting things to work and making sure they're good to use shouldn't be arty or scientific. Now if programmers had the same pride (not just vanity) for their work as engineers have (had), software might be better.

    As in real life you'd of course need a good balance between architects and engineers (see London Milennium Bridge).

    Thus I think your approach with 'software developer' is quite precise but there definitely should be more 'software engineers' whose job descriptions live up to their title.

  5. Just a minute there, hoss. I think it's unfair to say that coders don't take pride in their work. Most of us do: at heart we think of ourselves as engineers or artists. However, we have a problem that bridge builders and painters do not and that is management. You never get a person standing over you saying that a bridge can fall apart, it's an acceptable flaw, people will just restart it. Mostly our deadlines are insane for the jobs we have to do. An architect can take up to a year to design a building, something that's been done many times in the past. I've been on projects where we had one week to do a system design. And there's no real pressure to do it any other way, because people will just curse and restart the program.

  6. John, I understand what you're saying, and certainly agree with you! But none of what you've said makes you "an engineer." You're a software developer, sure, as am I: but an engineer? No.

    I agree with you too that software developers take pride in their work. That goes without saying. I almost literally personally stand behind every Freshly Squeezed Software product.

  7. Sure, you may not be a software engineer, but they do exist. What you fail to realize in your generalizing of the engineering profession, is that engineering is not based on what you build, it's about how you build it. Now let me enlighten you: software engineers take engineering principles and apply them to the solution of problems that exist in the world today, such as control software for a nuclear power plant, or autopilot software for an airliner. As you should already know, these systems are safety critical and a simple 'programmer' or 'software developer' is insufficient for the design and implementation of the required software. Enter the software engineer. What this individual does is apply the same standard that other engineers follow to his discipline, software. So when said safety critical systems need to be developed, we can be sure that they will 'work' properly and not result in the deaths of hundreds to thousands to millions of people. Also, towards the comment that stated that the PEO sued schools for calling software engineers, engineers, there are several schools (eg. Waterloo, McMaster, Queens I believe), in Ontario that offer accredited software engineering programs, and any graduates can apply for certification as a professional engineer.