Software development is done by developers. If you are a software engineer chances are you’re working on software infrastructure that actually apply at scales that are not “add a shopping cart to this blog”.
There are reasons you ask a civil engineer for work.
If you’re a software engineer, you’re applying an engineering process to the field of software development. Adding a shopping cart to a blog can be a perfectly sound solution to the problem at hand.
Engineering becomes more important at scale, but scale itself doesn’t define engineering.
That’s missing the point. Engineers perform at a specific level. You don’t expect civil engineers to build the bridge. Can they do it? Sure. But that’s not the profession. Same with Structural Engineers, Chemical Engineers, Industrial Engineers, etc. They are at a higher level in the planification and execution process and will likely have signatory responsibilities on the project. If the bridge falls, the engineer does have explaining to do.
The equivalent for a software engineer would be (in the US) more at the level of architect with responsibilities higher than developers.
But engineers is not a protected term so everyone is an engineer now.
That’s a very arbitrary delineation that just seems to be something you worked out backwards to support your claim. I’m an EE and software developer and I sometimes do projects involving both fields (which would be computer engineering, I guess), and there’s really not that much difference. I certainly don’t see why I would label half of it engineering and the other half not.
You missed my point that if professional engineering societies in Canada want to take ownership of software and electronics, they better do something and not just say they’re regulating it and sit on it with no clear definition for what it even is.
If they were doing their job, we wouldn’t need to debate what a software engineer is. They’ve let us down and they’re getting away with it.
They’re regulating engineering of software and electronics.
From Engineers Canada;
In the case of software engineering, a piece of software (or a software-intensive system) can therefore be considered an engineering work if both of the following conditions are true:
• The development of the software required “the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”
• 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 natural environment.
That does seem to me well defined. If you disagree then it’s okay.
Edit: taken from this: https://engineerscanada.ca/sites/default/files/public-policy/professional-practice-software-engineering-en.pdf which also add context.
I cannot speak about electronics as my education was in software engineering.
Not so much well defined as fancy words. There is no example of a paying software development job that has no economic impact if the software were to fail.
If I ran a small shopify page for goat feed, I’d be an engineer for making sure the site stayed working so farmers could order their feed. It could even put lives at risk!
It really only excludes someone privately working on a video game for fun.
So given that, what are they actually regulating? What are they providing to their members to help them become better “software engineers”. I say it’s nothing at all? +