Live data from Hacker News

Programmers should not call themselves engineers (2015)

theatlantic.com

61–70 of 149 posts

Re: Programmers should not call themselves engineers (2015)

#61

To be called Engineer in Italy, you need the specific degree and a special diploma afterwards. People from CS are an exception and they can access to the same title of the Computer Engineers. If you apply for a job with a CV that says you are an Engineer but you are not officially registered, you can be reported for fraud.

Pretty much the same here in Canada. In order to use the title 'Engineer' you need to 1) have completed your studies for an engineering degree at an accredited university 2) become part of your province's Engineering group with all this entails (exams,continuing education..)

Mind you, many who studied Computer/Software engineering do become accredited Engineers (as per the legal term in Canada). But even if you completed your studies, it doesn't automatically give you the legal right to present yourself as an 'Engineer'. You can choose or not to become a 'legal' engineer, but in the case of software it's usually not necessary. Of course, the case is different for people building bridges and infrastructures, they pretty much have to become 'legal' engineers to be able to be on such projects.

I find it's mostly in the US that the term seems to be used loosely. I might be wrong.

Re: Programmers should not call themselves engineers (2015)

#62
post #27
post #8

While I don't much like software developers calling themselves engineers either, it was hard not to read this and think that about a week ago I was reading all about a dam that seemed poised to fail and thousands of people had to be evacuated; or about a miracle of engineering, a skyscraper in SF that appears to be sinking ( https://www.nytimes.com/2016/09/23/us/san-francisco-millenni... or, oh, here's an entire Wiki…

What about failures in medical software, airplane safety software, or military software?

Most planes crash because of something else than software... Most casualties in the medical domain are not caused by software... to say nothing about war casualties.

It's not sand in the oil, it's the lack of a filter, that cause a crash. It's not human error, it's badly designed UI. It's not aging, it's improper material choice. It's not a manufacturing problem, it's a design problem with the manufacturing process.

Software is just yet another imperfect engineering domain.

It's too easy to point to software engineering as fundamentally flawed without looking at all the flaws in engineering(TM)...

Re: Programmers should not call themselves engineers (2015)

#63
post #51

- If you do primarily do work that involves making decisions about data structures and algorithms, then you might be an engineer. - If you primarily do the work of figuring out how to make business processes scale using software (and then implementing those ideas) then you might be a developer. - If you primarily implement tickets then you might be a programmer or coder. The idea of calling everyone who writes softwa…

Following this logic, anyone who manages engineers is a developer.

I added a parenthetical to clarify. But to play devil's advocate, it's hard to argue that PMs and managers aren't 'developing' software, at least in the plain English sense of the word. (Although clearly you need to draw the line somewhere.)

Re: Programmers should not call themselves engineers (2015)

#64
post #51

- If you do primarily do work that involves making decisions about data structures and algorithms, then you might be an engineer. - If you primarily do the work of figuring out how to make business processes scale using software (and then implementing those ideas) then you might be a developer. - If you primarily implement tickets then you might be a programmer or coder. The idea of calling everyone who writes softwa…

Following this logic, anyone who manages engineers is a developer.

Interestingly that terminology fits in the building trades and we can only dream of making large scale software projects as predictable and reliable and human safe as large skyscrapers. That is a truly excellent analogy.

Re: Programmers should not call themselves engineers (2015)

#65
post #53

I call myself a Software Engineer specifically because I see it as different to being a programmer. I don't just write code, I try to solve problems in a rigorous and maintainable way, while being aware of the wider implications of my work to the business, our customers, and anyone else who might be affected by it. Sure we don't have the same regulation as civil engineers, but I try to do my work in the same spirit.…

"I try to solve problems in a rigorous and maintainable way" The original linked article was written by someone who's never engineered anything and clearly has no social or cultural connection with any engineers, but I can see in one line that you and I are at least partially on the same page about what engineering is, which is not much of an endorsement for the article. The critical difference between science, engin…

Agreed. And I work on a CRUD web app mostly, but I try to bring the same spirit into my work there. It's not the same, but I strongly believe programming can be done in a pragmatically rigorous and repeatable way.

Re: Programmers should not call themselves engineers (2015)

#66
>The term is probably a shortening of “software engineer,” but its use betrays a secret: “Engineer” is an aspirational title in software development. Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education. Engineering claims an explicit responsibility to public safety and reliability, even if it doesn’t always deliver.

Well, at least in the UK, software engineers are uphold by the BCS code of conduct [1]. Our first responsibility is (at least should be) safety.

Like "traditional" engineers, we build the bridges and structures of the virtual world, but the impact on what we do can still have real life changing consequences. The fact that we aren't certified and regulated is a result of us being self-regulating, meaning that we can move quicker in our industry. Many other industries have this arrangement, such as advertising.

I would say that we are not as bound to delivering a fully reliable product, as long as there is enough in place to make it fit for purpose and safe. This is the same as engineering. Lifts regularly break down at our local library, but never do they suddenly plummet several stories. A bank App can crash, but never can it leak information.

[1] http://www.bcs.org/upload/pdf/conduct.pdf

Re: Programmers should not call themselves engineers (2015)

#68

If mechanical engineers were unregulated and built unreliable cars, they would still be mechanical engineers. If doctors weren't a licensed profession, they would still be doctors. If barbers didn't need a certification, they would still be barbers. Defining an "engineer" based on how much regulation they must follow is kind of ridiculous. It's putting the cart before the horse. Which is not to say that the software…

I disagree.

Titles exist to provide an assurance to people that the services they get from title-holders will be above a certain standard, with the threat of a serious penalty if the work is sloppy.

This is the social expectation in many societies.

If I find that a doctor doesn't sterilize needles or wash hands, they should face a penalty (regardless of whether it actually caused damage). We shouldn't have to specify up-front in some contract that we want them to follow $RULES as a set of deliverables. This stuff is therefore regulated.

I used to think differently, but now I feel that software engineers should be similarly regulated. That doesn't mean everyone will now have to follow a ton of regulations to slap together the next nodejs app, those people can still be called developers. But whoever is an "engineer" should ensure that the work is well thought-out and should stop the developers they supervise from moving fast and breaking things.

It's time the industry "grew up" as a whole. If "software is eating the world", we need to be damn sure it's not sloppy.

Re: Programmers should not call themselves engineers (2015)

#69

Engineers are people who hold engineering degrees. I'm not sure how it became otherwise.

Engineers are people who build and operate engines. I'm not sure how it became otherwise.

That might be for the English term. On romance languages, ingeniero/ingegnere/ingénieur is based on the "ingenio" root, so an engineer is someone who uses their wit to build/solve something.

Re: Programmers should not call themselves engineers (2015)

#70
post #30

I call myself a Software Engineer specifically because I see it as different to being a programmer. I don't just write code, I try to solve problems in a rigorous and maintainable way, while being aware of the wider implications of my work to the business, our customers, and anyone else who might be affected by it. Sure we don't have the same regulation as civil engineers, but I try to do my work in the same spirit.…

This misses the point that all other types of engineering are regulated and licensed.

All? Are people that work in music studios (Sound Engineers) regulated? I have know people that have gone to Full Sail (one of those 40,000 for-profit schools) That have gone on to be "Engineers". Engineer simply means "one who engineers things".... or drives a train.
Post reply on HN