9 ms·
> How can Software Engineers call themselves engineers when there’s no rules, governing bodies, or anything to stipulate what true Software Engineering is? We
by dmalik 5y ago
> How can Software Engineers call themselves engineers when there’s no rules, governing bodies, or anything to stipulate what true Software Engineering is?
We call ourselves software developers in Canada.
According to Canadian engineering[1]:
The "practice of engineering" means any act of planning, designing, composing, evaluating, advising, reporting, directing or supervising, or managing any of the foregoing, that requires the application of engineering principles, and that concerns the safeguarding of life, health, property, economic interests, the public welfare, or the environment.
To be considered a work of engineering, then, that a piece of software (or a software-intensive system) must meet two conditions:
1. The development of the software has required “the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”
2. There is a reasonable expectation that failure or inappropriate functioning of the system would result in harm to life, health, property, economic interests, the public welfare, or the environment
[1] - https://engineerscanada.ca/news-and-events/news/when-software-becomes-a-work-of-engineering https://engineerscanada.ca/news-and-events/news/when-softwar...
- agentultra 5y agoIt'll be interesting to see if they can ever manage to enforce it. I haven't heard of any cases yet since Microsoft challenged them and won.
- auxym 5y agoMicrosoft lost their appeal in Quebec https://www.oiq.qc.ca/en/media/pressReleases/Pages/default.aspx?communiqueid=18 https://www.oiq.qc.ca/en/media/pressReleases/Pages/default.a...
- agentultra 5y agoThat's interesting, thanks for sharing! INAL; it seems, to me, difficult to enforce. You're not allowed to call yourself an engineer but you can still practice as one as long as you call yourself a developer. What's the difference? In practice... very little. Most developers I know do all the things professional engineers do. Unless the government wants to step in and say that you're not allowed to release software without a professional software engineer at the helm I think it's trivial. Unless a company pays the insurance of an engineer and faces severe penalties for disregarding their direction I don't see the point of hiring a professional software engineer. Companies will simply hire developers rather than deal with trifling matters like liability. And we'll continue to see avoidable security breaches in the wild for ever and onward because of it. The financial incentives are behind "move fast and break things," rather than "protect the public interest." (Mind you I think we should have more of the latter and I'm all for liability for the things we create as long as we're in control of our future... I'll take the exam if I can be brought in with my 20+ years of experience)
- 908B64B197 5y agoIn this case, I think the enforcement wasn't on the people using the tittle. Rather it was on Microsoft "granting" someone the tittle of "Engineer". "Microsoft Corporation announced in May 2001 its intention to stop using the term engineer in Canada in the title Microsoft Certified System Engineers - MCSE." Going against the individual professionals for using the tittle might have been harder. Some are probably real engineers or have received the certification but don't necessarily advertise themselves as engineers...
- belval 5y agoIt's a bit like saying that you are a doctor, nurse or a lawyer (attorney?). In Canada these are protected titles that can only be used if you are part of a professional order that has oversight over your activities and can audit your work at basically any time. There are some tasks that can only be performed if you are certified and pay the annual fees. Where this falls apart is that "Software Engineering" is a real discipline recognized by the organization that handles engineering programs in Canada, however there are no "reserved tasks" so a lot of Software Developers have a Software Engineering degree but can't call themselves that because they (rightfully in my opinion but still) refuse to pay the annual membership fees (about 600$) since their professional order is actually not equipped to audit software engineering work. Hopefully that helps a little.
- agentultra 5y agoExactly what I was trying to get across. The protected term is meaningless even if enforced, it seems to me, because there are no "reserved tasks," as you say. It's bit like... being able to practice law as long as you don't call yourself a lawyer. You're a legal assistant instead. In a similar fashion developers are practising software engineering without calling themselves, "engineers." I don't think we all need to be licensed in order to work -- but companies should be required to hire X number of licensed engineers per Y number of developers. They should be required to pay for the liability insurance to hire those licensed engineers. And there should be repercussions if the company goes against the engineers' direction.
- xav0989 5y agoI believe that Shopify will change your job title from Engineer to Engineering Technician (or something of that nature) if you don't have your professional engineering certification.
- dmalik 5y agoAt Shopify I've worked with people with pinky rings and they are still called developers :)
- ska 5y agoA pinky ring and a P.Eng signify very different things. In Canada some of (all of) the accreditation groups are very sticky about who is called an "Engineer", regardless of degrees you have or don't.
- skipants 5y agoAnd yet, in Canada, every Software Engineer I know works no differently than a Software Developer.
- 8note 5y agoThey can sign and stamp things though, which is a difference on the work your company can do
- Kronen 5y agoWe call Software Developers to coders and then, Consultant or Software Architect to the ones who design the systems. In between you have Analysts. Any of them can be Software Engineers or not, because we call Software Engineers to the ones with the university career finished
- mLuby 5y ago> "The 'practice of engineering' means any act … that requires the application of engineering principles" Error: cycle detected. ^__^ Software is by its very nature systematic and quantifiable. Is the quibble with whether programmers are disciplined? All software companies would meet the "failure or inappropriate functioning of the system would result in harm to … economic interests" criterion.
- hinkley 5y agoIt's like everyone has forgotten third grade. Define this word without using the word. Lift: British English. A machine that lifts peo... damnit!
- Kronen 5y agoThe second condition is a bit stupid, most failures or inappropriate functioning of the system in software development can be considered a harm in economic interests...
- allo37 5y agoSome of us call ourselves "engineers". It just depends whether you want to pay the order for the privilege of having the title (and pretty much no other tangible benefit in 90+% of cases) :).
- wheelinsupial 5y agoGenuine question. What is so important about the word "engineer" that people not licensed to practice it want to call themselves engineer? In Canada, I studied in a mechanical engineering technology program that lead to an engineering degree if you stayed on for 4 years. It was hammered into us that we weren't engineers until after you graduated and went through the professional licensing process. In Canada there is a way to become a P.Eng. in software engineering (and until 2018 in the US there was the P.E. in software engineering), so there is a way for someone who wants to be called a software engineer to legally obtain it. So why is there so much resistance?
- Drew_ 5y agoBecause there's a pretty clear difference between software engineering and simply just writing code and people who do the former pride themselves on that work and want to be recognized for it as an engineer rather that just some programmer. You would much rather be recognized as the person who devises the plumbing system for a building rather than just being a "plumber".
- wheelinsupial 5y agoThere is a formal qualification process to be called an engineer. If they truly feel that they should be recognized, then they can go through the process. Because they aren't going through the process the word and the recognition can't be that valuable. I feel there is a contradiction in here somewhere that I can't reconcile.
- coupdejarnac 5y agoYeah, exactly. I got my degrees in electrical and computer engineering but mostly work as a software engineer. I got the PE just in case. The tests and other requirements are not exactly onerous; it's about what you'd expect for a worthwhile professional designation like becoming a CPA, an attorney, or even a CFA. Not to toot my own horn, but I cruised through the FE and PE exams, but those exams filter out lots of people. Do you really want engineers who are incapable of performing simple calculations? The exams represent a minimum level of competence, and they shouldn't be difficult if you stayed awake in college.
- bonestamp2 5y agoYes, I think we sometimes use the term "Engineer" a little too liberally in the US. For example, sometimes the janitor of an office building is called a "Custodial Engineer" which often just gets shortened to "Engineer". I remember the first time I heard a coworker say, "I'll call the engineer to have the thermostat adjusted". I thought that was overkill, but then a guy in overalls showed up and it made a little more sense.
- chana_masala 5y agoWas your colleague from the UK? A number of trade professions in the UK are referred to as Engineers, such as for the boiler etc.
- cobbal 5y ago“It’s not real engineering if someone can’t get hurt” seems like a strange definition to me.
- milkytron 5y agoThat's because it is a strange definition. If you work on the software in a self driving system in a car, that makes you an engineer. If you're working on software for a space satellite with no occupants... that's not an engineer?
- jaywalk 5y agoWell, the failure of a satellite would definitely result in harm to property and economic interests, so it sounds like you would still be an engineer in that case.
- 908B64B197 5y agoI've met Canadian Software Engineers who referred to themselves as Software Engineers...
- chana_masala 5y agoI believe I heard this in the Pragmatic Programmer: engineering is the practice of applying scientific understanding to real world problems. Or more succinctly, engineering is applied science. So software engineering is applying computer science to solve real world problems.
- psyc 5y agoI aggressively refuse to call myself an engineer. Programmer is fine. Developer is better, because programming is only a piece of it. Y’all can call yourselves whatever you like, but inside I’m thinking you retconned an industry insider euphemism into a non-existent sub-type of engineering, by protesting all the ways you apply rigor to what we do.
- mywittyname 5y agoWhat of those who graduated from engineering programs taught at engineer colleges? Lots of people in other engineering disciplines build stuff with less rigor than is used to build software. Maybe load test it in Fusion 360 before sending the file to be milled. And lots of software companies test their stuff quite rigorously. People who write software have imposter syndrome. Other disciplines are not building things better than we do. For every Google there's a Ford, and for every scrappy startup there's a scrappy machine shop.
- urda 5y ago> What of those who graduated from engineering programs taught at engineer colleges? We are the actual Engineers. For US-Based IT workers, that means a degree from an ABET [1] backed institution with a traditional undergrad and graduate programs. Anyone else calling themselves an "engineer" while doing IT work are not. In addition: Readers need to remember this isn't reddit and downvoting comments with facts you do not like is not appropriate for Hacker News. It's is depressing this reminder needs to be added here for facts as it appears a few readers here have forgotten already. [1] https://www.abet.org/ https://www.abet.org/
- isbvhodnvemrwvn 5y agoI would trust someone graduating with CS degree from non-ABET accredited Stanford rather than someone from ABET-accredited CS program of Athens State University.
- urda 5y ago
- kuratkull 5y agoI write server-side software for a security system - anyone else can write a similarly complex piece of software to monitor grains of sand on the beach. So I am an engineer and they are not just because my software is used by some pre-described group of people?
- milesvp 5y agoSo what do you call electrical engineers who design consumer level non mains voltage hardware? Looks like they fail the second bullet point. Sort of an honest question, since most of what you’d likely learn in an EE degree would probably not fall under number 2 either.
- gr__or 5y agoThe wonderful Hillel Wayne has two great essays on the "Engineer"ing question: https://www.hillelwayne.com/post/are-we-really-engineers/ https://www.hillelwayne.com/post/are-we-really-engineers/ https://www.hillelwayne.com/post/we-are-not-special/ https://www.hillelwayne.com/post/we-are-not-special/