5 ms·
As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspect
by polshaw 14y ago
As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspective, and IMO a little disrespectful. Similarly to the 'are you technical?' thing, why is there such an aversion to the term programmer or software developer?
I have no problem with the term 'software engineers', as i do seem some parallels, and it is clear what you are talking about, but please leave the straight up 'engineering' term to those dealing with the physical world.
E: most replies and downvoters seem to have missed that I have no problem with the term where it is unambiguous. You wouldn't call a software architect simply 'an architect' (would you?).
- brianto2010 14y agoSo, are you saying that a discipline that does not involve the physical world cannot necessarily be an engineering discipline? Personally, I don't usually see people favoring the word "engineer" over programmer or software developer. As for myself, I see them as synonyms.
- rimantas 14y agoYeah, and leave the "web" for spiders, correct? Engineering was long before software appeared, but is this a good enough reason not to reuse the word? Some software just happens (alas), but some is engineered—that is thought upon, designed; time is spent thinking how different parts are put together and how they will interact.
- Wohlf 14y agoI never really liked the term software engineer, and I think by the very definition of engineer it doesn't work. I've always refered to myself and others as a programmer, coder, or developer.
- colkassad 14y agoHacker, engineer, ninja, rock star...these terms are bandied about in this community and I don't have a problem with it, it's just part of the lingo. Anyone stumbling on this community who may get confused with the term "engineer" (for example, in a HN job posting) would figure out pretty quickly that that they mean someone who makes websites. It's not like a company really wants a rock star or someone trained in martial arts, or someone with a P.E.
- deleted 14y ago[deleted]
- dandrews 14y agoAgreed about the "engineer" label. My acquaintances at university were engineering students, and they would themselves correct me if I called them engineers - that requires licensure. (They're not even "engineers in training" until they've passed that monster FE.) You betcha, PEs are justifiably proud of the title. We have sysadmins around here who call themselves "Microsoft system engineers". It bugs me, but title inflation is a Dilbertesque fact of life.
- dev1n 14y agoThis is akin to a philosophy professor walking into a hospital and saying "I'm a doctor." The actuality; the professor is correct. The circumstances of the situation just make for misunderstanding and an apparent disrespect for the medical doctors walking around, from the perspective of the medical doctors. edit: changed the wording
- kilburn 14y agoThe fun fact about this story is that -at least in my country-, a lot of those so-called medical "doctors" actually are not doctors. They completed medical school and some specialty, but they never completed a research thesis.
- Niten 14y agoHuh, I didn't realize that some hardware folks are still so irrationally jealous of the label "engineer" being applied to software engineers as well. In truth the distinction between a physical versus information end-product as a prerequisite for the term "engineer" is arbitrary, self-serving on your part, and not recognized by any common definition of "engineer" of which I am aware. Not to be too hard on you though; yes, the biggest aesthetic difference between hardware and software engineering is that with the latter, the cost of fabrication is essentially zero. But as described here: http://www.ics.uci.edu/~jajones/papers/p439.pdf http://www.ics.uci.edu/~jajones/papers/p439.pdf > The essential distinction between software and other engineered artifacts has always been the absence of fabrication cost. In conventional engineering of physical artifacts, the cost of materials and fabrication has dominated the cost of design and placed a check on the complexity of artifacts that can be designed. When one bottleneck is removed, others appear, and software engineering has therefore faced the essential challenges of complexity and the cost of design to an extent that conventional engineering has not. So naturally the set of constraints is different than the ones with which hardware engineers contend, yet software engineers do fundamentally apply math and science to design products to meet hard, real-world constraints: Development time and cost, program correctness, time and space performance under expected load, reusability, and maintainability to name a few. If there is a valid objection to the notion of software engineering as a "real" engineering discipline, it should be that a subset of the science upon which the discipline is based – that of software architecture – is at this point still underdeveloped and poorly understood, and as a result software engineers generally rely on their own intuition when it comes to architecture. (This in contrast to fundamental computer science, which is well developed enough that we can typically determine from mathematics or empirical evidence what kind of algorithm or data structure to use under given circumstances.) But an arbitrary bias that engineers produce only physical artifacts does not constitute a valid objection.
- scosman 14y agoI have a bachelor of software engineering and could pursue PEng if I wanted (which I won't). Right after graduating it annoyed me that everyone in software called themselves engineers, but I got over it. Engineering is defined by the various international agencies and schools that accredit engineers, not Wikipedia. "Software Engineering" is a real engineering discipline in Canada and other places. The premise "An engineer's model must be tightly bound to the laws of physics and chemistry" just seems to be a construct of the author. Engineering is about the practical application of rules, balancing factors like cost, maintainability and scope. Chemical, mechanical and software engineers do similar jobs, working with different sets of rules.
- geebee 14y agoThis is why I'm so opposed to using the term "software engineering" to describe software development. I do agree that "engineer" is a term that shouldn't be used loosely - it is a prestigious term that indicates a high level of education and rigor. But there's a deeper reason - I absolutely reject any claim "engineering" (the PE kind) has over my work. If I use the term "engineer", I give more credibility to that claim. An exam based in physical sciences would be a great way for people with an educational background in physical sciences to stake a claim on software, calling themselves "engineers" while everyone else is a mere developer or programmer, putting themselves at the top of the field. I majored in Math and have an MS in Industrial Engineering. I think that it would make as much sense to make everyone prove that they've passed courses in Abstract Algebra and Real Analysis, and take a difficult exam involving proofs about optimization and convexity to be a "software engineer." And this time, I would get to be on the top of the totem pole instead of people who have a more physics and chemistry based education! I hope it's clear I'm being facetious here - I just want people who do advocate PE style licensing to get a sense of what it's like when people from a different field start telling you what you need to know and do to practice your craft. I do understand that there are software elements to engineering systems, and it might make sense to have some sort of licensing around it. However, I have yet to see a professional association refrain from severe "scope creep", using their cartel-like power to establish arbitrary and unnecessary barriers to entry to restrict entry and jack up prices. Software is kind of like engineering, but I agree with the author that it has more in common with mathematics. Seriously, it would make more sense to require a degree in math and an exam in path than a PE exam. And it would not make sense to require this kind of math. My take on it is this - I am not an engineer, what I do is not engineering, and the PE folks have absolutely no legitimate claim on what I'm doing.
- nahname 14y agoOne part of the problem is (US) customs. I travel to the US frequently and must use a title including words like, "Engineer", "Architect" or "Analyst". When a title like programmer can be obtained by reading the introduction to "Learning VB" it carries little to no weight and I cannot say I disagree. I don't really care all that much what I am called, 90% of society still has no idea what I do.
- barik 14y ago"As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspective, and IMO a little disrespectful." I'm not certain it has anything to do with the physical world; after all Industrial Engineering is considered a valid disciplined that is entitled to an Engineering license, and many of the IE's I know might be better characterized as mathematicians. Still, I tend to agree with your assessment of the term Engineer, although it's largely because unlike other Engineering fields, Software Engineers in the US seem to be happy to hold the title without having to meet any of the legal requirements [1]. A PE license, while not insurmountable, is not exactly the easiest title to acquire. Efforts have been proposed to make Software Engineering part of this licensing process, but it seems to have a lot of push back. Perhaps the solution is to have legal weight (perhaps like 'Lawyer' or 'MD') behind the title, as countries like Canada have (the US has this to some extent, but it's not nearly as strong). [1] http://www.ncees.org/Exams/PE_exam.php http://www.ncees.org/Exams/PE_exam.php
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- Niten 14y ago> Perhaps the solution is to have legal weight (perhaps like 'Lawyer' or 'MD') behind the title, as countries like Canada have (the US has this to some extent, but it's not nearly as strong). But here you're taking it for granted that professional licensure of software engineering is actually desirable, which is not at all agreed upon. Among the organizations against the notion are the ACM.
- barik 14y agoNo, I don't think I am. I believe I addressed this when I said: "Efforts have been proposed to make Software Engineering part of this licensing process, but it seems to have a lot of push back." As you indicated, ACM would constitute as (a major) part of that push back, so I don't see the contradiction.
- rdtsc 14y agoIt is about money and prestige. Stupid companies have titles and titles are associated with more pay and and more respect. It so happens that people who went to a 2 year technical school would call themselves "programmers" and then those who went to a 4 year college and worked for 5 years don't want to be called by the same label, so they have to invent something sounds harder to get, something more prestigious, so now they are "software engineers". Just like chemical engineers, it implies a certain difficulty of attaining this title, and it is used to differentiate the ranks. But it doesn't stop there, then there is more stupidity there is "Programmer II" vs "Programmer VI" vs "System Architect".
- barik 14y ago"Stupid companies have titles and titles are associated with more pay and and more respect." This is even more true in licensed fields. If you have a two year degree, your title will generally be "Engineering Technician", and not "Engineer". And you get to be on a completely different pay scale for the rest of your life as a result of the degree you obtained, even if you do the same work as an Engineer.
- steverb 14y agoDoes the military's use of the term to apply to anyone doing construction irk you as well? http://usmilitary.about.com/od/enlistedjobs/a/21.-uJZ.htm http://usmilitary.about.com/od/enlistedjobs/a/21.-uJZ.htm
- polshaw 14y agoPersonally, not really, because there is no real ambiguity. For example, at a company like apple (or anywhere else that makes devices), they might have 'real' qualified engineers working alongside software engineers. The liberal use of the term 'engineer' to describe technicians or mechanics does irk many in the engineering fields, however. In Germany, the term is protected, so it is illegal to use the label without holding full qualifications, like 'doctor' or 'lawyer'.
- Evbn 14y agoNot as much as those posers who manage train engines. Who, by the way, should be angry at these Civil and Chem engineers who never saw an engine in their lives. Let's acknowledge that language grows and changes as new concepts are invented.
- barik 14y agoIt irks me (but only a little), because almost every licensing FAQ now has to have some caveat and say something to the effect of "by the way, Combat Engineer does not actually qualify as Engineering work." Maybe the answer is to simply add a similar caveat to Software Engineering in all of the FAQs until Software Engineering develops its own licensing process (which it should, since unlike some people I actually do think Software Engineering work is Engineering). For example (note "combat engineers" is in quotes): "Military experience? All branches of the military have engineers doing genuine engineering work. In this regard, the military is just like any other employer, and the engineering work experience counts. However, work performed by "combat engineers", electronic repair technicians, and so on is generally not true engineering work." [1] [1] http://ppi2pass.com/faqs/qualifying-to-take-the-licensing-exams/ http://ppi2pass.com/faqs/qualifying-to-take-the-licensing-ex...
- brianto2010 14y ago> You wouldn't call a software architect simply 'an architect' (would you?). Yes, yes I would. http://en.wikipedia.org/wiki/Architect_(disambiguation) http://en.wikipedia.org/wiki/Architect_(disambiguation) - third bullet down http://en.wikipedia.org/wiki/Architecture_(disambiguation) http://en.wikipedia.org/wiki/Architecture_(disambiguation) - look under 'Process Architecture'
- chollida1 14y agoI think most of the people replying to your comment miss the biggest issue. In alot of countries the title engineer is a protected title. It's alot like doctor or lawyer, you technically can't call your self one unless you have a professional certification from the applicable engineering society. I know when I graduated with an engineering degree in Canada you couldn't call your self an engineer until you were a PE.
- delinka 14y agoIMO: "Programmer" is someone who just writes code. They don't plan, organize refactor ... they write code according to someone's instructions. They can see that it works and debug issues, but they're not the "architects" or "engineers" of the system. The men doing the physical labor of building a ship aren't the "engineers." "Software developer" doesn't have simplistic connotations to me, but seems to evoke something in non-devs ... as if I'm using lingo and being pompous. "Software engineer" is someone who designs software systems and understands the impact of design decisions made from the bottom/back of the stack through the top/front. Perhaps, this being an industry of mental rather than physical labor, the engineer also fills the job of "programmer." So in my mind, "engineering" is a way of thinking about and solving problems in any given space; it requires breadth and depth. But how do you quantify something like that in an industry that changes so rapidly, where someone can begin to grok concepts and "get their hands dirty" without ever having to approach the dangers out in The Real World? You don't want some random kid to think he can build a bridge, but he can certainly start writing software... and he can become "engineer quality" before he ever gets to a university. I don't know that I've ever heard anyone call themselves "an engineer." That's nice. Does that mean you drive trains? That you design and build roads? I don't believe many engineers of the physical world variety can just just fields - a computer engineer is not going to build sky scrapers.