News for hackers. Stuff that matters.
Re:Programmers should not call themselves engineers (2015) by sho on Wednesday August 23, 2023 @12:25AM (#37231863)
Meh, a lot of these kinds of articles seem to be written by civil engineers with a chip on their shoulder and defensive about the use of their title. I don't buy it. Yeah, we don't have certification and all that kind of stuff yet - because it's too new and no-one really has a final, bulletproof idea of "this is how X should always be done".

But to me, engineers are people who build important stuff, that a lot of people rely on, and for which there will be severe consequences if it is built wrong. A lot of software falls into that category. Words evolve, I don't feel like I'm putting on airs describing what I'm doing as engineering (sometimes!), and hence I don't feel like some kind of pretender describing myself as a software engineer.

Also, there's a quote I love, although I can't name the source: "engineering is about tradeoffs". Well so is software development, all day every day - in fact it's the mark of real experience knowing where, when and why to make those tradeoffs. Sounds like engineering to me.

Re:Programmers should not call themselves engineers (2015) by airbreather on Wednesday August 23, 2023 @12:44AM (#37231967)
"Build important stuff" - to predictable budget, schedule and safety outcomes is the bit you forgot.

Dont care anout certification, but when you can "engineer" a solution that takes account those three factors you can call yourself a professional engineer.

Certain engineering standards require managed competencies, eg functional safety and equipment for explosive atmospheres, certification is probably the easiest path.

Most people who say, "meh but we are engineers because we make stuff" really don't have the first clue how engineers do engineering.

Re:Programmers should not call themselves engineers (2015) by vasco on Wednesday August 23, 2023 @01:26AM (#37232181)
I took EECS in university. I can work on power systems, electronics, communications, and I'd have a certification from my country's entity that regulates engineering. I can also work on hardware, software and generally programming, but for that side according to people like you I'd just be a dude flinging code around.

But I have all the same training in both scenarios. Why would I be "better" at engineering if I'm looking at fiber cables or an AC generator but not python? I learned the same techniques, the same safety practices, the same thinking models.

Re:Programmers should not call themselves engineers (2015) by m00x on Wednesday August 23, 2023 @12:53AM (#37232012)
lol, predictable budget and timeline.

McKinsey’s found that 98%+ of construction projects run ahead of timeline, and 80% run over budget.

Software engineers also have those requirements, but we try to keep our estimates to small chunks instead of 5+ years.

You're a P.Eng when you can pass your country's certification. That's it, it's just a title.

Re:Programmers should not call themselves engineers (2015) by bigger_cheese on Wednesday August 23, 2023 @01:04AM (#37232072)
I'm a non software engineer so maybe I do have a chip on my shoulder, personally I don't really have a beef with what people call themselves, however I will say the distinguishing factor in my opinion between software and the broader engineering world is liability and the culture that exists around that. I am professionally held liable for any work I perform while calling myself an engineer. There can be potentially very serious consequences if I am found to have been negligent or to have not followed best practices.

In most parts of the software world I don't think there exists similar circumstances. I'm not sure if there are agreed industry best practices or certification requirements for most types of software development.

Re:Programmers should not call themselves engineers (2015) by woodpanel on Wednesday August 23, 2023 @01:36AM (#37232228)
Agreed, in practice there isn't much liability for software engineers. De-jure however there actually is, even to the point where insurance companies like Hiscox offer specfic policies for freelance/contracting software engineers.

Mostly the harm a software engineer can do will be in monetary losses and not in the loss of life. Also there is the fact, that a lot of the software written will be the process of communication, sparring, feedback and iteration so establishing that a single person is at fault would be hard to prove anyways.

However there are software devs that do have to tread with care (eg. in the automotive sector, defense or medical). The differentiator IMO is who is driving the demand for covering possible liability issues: The private sector or the government.

That by itself (or the cultural differences) shouldn't define what "Engineering" actually means, or should it?

Re:Programmers should not call themselves engineers (2015) by WirelessGigabit on Wednesday August 23, 2023 @01:42AM (#37232251)
Re:Programmers should not call themselves engineers (2015) by lodovic on Wednesday August 23, 2023 @01:44AM (#37232258)
> Mostly the harm a software engineer can do will be in monetary losses and not in the loss of life

Software engineering as a profession is so immature that we haven't seen many serious incidents yet. But people have died because of bugs. And this will only increase over time as we keep using more and more software.

Re:Programmers should not call themselves engineers (2015) by grodes on Wednesday August 23, 2023 @01:12AM (#37232115)
Based on your description a surgeon would also be an engineer.

The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population.

Having a set of defined rules to follow is not engineering, is safety based on previous experience, most car drivers also do that and they are not engineers.

Re:Programmers should not call themselves engineers (2015) by bigger_cheese on Wednesday August 23, 2023 @01:25AM (#37232179)
>Having a set of defined rules to follow is not engineering

It is a part of being an engineer, but it is not the entirety of the profession (I'd probably use the word Standards rather than rules). I think the software world has standards to for things like networking etc - does it count as a programmer following a set of rules if he writes networked software? Maybe...

>The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population.

I don't think this really fits either. Throughout my career I have spent very little time building anything, a large amount of the work is optimizing existing problems/products/processes (this is where tradeoffs the GP mentioned comes in) "How can this be made cheaper, How can it become more efficient, How can it be made lighter etc."

If I had to come up with my own definition it would be something like "Engineering is solving technical problems within an applied set of Constraints" - That probably does not apply to a surgeon - but could be applied to software.

Re:Programmers should not call themselves engineers (2015) by waffleiron on Wednesday August 23, 2023 @01:20AM (#37232158)
And by your definition musicians and fine art painters are engineers.

Maybe we should acknowledge that it’s not as simple to define and that’s why articles like the one posted are writen.

Re:Programmers should not call themselves engineers (2015) by belugacat on Wednesday August 23, 2023 @01:44AM (#37232257)
Surgeons aren’t engineers, they’re technicians.
Re:Programmers should not call themselves engineers (2015) by Aeolun on Wednesday August 23, 2023 @01:23AM (#37232171)
> I am professionally held liable for any work I perform while calling myself an engineer.

If only this were true for software...

Re:Programmers should not call themselves engineers (2015) by midoridensha on Wednesday August 23, 2023 @01:26AM (#37232185)
It's not true for most engineers in industry. It isn't just software.

If a car has a poorly-engineered suspension and a wheel breaks off and someone gets killed, does the engineer at Ford who designed it get sued personally? Absolutely not. Did any engineers at Ford who designed the Pinto suffer personally for their design? Of course not.

Re:Programmers should not call themselves engineers (2015) by bigger_cheese on Wednesday August 23, 2023 @01:36AM (#37232225)
>If a car has a poorly-engineered suspension and a wheel breaks off and someone gets killed, does the engineer at Ford who designed it get sued personally?

I believe the laws differ by country. In the above circumstance where I am based (Australia) the person who signed off after reviewing the suspension design would inherit the liability. And may get taken to court where you would need to demonstrate you followed best practices may be ask to supply calculations etc.

For example my company we are required legally to keep things like calculations and technical drawings on file in archives for things like above hypothetical.

Re:Programmers should not call themselves engineers (2015) by 1vuio0pswjnm7 on Wednesday August 23, 2023 @04:37AM (#37233321)
But the engineer would likely be deposed and, if the case goes to trial, called as a witness. That might not translate well for his future at Ford, or at another employer.
Re:Programmers should not call themselves engineers (2015) by midoridensha on Wednesday August 23, 2023 @04:54AM (#37233426)
>Engineering, in the US at least, is a regulated profession

No, it's not. Civil engineering is; the rest of them, not so much. The vast majority of engineers in the US fall under the "industrial exemption", whether they work for Microsoft, Google, Ford, GM, Boeing, or General Dynamics, or countless other companies large and small. Almost none of them have a Professional Engineer license.

It's weird how, every time this kind of discussion comes up, civil engineers keep trying to tell all the people who design fighter jets and cars that they're not "real engineers" because they don't have a license.

Re:Programmers should not call themselves engineers (2015) by 1vuio0pswjnm7 on Thursday August 24, 2023 @10:26PM (#37257213)
It's true one may not need a professional engineering license in automotive, aerospace, and some other areas, but one still generally needs to meet certain educational requirements, e.g., an 4-year engineering degree from an ABET-accredited or otherwise reputable institution.

This is unlike programming, where "self-taught" or "dropped out of college" is sufficient.

Re:Programmers should not call themselves engineers (2015) by dietr1ch on Wednesday August 23, 2023 @01:51AM (#37232295)
I wish it was, instead we have people around the team pushing people to cut corners, and engineers tinkering hacks to get along.

To be fair I don't think we even have the tools to create software that we can be liable for yet, not without halting progress to a point where, without strong laws, companies cutting corners would win by iterating way faster.

Re:Programmers should not call themselves engineers (2015) by dmoy on Wednesday August 23, 2023 @01:55AM (#37232312)
I am both a software "engineer", and have separate non-CS engineering degrees.

What the vast majority of us in software do is not engineering. I think like you say liability is one part, but another big part is the immense breadth of unknowns we have to deal with and accept. There's no budget or time given for properly figuring out and scoping a project (for most programming), because the penalty for failure isn't so steep. It's not written in blood, so we don't dedicate the resources necessary to really engineer it.

Some programming is arguably engineering. Many parts of aerospace for example. Some of the medical devices space. But it's overall a very small percentage of total programming happening in that world.

And you know, that's probably okay, for now at least.

Re:Programmers should not call themselves engineers (2015) by dmoy on Wednesday August 23, 2023 @01:56AM (#37232320)
I am both a software "engineer", and have separate non-CS engineering degrees.

What the vast majority of us in software do is not engineering. I think like you say liability is one part, but another big part is the immense breadth of unknowns we have to deal with and accept, but never really chase down. There's no budget or time given for properly figuring out and scoping a project (for most programming), because the penalty for failure isn't so steep. It's not written in blood, so we don't dedicate the resources necessary to really engineer it.

Some programming is arguably engineering. Many parts of aerospace for example. Some of the medical devices space. But it's overall a very small percentage of total programming happening in that world.

And you know, that's probably okay, for now at least.

Re:Programmers should not call themselves engineers (2015) by beebmam on Wednesday August 23, 2023 @02:12AM (#37232389)
Don't forget the software security space.
Re:Programmers should not call themselves engineers (2015) by benterix on Wednesday August 23, 2023 @03:13AM (#37232761)
Like LastPass? I'd venture to say the ratio of engineered projects in this space is shockingly similar to software in general.
Re:Programmers should not call themselves engineers (2015) by piva00 on Wednesday August 23, 2023 @04:55AM (#37233434)
> Many parts of aerospace for example. Some of the medical devices space.

Also any kind of automation that might kill a human: industry automation, self-driving cars, etc.

Re:Programmers should not call themselves engineers (2015) by karmakaze on Wednesday August 23, 2023 @10:58AM (#37237061)
That's a good point. The problem isn't the naming of software engineers, it's the practices that need correcting.
Re:Programmers should not call themselves engineers (2015) by j45 on Wednesday August 23, 2023 @02:00AM (#37232334)
It makes me wonder, do computer engineers who have an engineering degree stamp their code at each commit?
Re:Programmers should not call themselves engineers (2015) by deaddodo on Wednesday August 23, 2023 @01:22AM (#37232167)
I sort of agree with this. But I will say, mentally I've always distinguished between an engineer and a programmer.

A software engineer builds/architects complex systems in an efficient manner that utilizes a set of standards to do so. Software engineers actually use data structures, complex algorithms and engineering paradigms in their solutions.

A programmer does rote/formulaic (sometimes simplistic) work. Installs and customizes Wordpress sites with basic PHP monkeypatching. Cobbles together UIs with UI libraries and prebaked components. Builds COBOL and FORTRAN applications. Etc.

It's an arbitrary distinction and slightly biased; but one that I think fits. Both are needed and have places in the careerscape, but their utility is different. Much like a civil engineer and a safety inspector are both necessary, despite only one utilizing "engineering principals".

Re:Programmers should not call themselves engineers (2015) by kazinator on Wednesday August 23, 2023 @01:56AM (#37232317)
At university we used to say "snivel engineer". :)
Re:Programmers should not call themselves engineers (2015) by IshKebab on Wednesday August 23, 2023 @02:35AM (#37232505)
There's no legal requirements to call yourself a mechanical engineer or an electrical engineer in most of the world. I think the real difference is that the barrier to entry for programming is so low you get the full spectrum of people calling themselves "engineer" but the word has some connotation of "building things properly" which a lot of programmers definitely don't do.
Re:Programmers should not call themselves engineers (2015) by gyulai on Wednesday August 23, 2023 @02:40AM (#37232539)
> important stuff, that a lot of people rely on, and for which there will be severe consequences if it is built wrong.

Sure, if you're working on medical devices or in-vehicle electronics or software controllers for nuclear reactors or whatever, that might be the case. But, as a fraction of the software industry, that's tiny. I don't have hard numbers on this, but you can look at popularity of programming languages as a proxy. Most software "engineers" do JavaScript or Python, two languages you would never ever use for such things.

Most software is a form of entertainment with a small amounts of usefulness sprinkled in, or doing things that could, in principle, be done with paperwork.

Re:Programmers should not call themselves engineers (2015) by ghusto on Wednesday August 23, 2023 @02:54AM (#37232648)
Yes, and I'd like to be referred to as Dr. Ghusto from now on, because all those "real" doctors just have a chip on their shoulder.
Re:Programmers should not call themselves engineers (2015) by jwestbury on Wednesday August 23, 2023 @05:31AM (#37233639)
Worth noting, perhaps: Ian Bogost is definitely not a civil engineer with a chip on his shoulder. He's a video game critic and designer, as well as a professor -- formerly of digital media at Georgia Tech, now of film & media at Washington University's engineering college.
Re:Programmers should not call themselves engineers (2015) by thunky on Wednesday August 23, 2023 @11:55AM (#37238010)
> I don't feel like some kind of pretender describing myself as a software engineer

Since it's a controversial word and opinions vary, why not just say "developer" or "programmer" instead?

A handyman is also an engineer by your definition, but insisting on that title would probably raise eyebrows too.