this post was submitted on 31 Jan 2024
453 points (88.3% liked)

Programmer Humor

19593 readers
442 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 119 points 9 months ago (8 children)

Software engineering is just what any "engineering" field would be if they didn't have standards. We have some geniuses and we have some idiots.

Mechanical engineers, civil engineers, electrical engineers, etc. are often forced to adhere to some sort of standard. It means something to say "I'm a civil engineer" (in most developed nations). You are genuinely liable in some instances for your work. You have to adhere to codes and policies and formats.

Software engineering is the wild west right now. No rules. No standards. And in most industries we may never need a standard because software rarely kills.

However, software is becoming increasingly important in our daily lives. There will likely come a day wherein similar standards take precedence and the name "software engineer" is only allowed to those who adhere to those standards and have the proper certs/licenses. I believe Canada already does this.

Software engineers would be responsible for critical software, e.g: ensuring phones connecting to an emergency operator don't fail, building pacemakers, securing medical records, etc. I know some of these tasks already have "experts" behind them. But I don't think software has any licensing/governing.

Directly opposed to "engineering" would be the grunt work which I do.

[–] [email protected] 2 points 9 months ago

There are definitely quality certifications for software. Plenty of govt acquisitions contracts require such certifications. We probably aren't far from laws or executive mandates which require such things tbh

[–] [email protected] 21 points 9 months ago (1 children)

"because software rarely kills" Depends on what you mean by rarely. Therac-25 was extremely dangerous due to a software bug. And this was over 40 years ago.

Industrial robot accidents are a lot more common than needed and almost all are due to software "problems" (bad path planning, bad safety implementation, or just bugs in the control system software)

Yes these things kill less than guns, or cars, or cranes, etc. But they still have affect in a lot of those accidents.

There are very few things anymore that don't have some kind of logic built into them. Be it software or analog logic, it was still "programmed" or designed. If there was something missed in design, that can easily have adverse affects that can lead to accidents and death not immediately attributed to the software.

[–] [email protected] 6 points 9 months ago

I was comparing it to civil or mechanical engineering. I agree that programming/software is growing and "infiltrating" our lives. That's why I think it will become a licensed/certified term in the future. Software engineer will require a cert and some products will require certified engineers. Whereas web apps developers (most likely) will not use that title most of the time and we will just bifurcate those who work on "critical software" and those that do not.

[–] [email protected] 4 points 9 months ago

I'd be very interested in learning more about how Canada manages "software engineer." Because whatever is being done certainly doesn't seem to include mandating where regulated professionals must be employed or punishing failures.

Saskatchewan's electronic health records system (eHealth) has had a couple of egregious failures that it shouldn't have taken a "software engineer" to prevent.

Several 911 services became unavailable during an outage that happened to also disrupt point of sale payment systems nationwide.

Both of the relevant companies are telecommunications companies (Telus and Rogers, respectively), where one would expect "software engineering" to be conducted by "software engineers" regardless of regulation.

A quick search for breaches in critical personal information will show that Canada is performing about as well as the US. Which is to say, abysmally.

[–] [email protected] 31 points 9 months ago (1 children)

Software engineering does have standards and methods to developing software. These standards and methods are applied in Defence and Aerospace applications. Software engineering was developed or conceived by NATO to manage the increasing complexity of software development.

The big problem is people often confuse software development or programming with software engineering. Calling anyone that programs a software engineer. This isn't the case. It's entirely possible to be a software engineer without knowing how to code (but impractical).

[–] [email protected] 8 points 9 months ago

Well that's my point. The term "engineer" is protected in a lot of other industries but not software.

[–] [email protected] 8 points 9 months ago

As a software "engineer" and civil EIT, I endorse this comment.

[–] [email protected] 11 points 9 months ago (1 children)

Engineer tends to be a protected term in many countries, so software engineer is no exception. It’s words like “programmer” or “developer” which are probably unregulated

[–] [email protected] 6 points 9 months ago (1 children)

The weird thing is that engineer is a protected term in Canada but every software dev title I've had so far includes it anyway. It doesn't seem enforced at all here

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago)

I honestly thought there was too, my official job title / offer includes it in the role, despite the role explicitly having no requirement for an engineering degree.

I always found it funny, how I could do a 4 year electrical engineering degree, then work as an electrical engineer for 4 years, but never do my final law/ethics exam so couldn't call myself an electrical engineer, but could just teach myself python and call myself a software engineer, turns out I was wrong.

It is awkward though, especially in a remote work world, given that we compete directly against American "software engineers" for the exact same jobs.

[–] [email protected] 4 points 9 months ago (1 children)

Software without standards. Am I replying to a person who writes his own OS to run hello world?

[–] [email protected] 2 points 9 months ago

Cause if you don't forget your own stainless steel, you can't be trained on proper defibrillator techniques?