We are using the term 'software engineer' in two different ways:
1. The way most people here on HN, and most people in the US, understand it.
2. The way the laws in most of Canada (but not Alberta) define the term.
AIUI someone can design and develop software for pay in Canada without declaring themselves to be a 'software engineer' and without signing a code of ethics.
It's unclear and barely enforced in Canada. Ontario has a two-step test for defining "software engineering":
* The development of the software required the application of engineering principles (ie. "a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software")
* The software concerns the public interest (ie. 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).
In practice, LinkedIn is full of "software engineers" and anyone with a P. Eng uses it as a suffix.
1. The way most people here on HN, and most people in the US, understand it.
2. The way the laws in most of Canada (but not Alberta) define the term.
AIUI someone can design and develop software for pay in Canada without declaring themselves to be a 'software engineer' and without signing a code of ethics.
Is that correct?