Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
[dupe] Why Computer Programmers Should Stop Calling Themselves Engineers (theatlantic.com)
22 points by lxm on Nov 10, 2015 | hide | past | favorite | 22 comments


Please check HN search before submitting a story. This is a duplicate many times over:

https://hn.algolia.com/?query=programmers%20engineers&sort=b...


Thanks, I usually do for older materials like this one, but got lazy this time.


I disagree. Engineering is a discipline that has evolved over time. There were plenty of engineering mistakes throughout history as new technologies emerged. As lessons were learned, more structured approaches were devised.

Software, especially in large scale, has been around for a very short time. We're still in the learning phase. The "software engineering" problem is still unresolved: we still don't really know how to be successful at software.

Software projects are still a crap shoot, but we're better at it now than we were 20 years ago. I think when we talk about software engineering, we talk about organizing successful projects. There are many things that were invented to make the process more structured, such as agile planning, rapid delivery, continuous builds, improvements to software architecture practices, improved tooling, etc. People who built cars at the turn of the 20th century usually sucked at it, that didn't necessarily make them charlatans.

I agree that not every computer programmer can be called a software engineer, just as a mechanic is not necessarily a mechanical engineer. This doesn't mean that a new industry is somehow inferior to an established one as far as the evolution of its approach to problem solving goes. We simply haven't figured out how to separate "mechanics" from "engineers" yet, but we are working on it.

Just because this trade is still very young, it doesn't mean that we're not in the process of developing an engineering discipline.


I guess I share author's sentiment quite a bit. Personally, I don't call myself an engineer even though I'm legally entitled to. Engineers build bridges and houses and space rockets. I just code some trivial stuff for a company.

When getting my engineering degree I actually felt proud. I even bought a safety helmet and wore it for my thesis defense, as a symbol. But just after getting the degree I came to the conclusion that my friend captured in words as: "If I'm an engineer, then I'm afraid to visit a doctor". That is, our (software) engineering titles were awarded for doing mostly simple shit (programming) any high-schooler could learn in his free time, and enduring academic bureaucracy for 3 years. We didn't feel proud of our skills.

Since then one of the things that fuel my drive to learn and improve in hardware-related skills and natural sciences is the feeling I need to at least learn something to make myself worthy of the title bestowed upon me.


I suppose I enjoy arguments about word usage, but at the end of the day, the battle he's fighting is already lost.

Also, anecdotally, I've rarely heard a software engineer call themselves just an "engineer". They usually prefix it with the word software, or use the word developer.


I would agree but I would also say that software systems are way way more complex than any other engineered systems. How? Well consider the number of factors that a engineer has to consider while designing the system. These factors could all be accounted before the system design is started and the specific engineering discipline is all about knowledge of these factors and how to handle/control them. On the software systems side, there is no way in the hell that you could consider all the factors that would influence the system let alone come up with strategies to control and handle them. So yes, we should not call ourselves engineers, rather we need some other title which is about handling complexity levels of systems like software.


Engineering is usually considered to be concerned with the application of science and math to build systems and solve problems. On a continuum with pure math on one end and applied physics on the other, most things that we think of as engineering fall more toward the applied physics end.

Computer science is much closer to pure math than chemical engineering for example. That said, I think computer engineering is a real thing and just because SV uses engineer as an aspirational title doesn't mean that writing code has nothing in common with engineering.

Software manages all kinds of critical systems from automobiles like the author mentioned, to auto-pilot in airliners, and control systems in power plants.

Maybe one day we'll have a recognized PE designation for pure software engineers too.


I think that software engineering is related with practices.

If you are capable (and understand):

+use a build and deployment system,

+use a testing suit/framework whatever,

+a bug-tracking system, a source control,

+good practices of programming (programming styles, pertinent programming patters, etc),

+capable of do good estimations (cost/time/human resources) to tackle a problem,

+you are capable of understand the pros and cons of software architectures (i.e. client-server, distributed, pipelines, multilayered system, etc),

+do metrics and estimations of progress (not only bugs found/corrected but also milestones met)

+and develop a roadmap (for example understand what tasks are blocking, what goals are reachable, what are secondary or skip-able, and what is shippable).

