I've never understood why some people use the term "software engineer" when there are many, more appropriate titles for this profession. Something as simple as "software developer" conveys the same thing and better describes what vast majority of "software engineers" do.
There's also this, from the article:
>“Professional engineers are held to high professional and ethical standards and work in the public interest,” it said. “The public places a high degree of trust in the profession and these layers of accountability and transparency help keep Canadians safe.”
I cannot agree more. Such standards and concerns are found within a minority of software development roles (critical, risk, etc.); the majority of work in this field does not hold to the same account which is fine for the type of work.
Nobody is demanding all software developers be held to the same standards as professional engineers; there is no movement to force everyone wanting to write software be required to go through the same education and development as professional engineers. Again, there are plenty of other, more correct terms to use.
I would like to see a more concerted effort to bring back and/or develop new standards and criteria for genuine professional engineering in software. People who desire such a career will have something to pursue. Everyone else can continue to being software developers ... which is fine. Simple.
Maybe because some of us are really Engineers (with a degree in Engineering)
It's not because I specialized in Computer Science at the very end of my studies that I'm not an Engineer.
Well, yeah. If you're an engineer then call yourself one if you'd like. My comment concerns folks who are not engineers yet refer to themselves as such.
I never understood it either. If you haven't taken a Software Engineering degree, and you haven't passed the requirements of the professional engineering regulatory body in your jurisdiction, then why do you think you should be calling yourself one? If you're a bridge builder, go ahead and say so. But don't call yourself a Civil Engineer just because you build bridges.
I think the term was used simply to attract talent and give prestige to the role. I saw a video recently where Chamath Palihapitima claimed to have invented the job title Data Scientist to convince a candidate who held a Ph.D to join Facebook.
I’ve also found that people external to the tech org love to refer to everyone in the tech org as engineers, regardless of their role, again to likely add prestige or clout to their role. “Our engineers are working on it”, “I’ll review with engineering”, etc.
>It’s not really the specific employees making that call. Being a “principle engineer” is the job title in the contract.
If it's your job title and you're not working for yourself, then it's likely there's little-to-nothing you can do about. This concerns folks referring to themselves as engineers.
If you are applying for jobs described as opportunities for “software engineers”, and you qualify, it makes total sense to refer to yourself as such.
“Software engineering” is a common globally recognized phrase. Anyone overthinking a popular phrase after decades of use doesn’t understand language.
It is as ridiculous as a medical association getting worked up about PhD grads, a rapper, or the author of “Seuss” books being referred to as “doctor” without a medical license.
You can’t regulate global language trends. (Successfully)
I agree with the regulators, we should start requiring an engineering license, holding software developers accountable for their work. Standards ought to matter for software just as much as it does for buildings and bridges. Potentially billions can end up depending on a particular software whose safety and privacy can be at risk if the software is unreliable.
If you hold software devs to the same standard, require them to sign off on projects and be criminally liable if it collapses later, you're going to create shortage of such engineers, and would also give them immense power. They'd be more powerful than lawyers and politicians probably, given how much money is tied to software.
>If you hold software devs to the same standard, require them to sign off on projects and be criminally liable if it collapses later, you're going to create shortage of such engineers, and would also give them immense power. They'd be more powerful than lawyers and politicians probably, given how much money is tied to software.
I don't think anyone's arguing for the certification of every software developer. Just those who wish to become a professional engineer. A software engineer will then work on such projects and may even be the one to sign-off on it. They will be held to a higher account and be expected to produce robust, safe systems. All the things that come along with being a professional engineer. And just as it is in other fields, the majority of those employed are not engineers and will work on other projects. We're not talking about anything novel here; the approach would be similar to that of any other professional engineer.
Think about "CPA". Not every accountant needs to be a CPA. But somebody in a company offering accounting services should be. Similarly for "Certified Software Engineer". You can do software without being certified, but it helps to get more clients if you have some kind of accreditation.
But currently there is no organization offering such an accreditation. Why? Because no organization can credibly claim they can certify who is a "Certified Software Engineer". Maybe somebody should. Maybe the universities should get together and devise such a program and accreditation. It is still a new field.
>This seems reasonable for something like software for cars or civil projects. Your typical fart app can't really afford to make strong guarantees.
Indeed. Those interested in such a career would have something to pursue and, at completion, may refer to themself as engineer. For the rest of us we have other job titles to describe what we do (software developer, code monkey, etc.).
You are asking for something current software technology can't guarantee. That is why you can pay millions of dollars in licenses to ANY software company, and when you install their software, ( excluding software like airplanes and other where lives depend on it...) the first thing the license says is: NO EXPRESS OR IMPLIED WARRANTY OF ANY KIND...
The issue is that software is so layered, so you cannot guarantee much if the foundations are not solid. It's like as if a building is being built by different companies, most of them having to create a generic enough solution for other companies to be able to build just about anything on. That creates a tremendous amount of complexity.
But that's true for many other manufactured items as well, and the manufacturer of the product that ends up in the hand of the customer ends up assuming most of the responsibility, since they had the opportunity to test the product fully assembled.
Somebody already took somebody to court over this in Alberta and the court threw them out so Alberta is one of the few places in Canada where software engineers are legally recognized
A startup I worked for in Ontario was very particular about not letting us be called Software Engineers in any company communication unless we held an Eng degree. I wonder if the sentiment has changed since then (5 years ago)
Engineering is about the process you follow to create outcomes, not solely the result. This relates to creating a result of a known quality in a predictable, known time and budget.
Move fast and break things is not an engineering paradigm and few software projects ever meet quality, budget and schedule expectations.
If an engineer failed in the manner some software projects do they might well be unemployable and possibly incarcerated, eg UK Post disaster for just one.
I think it is good to ensure the usage of "engineer" only by person's holding an engineering degree.
But I find it an overreach and probably money avid assholes, the guys that tries to force employers of engineers to be members of a bullshit association like the apega!
The misuse of the term engineer has been creeping in tech for a while now. Sales Engineer immediately comes to mind as a title that should be renamed. I think that there should either be separations between job title and professional designations, or requirements to hold a job title that includes a designation. A good example is the technologist role. From what I can tell, those roles require a technologist designation in the specific field. The argument could be made that if Apple started calling their Genius Bar staff technologists, it would devalue the designation.
Software Engineer is just a job-title like "Accountant". We should also have "Certified Software Engineer", which is not a job-title, but accreditation. Like "CPA" is. You can do accounting without being a CPA, but it helps your clients know you know something about what you are doing.
I think "software engineer" should be reserved for those doing traditional engineering work in regulated fields such as aviation, medical devices, and mission critical systems; and require an engineering degree and licensing. Software developer can be for other types of software development.
I agree almost entirely, but as one begins to look to uplevel their career through a new job one finds you must do much unnecessary explaining on how you are ready for "the next" step in your career ladder if you don't have a title that conveys that.
For example I have a title of Senior Software Engineer, but have been performing duties for the last 2.5years more closely resembling a Lead Engineer position (systems design, making architecture decisions, interviewing, mentoring). This has been annoying to repeat to EVERY recruiter that YES indeed I have experience as a Lead Engineer regardless of my title.
I always cringe when people use the words 'engineer' in the realm of software development. They are accredited, licensed, and bound to some professional creed. We're none of those things.
Not in Alberta they’re not. At least according to Alberta law. Cringe all you want.
Your definition of engineer doesn’t apply to how the word has been used for the great majority of history but it is what some paper pushers would like you to believe.
> Your definition of engineer doesn’t apply to how the word has been used for the great majority of history but it is what some paper pushers would like you to believe.
I don't think this is correct. There is no shortage of professionals, project managers, or others in positions of great responsibility who seek qualified, professional engineering because of the criticality, risks, complexity, liability, etc. involved in their project.
I'm a mechanical engineer who writes software for my job because it's the easiest way to implement a PID controller. Do I get to be a software engineer? I haven't touched a CAD program in over a decade.
There's also this, from the article:
>“Professional engineers are held to high professional and ethical standards and work in the public interest,” it said. “The public places a high degree of trust in the profession and these layers of accountability and transparency help keep Canadians safe.”
I cannot agree more. Such standards and concerns are found within a minority of software development roles (critical, risk, etc.); the majority of work in this field does not hold to the same account which is fine for the type of work.
Nobody is demanding all software developers be held to the same standards as professional engineers; there is no movement to force everyone wanting to write software be required to go through the same education and development as professional engineers. Again, there are plenty of other, more correct terms to use.
I would like to see a more concerted effort to bring back and/or develop new standards and criteria for genuine professional engineering in software. People who desire such a career will have something to pursue. Everyone else can continue to being software developers ... which is fine. Simple.