
Why Computer Programmers Should Stop Calling Themselves Engineers - prostoalex
http://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/?utm_source=SitePoint&utm_medium=email&utm_campaign=Versioning&amp;single_page=true
======
dang
Please check HN search before submitting a story. This is a duplicate many
times over:

[https://hn.algolia.com/?query=programmers%20engineers&sort=b...](https://hn.algolia.com/?query=programmers%20engineers&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

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

~~~
asdada
asdasd

------
rembo666
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.

------
TeMPOraL
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.

------
themoonbus
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.

------
ankurdhama
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.

------
ntrepid8
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.

~~~
psgbg
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.

------
sankyo
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](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...](http://www.maintenanceresources.com/referencelibrary/ezine/hoteleng.html)

------
rabbyte
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.

------
djent
Previous discussion:
[https://news.ycombinator.com/item?id=10513499](https://news.ycombinator.com/item?id=10513499)

------
bluthru
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.

------
fixermark
[http://thecodelesscode.com/case/154](http://thecodelesscode.com/case/154)

------
Markinhos
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.

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

------
dudul
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.

------
etimberg
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.

~~~
Armisael16
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...

~~~
etimberg
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.

------
swagv
[https://news.ycombinator.com/item?id=10529613](https://news.ycombinator.com/item?id=10529613)

Stop, please.

