back

by fredley·3y ago·view on hn ↗
In any other field of engineering, the engineers are all trained and qualified. In software 'engineering', not so much.
2 comments
That training and qualification is only as good as the processes and standards being trained for and qualified on. We don't have those processes and standards to train against (and frankly I'm not convinced we should or even can) for generic "software engineers". I have a number of friends who are PEs, and it isn't the training and certification process that differentiates their work from mine, it is that there are very clear standards for how you engineer a safe structure or machine. But I contend that there is not a way to write such standards for "software". It's just too broad a category of thing. Writing control software for physical systems is just very different from writing a UX-driven web application. It would be odd and wasteful to have the same standards for both things.

I do think qualification would make sense for more narrow swathes of the "software engineering" practice. For instance, "Automotive Control Software Engineer", etc.

This is exactly why I support "engineer" being a protected term, like Doctor. It should tell you that a certain level of training and qualification has been met, to the point that the engineer is responsible and accountable for the work they do and sign off on. Especially for things that affect safety.

Many software engineers these days are often flying by the seat of their pants, moving quickly and breaking things. Thankfully this seems to largely be in places that aren't going to affect life or limb, but I'm still rubbed the wrong way seeing people (including myself mind you) building run of the mill CRUD apps under the title of engineer.

Is it a big deal? Not really. It's probably even technically correct to use the term this way. But I do think it dilutes it a bit. For context, I'm in Canada where engineer is technically a protected term, and there are governing bodies that qualify and designate professional engineers.

I'm curious how you think the word "Doctor" is protected.

Do you mean that History PhDs can't call themselves Doctors?

Or chiropractors can't pass themselves off as doctors?

Or you mean Doctor J was licensed to perform basketball bypass surgeries?

Or perhaps podiatrists can't deliver babies?

> Thankfully this seems to largely be in places that aren't going to affect life or limb

I've seen Agile teams doing medical stuff using the latest hotness. Horrorshow.

I've also seen very, very clean software and firmware development at really small companies.

It's all over the place and you have to look inside to know what is going on. Though job advertisements sometimes can be pretty revealing.

Are all "engineers" trained on human error, safety principles, and the like? The failures described in the article are precisely not software failures.
Yes? Most engineering programs (it might even be an accreditation requirement) involve ethics classes and learning from past failures.

My CS degree program required an ethics class and discussed things like the CFAA and famous cases like Therac-25, but nobody took it seriously because STEM majors think they are god's gift to an irrational world.

The important distinction is that engineers are professionally liable.