Controversies over the term Engineer
en.wikipedia.org
en.wikipedia.org
I am allowed to put on my business card, my website, and my consulting advertisements that I am an engineer. Theoretically, you are not, if you haven't done these things, and a case could be made that you should not be able to, just like you don't get to call yourself a doctor or a lawyer.
The term engineer has undergone serious deflation over the years, which is a shame. I don't see this trend suddenly reversing, so I don't lose sleep over it, but that doesn't mean we shouldn't feel a little regretful over it's demise.
I studied Software Engineering at an engineering school accredited by whatever organization regulates the practice of engineering in Ontario. I remember at a few points in the program, they made a point of saying that once we graduated, we could apply for a licence (after we spent time apprenticing), but it was never clear to me why having a PE licence would be useful. I don't know anyone from my graduating class that's bothered to apply for a licence either.
So, do railway engineers (as they are known in the USA and Canada) take the oath and wear the little ring? Or did that "serious deflation" you refer to start sometime around the birth of the railroad? ;)
I think the culprit here is not deflation of the language -- the language has always been ambiguous -- but rather inflation of the scope of engineering education. It's not just for P.E.s anymore. If you believe the term engineer should be restricted to P.E.s you should start by explaining that to every academic engineering department I've ever seen, all of which are happy to hand out "engineering degrees" to graduating "engineering students" who tend to be called "engineers" for short, whether or not they go on to get a P.E. (which, as you point out, is a lot more effort and a rather impressive accomplishment).
I literally had a Ph.D. in EE before I even heard the term "Professional Engineer". [1] Not because my school was training people to practice without a license, but because they're training people in skills -- like my old field, semiconductor laser engineering -- that don't require P.E. certification. Of every EE Ph.D. I know, I know of exactly one who actually got a P.E. certification.
And, only slightly off the subject, need I point out that quite a few Ph.Ds have "Doctor" as part of their name? It's quite common in many countries, including the USA. I don't do this, because I don't work in academia, and outside the academy one tends to get confused with an M.D., but according to this fun article:
http://en.wikipedia.org/wiki/Doctor_(title)
you are required to use your academic title in certain legal situations in Austria, and German Ph.D.s tend to use the title all of the time.
---
[1] Because my undergraduate degree was in physics. I presume that if I'd studied undergrad EE someone would have mentioned along the way that my B.S. wouldn't actually qualify me to design a commercially-available table lamp without adult supervision.
Some schools are probably better, but I left my university after learning from graduated students that the dream course I was looking forward to, where all of the requirements would make sense and I would finally be told what I can do with my newfound knowledge, didn't exist. One friend of mine said that his BSEE degree entirely drained his confidence to accomplish anything in the real world. One could argue that a university degree should be purely academic, but this school's program wasn't too helpful there, either.
To sum up, the only ways I know of to realize that you are or aren't qualified to do something are to try it until you get rich or get sued, or work with someone else who already has.
Sorry, but I don't buy that. The term 'engineer' has been around since the Renaissance. Licensed Professional Engineers have only been around since the 19th century.
Nobody is suggesting that just anybody should be allowed to call themselves a Professional Engineer (or the equivalent in various jurisdictions). The attempt in Quebec and a few other places to outlaw most common uses of a word that has been in the English lexicon for 6 or 7 centuries is, frankly, insane.
Remember that Knuth's book is called "The Art of Computer Programming", not "The Art of Software Engineering".
Artists and Craftsmen just forge ahead into creating with little more than a general idea of what they're making. The design evolves as they go. Programming is almost always like this, because it's just too damn hard, time-consuming, and expensive to document the design in sufficient detail ahead of time. No requirements documentation is as detailed as the final source code, when it comes to describing precisely how the software must behave.
That, I think, is why software development will always be Art or Craftsmanship rather than a true Engineering discipline. If you're designing a bridge, it's much cheaper and faster to design it on paper than with steel, because paper drawings and specifications are able to capture all of the details that matter. If designing a bridge required specifying the exact position of every iron atom, no one would bother trying to do it on paper first. With software, there is no advantage to doing more than a high level design on paper first because every byte in the source code is significant. You get one wrong, and the software doesn't work. You can't capture that in the design without actually writing the source code, so we skip that level of design. We're craftsmen instead, designing as we go.
Interesting. Any woodworkers here? I've been under the impression that furniture makers would first work out the design, careful cut the pieces, then assemble them.
Likewise, many painters will do several sketches, then carefully build up the final piece when working on canvas.
Of course there are artists who make stuff up as they go, but the suggestion that artists and craftsmen do not, as a rule, employ careful planning and detailed steps in the creation of their work is false.
There's an art to engineering, and there's engineering in art.
"If designing a bridge required specifying the exact position of every iron atom, no one would bother trying to do it on paper first. With software, there is no advantage to doing more than a high level design on paper first because every byte in the source code is significant. You get one wrong, and the software doesn't work. You can't capture that in the design without actually writing the source code, so we skip that level of design."
Blueprints :: High-level source code
Construction of physical bridge ::Compiler/interpreter
Discuss. :)Phrases like this give me a strong sense of history.
It occurred to me that I have a perhaps a dozen computers in my house.
That being said, I appreciate that many certifications (MCSE, ZCSE) use the term "certified engineer" as, I do believe that the term engineer should qualify someone with a more developer skillset.
I know people don't do it maliciously, and many even do it tongue-in-cheek (e.g. "Sanitation Engineer", "Happiness Engineer", and many others I've encountered). So, like cryptnoob, I don't lose any sleep over it and really don't take it too personally. But I'd be lying if I said it didn't bother me. I kind of wish the term "Engineer" were regulated in the US (not just P.E.), but that's life. And I'm sure someone with a Masters in Engineering would be bothered that I can describe myself as an Engineer, having only a couple of B.S.'s.
The iron ring has moral implications, while the title of engineer has legal ones.