32 ms·
This is basically wrong, because it compares designing software with constructing skyscrapers. But engineers don't construct skyscrapers, they design them. And
by zb 13y ago
This is basically wrong, because it compares designing software with constructing skyscrapers. But engineers don't construct skyscrapers, they design them. And designing software shares many, many similarities with designing skyscrapers.
I agree with the author though, that part of the problem is using engineering as a metaphor (at least, I agree up to the point where he just replaces it with his own, equally bad, metaphor). Software development is not like engineering, it is engineering, and the actual practice of it is as different from civil engineering, mechanical engineering, electrical engineering, chemical engineering or any other branch of engineering as those fields are from each other. None of those, by the way, bear even a passing resemblance to the description of 'engineering' contained in the post.
So yes, let's quit with the metaphors. Instead, let's talk about what engineers actually do, which is design:
http://www.zerobanana.com/essays/reclaiming-software-engineering/ http://www.zerobanana.com/essays/reclaiming-software-enginee...
- kabouseng 13y agoThat is actually also wrong. Its rather a case of each engineering profession is a regulated industry with an accreditation body, that certifies you as an engineer. Mechanical, electrical, electronic, chemical, industrial, civil, all have standards organisations, usually different ones in each country. See IEEE for instance... Also the engineer term is a protected designation in many countries, just as doctor and laywer is... So no. engineers aren't guys that design stuff, and until the software industry is as regulated as the rest of the engineering industries are, software engineer is the wrong term. The only people who can call themselves software engineers perhaps is working in the medical device, avionics software etc. industries.
- TheCoelacanth 13y agoAt least in the US (which has the largest software industry of anywhere in the world), the title of engineer is not regulated. Only the title "Professional Engineer" is regulated. Accreditation for engineers only applies to areas that have an impact on public safety. This means that civil engineers usually are accredited, but mechanical and electrical engineers usually aren't. So for people located in the US, it is perfectly appropriate to refer to someone as a software engineer.
- kabouseng 13y agoPlease don't find this reply condescending :D But Americans also call their train operators "engineers"...
- TheCoelacanth 13y agoI don't find that condescending. What I do find condescending is attempting to apply the laws of certain countries to the world as a whole. There are, in fact, many jurisdictions where being an engineer does not require any form of accreditation. The fact that some jurisdictions do require accreditation does not give engineers in other jurisdictions any less claim to the title.
- kabouseng 13y agoWhere did I do that? You were the one highlighting America as having the biggest software industry...
- TheCoelacanth 13y agoThe part where you claimed that only people who are officially accredited are engineers. People who live and work somewhere without such accreditation are completely justified in calling themselves engineers without being accredited.
- kabouseng 13y agoMy apologies then, I was not trying to force my viewpoint, I only shared it. Just as I don't believe anyone who's read Gray's anatomy (the book) can or should call themselves a doctor, just the same I don't believe anyone writing code should call themselves an engineer...
- TheCoelacanth 13y agoSo, according to your viewpoint, there were no doctor's in the US until the late 1800's?
- zb 13y agoCan we agree that any definition of "engineer" that excludes Filippo Brunelleschi or Leonardo da Vinci (as yours does) is worthless?
- kabouseng 13y agoThats a bit of a random litmus test ;D I would hope we would have gone a bit further than the Renaissance era in how we define professional fields. Would you also call Leonardo da Vinci a doctor, since he did breakthrough anatomical work? In that same vein, would you call a random person digging up graves and dissecting corpses a doctor today? Would you let them operate on you?
- TheCoelacanth 13y agoLeonardo da Vinci wasn't a doctor because he didn't practice medicine. He studied corpses; he didn't operate on living humans. On the other hand, it would be ludicrous to say that Hippocrates wasn't a doctor. I wouldn't let either operate on me, but I also wouldn't let a licensed doctor from 1920 operate on me either. Modern doctors have vastly superior medical knowledge compared to historical doctors, but that doesn't mean that historical people who practiced medicine aren't doctors.
- kabouseng 13y agoSo let me get this straight. You guys insist on using the definition of the word engineer as stated in the renaissance era, not the modern definition, but also then want to apply that definition to software, which didn't exist for another 400 years afterward? Me thinks the logic isn't quite sound...
- zb 13y agoThere is nothing random about it, the term was invented during the Renaissance to describe exactly such people.