In your opinion what's the difference between the two? In my opinion both terms are frequently used interchangeably in the workplace.
But I'd like to consider myself as an engineer, because although I don't consider myself to be good at it, I think I cares about the software that I worked on, its interaction with other services, the big picture, and different kinds of small optimizations.
As a former civil engineer who now works in software, "software engineer" irks me. "Engineer" means you're supposed to be licensed and you have a responsibility for the public good above your responsibility to your employer.
As a former civil engineer who now works in software, "software engineer" irks me. "Engineer" means you're supposed to be licensed
This really depends on the country you live in. In some countries you need a license, some need you to have some kind of university degree and others don't care at all. So we cannot really use that measure as a definition.
Not really. There are two aspects to this problem: one is how people assign arbitrary and meaningless titles to themselves, and another is regulatory requirements by jurisdictions to be able to legally assume a role.
I can call myself senior dubstep engineer, and that's perfectly fine. I can't call myself a civil engineer and sign off on a construction project or a permit. No one cares if I'm actually a senior dubstep engineer or if I'm junior at best. In the meantime, you will get in trouble if you try to sign off on a construction project, no matter of how stubborn you are with regards to calling yourself an engineer.
another is regulatory requirements by jurisdictions to be able to legally assume a role.
This is exactly what I mean with "this depends on the country you live in". Different countries have vastly different regulatory requirements. Taking UK as an example, you can call yourself civil engineer all day long without having to worry any legal consequences because there simply is no such thing as a licensing system for engineers.
Taking UK as an example, you can call yourself civil engineer all day long without having to worry any legal consequences because there simply is no such thing as a licensing system for engineers.
Well idk the details in that specific case, this was just the first example I found. My point is, that different countries, states and institutions disagree on this matter. There is no universal rule that defines what you need to have achieved to call yourself an engineer.
As a former civil engineer who now works in software, “software engineer” irks me. “Engineer” means you’re supposed to be licensed and you have a responsibility for the public good above your responsibility to your employer.
This. I think some people don't understand that titles are not whimsical status symbols and hold actual legal and regulatory meaning. A random guy can hold an engineering degree and not be an engineer, while a random guy with no degree can actually be a engineer if he jumps through all the hoops.
In engineering fields, being a member of a professional engineering body is critical to work in the field, because the main value proposition of these credentials is to prevent incompetent people from working on critical tasks which can potentially have important consequences to society if they are done poorly. For example, people can die if an engineer signs off on a project for a residential building that collapses due to shoddy work. If that happens then the engineers who signed off on the project will be investigated and if they are held responsible not only can they be held criminally responsible for their work but their license will be pulled, which is society's response to ensure this problem won't happen again.
Just to be clear, that is not exclusive to “engineering,” as other professionals have similar legal requirements (doctors, lawyers, fiduciaries).
More generally, on a personal level, people are expected to act with integrity, and we have laws that provide them legal protections for whistleblowing.
The actual practice of engineering is about problem-solving within a set of constraints. Of course the solution should not harm the public, and there are plenty of circumstances where software is developed to that standard.
When a PE stamps a plan, they are asserting that they personally have reviewed the plan and process that created it and that it meets a standard for acceptable risk (not no risk!). That establishes the boundary of legal liability. In software, we generally do not have that process that fits in a legal framework, but that doesn’t mean that professional software engineers aren’t making those assessments for life-critical systems.
For other kinds of systems, understand that this is a new field and that it doesn’t have the bloody history that got “real engineering” to where it is today. A lot of the work product of most software engineers just don’t have stringent safety requirements, or we don’t understand the risks of certain product categories yet (and before you try to rebut that, remember that “building codes are written in blood” because people were applying technology before it was well-designed/understood).
Anyway, “engineering” is defined by a lot more than if you or your boss has a stamp (and in point of fact, there are plenty of engineers in the US that work as engineers without being a PE, or with any intention of ever having the stamp. Are they real engineers?)