Then you are pretty much a software engineer.

Now this is not structural or civil engineering, and are not comparable. For example given favourable conditions (good foundations, no mayor disasters or other problems) a civil engineer is almost guaranteed to come up with a viable bridge design. But for software the design are not only the sketches, or diagrams, is the code itself, and even with favourable conditions (money, people, time) your software might fail.

Now for me a CS they are more good to do models. They are good to reduce a problem in models that are more close to logic and mathematics and therefore are more apt to be tested and proven. Yet that doesn't mean they could solve a software problem either. They could prove the model, but that doesn't mean that the model is realistic or that the best answer to a specific problem.


Next we can expect an article about how giving someone the title "Engineer" can give them some dignity and increase retention rates.

"sanitation engineers" should only refer to themselves as Waste collectors http://www.thesaurus.com/browse/sanitation+engineer

A "property engineer" was sent up to my sister in law's hotel room to unclog the toilet after my nephew finished his business there. http://www.maintenanceresources.com/referencelibrary/ezine/h...


imo the problem stems from reputable authority credentials not keeping up with the rate of change. it's why we have a situation where github is a more reputable authority for what you do than a resume. you could look at this and say the problem is we need to return to the way we used to do things or you can look at this and say we need a new way to credential people. I'm looking at decentralized reputation, set up the new credential system to keep pace with the rate of change.



Why does a chemical engineer have more in common with an electrical engineer than a software engineer? The term engineer has been diluted ever since it first referred to people who made weapons for war.

Speaking of which, let's not pretend that everything an engineer makes is magically beneficial to society. Engineers have a hand in creating: low-quality garbage, harmful materials, weapons, sprawl, low-quality buildings, obesity, and on and on and on.



very stupid article. An engineer is not what the author wants to be; an engineer is someone that applies maths and science into practical problems.

And the difference in process between a civil engineer and a software engineer is because the nature of them is quite different. A bridge is expensive to change, meanwhile software is designed to change.


What about people who drive trains? Are they not allowed to call themselves engineers? They don't build anything.


I don't necessarily disagree, I actually make a point to never call myself an engineer, but a programmer.

However, I think the author has an idealized vision of actual engineers. It's not rare to see buildings with mistakes or things that were not properly thought out.


I think it's pretty simple: you can call yourself an engineer if you graduated from an engineering program and have a P.Eng otherwise you're not and depending on your jurisdiction you may not be able to legally use the title.


For those that are unaware as the article didn't dive into this:

P.Eng. is the Canadian designation[1]. The American equivalent is PE[2]. It is unfortunate but understandable that one must undergo re-licensing in a different country due to lack of reciprocity licensing agreements, unlike the M.D. designation between Canada and the US.

>>In Canada, many civil engineers wear an iron ring symbolizing the ethical commitment their profession undertakes.

Regardless of which engineering discipline a person chose, most engineering graduates wear their iron rings[3]. Note that wearing an iron ring does not automatically entitle one to the P.Eng. designation - it only means the person graduated from an undergraduate engineering program.

[1] http://www.engineerscanada.ca/frequently-asked-questions

[2] http://www.nspe.org/resources/licensure/what-pe

[3] Anecdata


That's tossing out an awful lot of people - the vast majority of PEs are in civil or mechanical. It isn't necessary for almost any other field - electrical, chemical, materials...


Agreed, addressing the fact that it's a self fulfilling prophecy at this point is a whole other issue. If very few developers are professional engineers, even less new graduates can become one.


Meh on the degree. I've known quite a few people without degrees who can engineer rings around folks with those pieces of paper.

If there needs to be a test, make it like the Bar; you don't have to attend law school to pass (though it helps a lot!). Actually measure the thing being controlled or categorized.

[Licensing comes up every once in a while. The last time I looked at one of the licensing programs for software, it was about fifty percent EE. Really not sure what impedance and amplifier design have to do with writing software. Frankly, it looked like a politically motivated power grab by some folks who wanted to gatekeep the market. "Nice career you have there, bub; it 'ud be a mighty shame if something . . . happened to it, right?"].





Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: