
Programmers should not call themselves engineers (2015) - DanielleMolloy
https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/?utm_source=mitfb&amp;single_page=true
======
bshimmin
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...](https://www.nytimes.com/2016/09/23/us/san-francisco-millennium-
tower-dispute.html\);) or, oh, here's an entire Wikipedia page just for
structural collapses:
[https://en.wikipedia.org/wiki/List_of_structural_failures_an...](https://en.wikipedia.org/wiki/List_of_structural_failures_and_collapses)

My point, if I have one, is that Ashley Madison getting hacked (specifically
mentioned in the article) was a pretty embarrassing calamity, sure, but I
don't think anyone died as a result of a lack of proper collaboration and
regulation in software development.

~~~
Spooky23
Pointing out failures in engineering isn't a productive exercise.

The difference is that engineers have both professional ethical obligations
that they can fall back on and accountability. It is possible that the guy who
stamped the sinking skyscraper will lose his license, for example.

In technology, the lack of a real engineering culture is a profoundly negative
thing in many ways. When your boss demands that you do something clearly
unethical, you have no backdrop as a professional to say "I cannot do this".
Engineers, attorneys and CPAs have that.

~~~
wayn3
Except, you know, there's the law I could refer to.

Or like two months ago when the guy who hired me wanted me to ship software
that was clearly going to explode in production and I told him that I'm not
interested in having that kind of disaster on my conscience and that he would
just have to deal with the fact that its going to take longer to ship.

Saying no is about having a spine, not about being able to hide behind
something that you can hold against your employer. Maybe they're right. If you
are incapable of making decisions in a professional fashion, you should not
call yourself an engineer.

~~~
ponderingHplus
Ethics can be a tough thing, and it can take more than just a spine to refuse
unethical work. Identifying something as being unethical in the first place
can be a challenge for someone new to a discipline. Having a professional
community that explicitly teaches and tests you about their Code of Ethics
gives you a framework and support network to help you with those decisions.
It's also kind of a cultural thing. Having transitioned from chemical
engineering to artificial intelligence, I'm amazed at the different cultures
regarding ethics. Not having an entity responsible for defining the code of
ethics in my new discipline, and the lack of community around it, has made it
much more difficult to discuss and challenge the ethical decisions we make.
Most of the time, when I bring up ethical discussions, my classmates and
professors respond with "that's not our responsibility". When I ask whose
responsibility it is, the answer is always "someone else's".

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

As part of this, I have a "masters of engineering" in computer science, which
again, while not the same as civil engineers, still had a lot more wider study
than a standard computer science degree.

I think programmers should do more engineering, and I think they should be
recognised as engineers when they do.

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

~~~
ohstopitu
Software Engineering is recognized as Engineering both by IEEE and by
Professional Engineers of Ontario (or other provinces) who are members of
Engineers Canada.

Certification does exist....it's not widely used or accepted because in most
cases, companies want developers not engineers.

To add to it, the only thing stopping Software Engineers from becoming members
of the above mentioned organizations is a code of ethics (and experience) -
not knowledge or know-how.

~~~
naasking
> Certification does exist....it's not widely used or accepted

That's an understatement. Was speaking to a fellow engineer recently, and he
claimed that there are really only two licensed software engineers in all of
Toronto. We probably have tens of thousands of software developers.

~~~
ohstopitu
The only place where I've seen the certification as a requirement is govt jobs
(and UfT I believe).

Apart from those two, I've yet to find even a reference for it (let alone a
requirement) - which is a cycle because one of the requirements of being a PEO
is 12 months of work experience under a PEO (which won't happen as there
aren't enough PEOs - the chicken and egg problem).

~~~
Panini_Jones
Can you link to the U of T job with the cert requirement?

------
eru
> It undermines a long tradition of designing and building infrastructure in
> the public interest.

The author should know that the word engineer comes from the military.

> The term engineering itself has a much more recent etymology, deriving from
> the word engineer, which itself dates back to 1325, when an engine’er
> (literally, one who operates an engine) originally referred to "a
> constructor of military engines."

(from
[https://en.wikipedia.org/wiki/History_of_engineering](https://en.wikipedia.org/wiki/History_of_engineering))

------
guessmyname
I recently visited Berlin to research about the German Freelance Visa [1]
after being rejected by multiple local startups that were looking for Software
Engineers with +3 years of work experience. I asked for feedback to one of
them and was told that I should not consider myself an "engineer" because I
don't have an university degree in the field, even with +9 years of work
experience. I asked more people about the topic and most of them agreed that I
should call myself a Software Developer instead since I am self-taught. What
do you think about it?

EDIT: To add a bit more, I don't mind the title, you always end up doing more
or less the same things, many companies love the titles though. Some of my
friends have titles like "Lead Developer", "Senior Software Engineer", "CTO",
"Back-End Developer", etc and they all do pretty much the same thing that I
do, so I don't see the point on nitpicking my resume. I will surely take the
advice and start calling myself a "Software Developer" instead of "Software
Engineer" because I agree that calling myself an engineer without a formal
education is misleading.

[1]
[https://service.berlin.de/dienstleistung/305249/en/](https://service.berlin.de/dienstleistung/305249/en/)

~~~
k__
Yes, German companies love their degrees...

I work as a Freelancer too and all the German contract jobs 'require' a degree
'or similar experience'.

In the end, explaining 'similar experience' is a struggle.

You even have to pay less taxes if you do 'consulting of higher value' as a
freelancer (called freiberufler status) but explaining this without a degree
is a struggle too.

In the end I'm happy about my B.Sc. in Computer Science. When I tell people I
have it, I get no more questions asked...

~~~
eru
Yeah, the Freiberufler status is crazy.

I don't mind having grown up in Germany---but I don't miss never having worked
there.

------
marcoperaza
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 field doesn't need regulation to improve
the protection of customer data and the reliability of increasingly critical
services.

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

~~~
marcoperaza
I think we actually agree on the need for regulation. I just don't think being
subject to regulation is necessary to be considered an "engineer".

------
bArray
>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](http://www.bcs.org/upload/pdf/conduct.pdf)

~~~
t_fatus
> “Engineer” is an aspirational title in software development

Some engineers aspire to, allow me this reserved term, 'build' software. And
doing so fulfill their role as engineers, by doing it correctly. Some of this
software later is used by so depicted real-hardware engineers to model their
bridges before starting building them, their planes before flying in them.
Would id be possible without engineers in software ?

------
throwaway2016a
I think a lot (not saying all/most) of these comments can be summed up as:

No, Software Engineers are not engineers on a technical level but they do the
work of engineers[1] and the fact the industry has not caught up doesn't make
what they do any less engineering.

[1] They are using math to solve real world problems that have billions of
dollars and in many cases lives depending on them.

For one, I am sick of being called "not an engineer" when I bear more
responsibility in dollars and livelihoods and use math more extensively in my
job than most mechanical and electrical engineers I graduated with. In college
I took all the same courses as the "real engineers"... I'm only a few credits
shy of an Electrical Engineering degree. The "technician" majors took
different courses. Less calculus, less physics, etc.

Heck, my stuff gets attacked by hackers on a daily basis. Show me something a
civil engineer built where they need to worry about the level of security
needed to protect against something like that. No one blames the civil
engineer because they didn't explosion proof the road.

In fact a lot of the firmware I have seen Electrical Engineers write is
terribly insecure and poorly written. Stuff a well trained Software Engineer
would feel embarrassed about.

No, we are not legally engineers. But we should be.

~~~
creatornator
Your main point aside, your experience having taken more math and physics
courses than "technicians", and bearing "more responsibility in dollars and
livelihoods and use math more extensively in my job than most mechanical and
electrical engineers I graduated with" is anecdotal evidence. I am not even
done with my BS/MS EE degree and I've already taken more math and physics than
my CS peers will ever take. This will change from college to college and
degree to degree. You are right about the state of firmware though--security
practices in IoT are often pretty terrible. Perhaps that points to an
inadequacy in the licensing/regulation system that we have in place. I think
most people in the comments could agree that the word "Engineer" implies
rigorous certification--once software development has the same, then it could
be considered Engineering.

~~~
throwaway2016a
> This will change from college to college and degree to degree

This is most likely very true. But in that case perhaps Computer Science
should be split up into two majors with one being more rigorous. In my college
the CS major was very rigorous and was even accredited as an engineering
program.

> I think most people in the comments could agree that the word "Engineer"
> implies rigorous certification

I don't agree with this one. For one reason:

Almost all my engineering friends didn't bother getting their PE after getting
out of college. Many didn't even get their FE. yet they still do engineering
work. I only know one or two who actually did.

At least in the US most medium size companies only have one or two PEs that
sign off on projects. But the people without the PEs still use Engineer in the
job title. So even within electrical, mechanical, and civil engineering having
the word engineering in the job title does not imply any sort of rigorous
certification.

------
coldcode
My title says Senior Software Engineer. I didn't choose it. In fact it said
Lead Software Engineer in my offer letter but a reorganization changed a lot
of people's title to be more generic. I don't get to choose my title. I have
always considered myself a programmer but what my employer calls me is their
business.

------
adityab
For what it's worth, in Germany the title of Engineer is regulated and the
correct term for those who write software (which goes in the contract) is
"Software Entwickler" (Entwicklung means "development"). There's a few more
complications here that I don't know very well.

I don't completely agree with this because serious engineering work on
software happens in many industries. But most software jobs clearly do not fit
the description nor the implied seriousness of an engineering role.

Other things that grind my gears:

1\. The way the "Data Scientist" title is casually thrown around for those who
are neither scientists nor know statistics. Everyone has a different idea of
what the term means and (worst of all) feel that it probably applies to them.

2\. "Tech" is a contraction for technology but people in the software industry
(especially Americans) seem to use the term solely for Software.

~~~
guitarbill
Definitely true in Germany, I think it's also true in Australia and a few
other places. However, the title "software developer" is also really common in
English. Maybe even more common than "software engineer".

------
techwizrd
This article feels painfully misinformed. I am a brother of Theta Tau, the
professional engineering fraternity. Many of my brothers are certified
professional engineers (FE, PE, etc.) I graduated with a dual-major in
CS/Math.

I strongly disagree with this assertion that failures in tech make us
undeserving of the moniker 'engineer'. Software systems are inherently
complex, and we have built incredible testing tools, processes, continuous
integration, monitoring systems, and infrastructure to add strong rigor to our
discipline.

As part of most engineering degrees, students explore case studies of where
engineering went wrong and failed. I can assure you that there are many
failures in civil engineering (see ASCE's report card), mechanical
engineering, electrical engineering, and other engineering disciplines just as
there have been failures in the tech industry.

Licensure is not as applicable to the tech industry, and certifications have
been cheapened by low-quality applicants. They've become a negative signal.
Additionally, the tech industry, in my opinion, innovates at a significantly
faster pace than the licensed engineering disciplines. Perhaps these are
correlated in some way.

Companies like Google are right not to overvalue degrees. If someone has the
requisite knowledge and ability, it should not matter whether they learned
from a book or on their own. Software interviews are significantly more
rigorous that interviews in other engineering fields. Civil Engineers are not
expected to be able to whiteboard open channel flow problems during an
interview, but software engineers are expected to answer multiple interviews
of algorithms and system design questions.

This article is just long-winded, useless rambling. Rage against Silicon
Valley all you want, but we call ourselves engineers because we _are_
engineers. Software runs critical infrastructure in medicine, finance,
aeronautics, traffic control systems, the electrical grid, and even the
internet infrastructure used to deliver this nonsensical article. I suggest
the author read about incidents such as the Therac-25.

~~~
gspetr
> Additionally, the tech industry, in my opinion, innovates at a significantly
> faster pace than the licensed engineering disciplines. Perhaps these are
> correlated in some way.

I think you're right. Regulation stifles innovation.

Even in a narrow sense, thinking software alone, everyone knows the saying
"Standard library is where modules go to die", meaning that there are stricter
requirements to make it to the standard library in the first place and
stricter still to update them once they've made it in.

~~~
VLM
Its not just regulation. We're not getting rid of Eulers critical column load
equation because of neophilia whereas in software if its over two years old it
must be scrapped as obsolete and no longer trendy.

Engineering is very predictable because of the enormous amount of procedure.
It takes precisely X labor hours for an engineer to analyze a house roof
blueprint and specify a scalable system of installing anything from 1 panel to
covering the entire roof with solar panels that will survive local wind and
snow loads with essentially 100% survivability yet also being minimal cost.
Its just incredibly predictive.

On the other hand a lot of software development is throw something brand new
at the wall see if it sticks, if it does, great, scale till it doesn't, if it
does not then its not your fault because its new and nobody can predict
nothing in software development. Will it take 3 months or 4 months to write
that app, who knows, unpredictable.

No large body of "human life trustworthy" predictable process has developed...
yet... for software except in the simplest cases.

It doesn't help that due to moore's transistor law times were changing fast
such that what would have required a miracle and some scientific breakthrus in
the 70s is now the structural engineering equivalent of some carpenter
building a doghouse, its so small that overbuilding doesn't matter and theres
no human lives at stake so hiring a structural engineer for hours to calculate
the rafter geometry and size for a doghouse is a waste of time and money,
leading ignorant people to think solid engineering principles are in
opposition to profit for ALL software development, which is a bit of a
mistake.

And leading to a desire for software engineering to exist, although there is
no academic teachable scalable hyper-predictable mathematically provable
process for software development like there is for circuit analysis or
structural beam design or chemical process kinetics for scaling so desiring
"truely engineering like software dev" is like wishing for magic to be true,
sure would be convenient if it existed, but since it doesn't, the people who
claim to be engineers are kinda like people who claim to be alchemists, best
hold on to your hat.

With a side dish of "engineer" being a modern term of nobility only granted by
certain authorities and extremely jealously legally guarded.

And a side dish of hiring people who know nothing about computers or
engineering think engineer sounds impressive, so its required on resumes, just
like "rock star" or "guru" or "ninja".

------
ponderingHplus
The term "engineer" is regulated in Canada, and only Professional Engineers
(PE) awarded a licence by their provincial regulatory body can call themselves
as such. Someone who graduates with an engineering degree is usually called an
Engineer in Training (EIT), until they become a PE. The reason we regulate a
specific word for our profession is because of our relationship with the
public, and the ethical and safety promises engineers are regulated to commit
to the them. The average person does not have the technical background to
judge the proficiency of an engineer, so they must trust in their abilities
and morals. In Canada, engineering is a self regulated profession designed to
uphold high technical and ethical standards so that we can maintain that trust
society gives us. The intention is, that when someone calls them self an
engineer, you can have confidence in both their technical ability and moral
obligations. To be effective, the standards of the term and definition of who
can and can't use it needs to be regulated.

That being said, I normally refer to myself as a chemical engineer (not a
chemical EIT). I think the distinction needs to be made when you're
interacting with someone that you are offering your engineering services to.
For example, when at work I would always sign my emails indicating that I was
an EIT.

~~~
Panini_Jones
> The intention is, that when someone calls them self an engineer, you can
> have confidence in both their technical ability and moral obligations.

I thought the intention was that, even if someone didn't have confidence in
both their technical ability and moral obligations, it didn't matter. An
engineer is a person whose technical decisions are literally protected by law
- if they decide to not sign off on something, they don't have to convince
anyone and can't face consequences for it (ahem, Quebec bridge[1]). What
you're suggesting is just a byproduct of confidence in the system.

[1] -
[https://en.wikipedia.org/wiki/Quebec_Bridge](https://en.wikipedia.org/wiki/Quebec_Bridge)
\- Search for 'iron ring'

~~~
ponderingHplus
I'm not sure that I fully understand your comment, but what I mean to say is
that the intent of regulating the specific word is so that everyone has the
same understanding of what using that word entails, when applying it to the
profession of engineering. What you say about an engineer's decisions being
legally bound are true, but that helps provide confidence in the work
engineers do, but isn't the reason for regulating a specific word. I feel like
I might be missing something in your comment though, sorry if this doesn't
address what you were getting at.

------
williamdclt
My engineering school deliver engineers diploma certified by the Engineering
Titles Commission, which is the only thing in France able to allow a school to
make engineers out of its students. Thank you goodbye, do not make
generalizations from how it is in your country.

~~~
Quanttek
It's the Atlantic, of course they will take about the U.S. unless eplicitly
mentioned otherwise.

Is the French software engineering diploma as rigorous as other engineering
diplomas?

~~~
ergo14
In Poland at least you have Physics and Math that you have to pass like on
other engineering fields.

And you have to create thesis work that you have to defend in front of jury to
get your degree.

I'd expect it would be similar in France.

~~~
hashkb
Many schools in the US also require physics and math for a CS degree. It's not
the degree that's at issue, it's professional licensing and regulations.

~~~
krotton
Well, at least in Poland (and I'm not sure about the rest of Europe) having
graduated from an engineering school (a polytechnic) serves as formal
licensing, even for classic engineering disciplines, like e.g. civil
engineering. So in order to be able to take responsibilities and perform work
of a civil engineer, you are required to have graduated from a civil
engineering faculty, but have no additional certification after you do.
Software development is also thought in polytechnics (among other options) and
you formally become an engineer after graduation (though it has no real life
consequences) - I'm formally a software engineer myself for example.

------
random3
Of course programmers are not engineers. Nor are space shuttles controlled by
software, nor nuclear missiles, x-ray machines, planes, drones or self driving
cars. Nope that's all pure engineering. Zero software. And of course
engineering is only about bridges and public safety and Chernobyl didn't fail
because of a flawed reactor design, nor did the Fukushima disaster happen
because of regulatory capture.

------
dekhn
Margaret Hamilton was a software engineer. Read up on the processes she and
her team used to build the Apollo computer software and you'll realize, there
really is a higher standard that software engineers could be held to.

------
kemiller2002
After I read this article I was quite upset, but really I wasn't angry as I
was as much hurt. I actually don't like to call myself an engineer. I don't
like the title, because I don't think it represents how I work and what I do.
I don't follow a strict rigorous process, my job allows me to be free and
agile (no pun intended) which is quite different from building engineers,
mechanical engineers etc.

Where I live developers, programmers, etc. have never had the prestige that
other science like professions have had. Most of the time when you talk about
what you do, it's often a look of either confusion, or ambivalence because
"Excel is on a computer, so programming can't be much different." A lot of
companies belittle programmers, because "everyone can learn to program."
Programming is hard, and this isn't to insult other professions. A lot of them
are hard too. It's just that a lot of developers want to be respected for what
they do just like everyone else and that's normally missing. This article,
although in my opinion correct about not calling developers engineers, seems
to ignore that what developers do is highly technical and quite complicated.
Developers saying they're engineers puts that force of science and process
behind it, and it's a defense from someone equating their basic class in HTML
to mentally tracing how a request is going to trace through 100 servers in
different regions.

Personally, I don't want to be restricted to being an engineer. I love the
freedom to rapidly alter how I work, and most of what I work on will not cause
harm to others. I am sure I speak for all developers, and what everyone really
wants is to be counted among the other people who have challenging professions
and respected for what is accomplished.

------
Upvoter33
Oh give me a break. People who build things (whether in the physical world or
not) are engineers. Anyone who has worked at a serious software company knows
it's an engineering profession. A more constructive approach would be to say
"hey, here are some things engineers have learned over the years; perhaps some
of them would be useful to those who build software for a living?"

~~~
eru
And the other way round. Version control is terrifically useful eg for
architectural drawing, lawyers drafts, contracts etc---but the non-computer
professions are only slowly taking it up.

------
booleandilemma
There is a title arms race happening with programmers.

If everyone is going to call themselves a Software Engineer on LinkedIn, and I
decide to label myself as a Developer, or even worse, a Programmer, I'm going
to miss out on opportunities that the "engineers" are going to get.

If you don't want programmers calling themselves engineers, just make it
illegal for us to do so.

I know Texas and Canada already do.

~~~
eru
If you are relying on LinkedIn to get opportunities, you are going to miss out
on a lot of them. (LinkedIn is a joke. And nobody gives a damn about what
people call themselves.)

~~~
booleandilemma
I know there is a lot of hate for LinkedIn here, and I agree 90% of LinkedIn
is crap, but I did get my last job through LinkedIn, so I have to admit it's
not all bad.

~~~
eru
Yes. It just feels like a bad dating website most times.

Btw, I had a much better class of recruiter propositioning me on
stackoverflow's careers website:
[http://stackoverflow.com/jobs](http://stackoverflow.com/jobs) Can recommend.
(And I don't even have any real karma on stackoverflow.)

------
threatofrain
There are so many kinds of engineers, and I have little doubt that the author
cherry-picked picked the situations that helped their worldview of engineers,
while suppressing examples they don't like.

Like there are biomedical engineer, a hardware engineer, a petroleum engineer,
the agricultural engineer, etc. These people don't obviously have a united
ethic of placing public benefit first. The petroleum engineer is under no
obligation to think of the public good. If anything, they are obligated to
think of the employer's good.

To me, an engineer is a classification that separates you from a scientist. An
engineer is mostly interested in applying knowledge, whereas a scientist is
principally interested in producing new knowledge. The line is blurred when
scientists are interested in applications, and engineers produce new ideas
during practical circumstances.

In that way, a doctor is an engineer, but I'm not going to insist that doctors
professionally rebrand themselves to fit my pet perspective.

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

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

------
psyc
"Software Engineer" is a title. It is not, and never was, a type of engineer.
It is exactly the same as "Software Architect" in this regard, which is not a
kind of architect.

If a developer says "I am an engineer" it is only ever in the context of a
tech company, where everybody knows what they mean. No programmer would say to
their friends & family "I am an engineer" without any further context.

"Software Engineer" does not denote any additional rigor, no matter how much
you want it to. It may or may not connote rigor, depending on a dozen
contextual factors that will tell you much more about the presence of rigor
than the title will. It's a title. It means computer programmer.

~~~
ubersoldat2k7
Right, my current title is "solutions architect" which has no meaning outside
of the context of software. If someone, non-IT asks me, I'm a software
developer.

------
kalleboo
Where I'm from, you can't call yourself an "Engineer" without holding an
engineering degree...

------
taylodl
There are _some_ regulations for software. I work for a U.S.-based electric
power utility that owns and operates a nuclear power generating station. There
are most definitely regulations addressing the software used in the operation
of that facility.

But that's an extreme case. More generally, I see programming as a skilled
trade and not an engineering practice. In my worldview programming is akin to
carpentry, plumbing, electrical work, etc. Yes, one needs an aptitude for the
job and some technical training - maybe even an apprenticeship - but by and
large we should see programming as a skilled trade. Viewed in that context
Peter Thiel's comments about education make sense - we don't insist plumbers
and carpenters get 4 year degrees to practice their trade, so why do we insist
that for programmers?

For software projects whose failure would cause tremendous harm to the public,
either physically or financially, then I could see having a certified software
engineer oversee the construction of that system. I don't see this as any
different than how we build buildings. Certified engineers/architects design
the building, review the design and inspect each stage of the build process
and final result while tradesmen build the building. This model prevents us
from overcorrecting and insisting all programmers become certified engineers -
that's not necessary.

------
analognoise
I have mixed feeling about this. Having worked at {big defense Corps}, I knew
that some extremely competent technical people were technicians.

I also discovered that back in the 60's or 70's, if you showed a spark, they'd
pay for you to go to school while you worked.

Today, you can't get your foot in the door without a technical degree, AND you
will be constantly dismissed even if you are right. Oh, the engineers know
when a technician is right, showing initiative, and absolutely killing it -
but I saw Senior Management actively disregard them, because they aren't
engineers. The engineers had to say, "hey, he's right, we should all listen".
This happened multiple times. It used to be at some places that every X years
as a technician (I think it was 4?) was ranked as 1 year as a full engineer.
Sure that's slow - but you got heard, and combined with the "bright spark"
incentive above, was a great way to identify talent that didn't take the
traditional channels.

I think "moving fast and breaking things" is a feel-good way to paper over
incompetence and poor planning, but I've also seen the degreed set not be as
competent as the technicians. I have no idea what the right answer is - except
to say that industries where lives are on the line (medical devices,
aerospace, etc) do have strict guidelines, responsibilities and take it very
seriously - this makes me think the author is just taking a dig at people - it
appears as discord without direction, to those in the field.

------
ganfortran
Whatever they want to call us, just don't care. More than OK to address myself
as software developer, programmer, hacker, code writer, keyboard dancer, etc.

Joke aside, what the heck is Certified? So your software skills can asserted,
by written test, that last for several hours...?

I refuse to acknowledge that online judge style algorithm questions could
qualify or disqualify one person's capability to build software, it is like as
civil engineers to build lego, bureaucratic BS

~~~
hoozter
I agree with your mindset. This discussion feels extremely ego centric, imo.

------
daleco
In France, only certified school can deliver engineer degrees, it's a symbol
of a high standard of competence and quality. They are required to teach core
engineering classes and other topics (biomechanics, signal processing,
management, neuroscience...), industry experts also have to come and teach.
One of their goal is to teach the students how to analyze a problem from
different angles.

We learn a lot more beside software engineering.

------
0a
[https://www.reddit.com/r/gatekeeping/](https://www.reddit.com/r/gatekeeping/)

~~~
Quanttek
This doesn't really fit as the discpline of Engineering was generally licensed
and regulated where, in many countries, you could only call yourself an
Engineer if you adheered to certain standards and got the respective
diploma/license. Gatekeeping (in the pejorative sense) is about not clearly
defined groups that members want to make exclusive against certain
people/groups, e.g. being a fan of something ("you are only a true fan if you
can name the last five albums in chronological order")

When you compare the rigour (esp. in testing) of nomrla engineering
disciplines and software engineering, you should be able to spot a difference

------
zb
There's actually a potentially good article in here, about how the software
development community is failing to uphold its obligations to the public
interest.

Unfortunately it's struggling to escape from yet another entry in the tedious
genre of "software engineer (sorry, programmer) who has never worked in, or
even read a book about, any other engineering discipline assuming that he
knows everything about how they work".

It's ironic that he cites the failure of the NATO "Software Engineering"
conferences as evidence that software development is not engineering, when the
idea of those conferences was that "programmers" would be the assembly-line
workers in a software manufacturing process.

Software development is a design process, not a manufacturing process. That's
why we call its practitioners software engineers:

[http://www.zerobanana.com/essays/reclaiming-software-
enginee...](http://www.zerobanana.com/essays/reclaiming-software-engineering/)

~~~
Spooky23
The problem with all of these arguments is that everyone is right.

You can absolutely treat software development as a manufacturing process. It
is sure as hell not appropriate for many situations, but is possible.

------
746F7475
I have a degree that says I'm an engineer, so I'll call myself an engineer
thank you very much.

~~~
k__
I have a degree that says I'm an scientists, do I have to call myself a
Software Scientist now? :D

~~~
746F7475
No, but you can call yourself Data Scientist, I hear they make big bucks what
with the big data and analysis and stuff.

~~~
eru
I heard a Data Scientist is an actuary that works in Silicon Valley. (Though,
actuaries are highly regulated.)

------
agumonkey
Some of them can, I remember articles of people solving problem with hard
numbers and theories (bandwidth, maximum stack space, ) bridging mentally high
level applicative layer and the low level one. I never saw this kind of
methodology in my computer classes.

------
vatotemking
Still better than calling yourself code wrangler/ JS ninja.

Kidding aside, whats stopping software dev from being regulated and certified
in 2017? The previous reason I heard of was that tech changes too rapidly to
be standardized.

~~~
eru
Where's the demand for that?

Companies don't even trust university degrees right now. The most a degree
gets you is a foot in the door; you'll still have to pass a grilling technical
interview process.

Making certificates an official requirement just raises artificial barriers to
entry, but won't make people actually better.

(If you have a good idea for how to certify actual competence, I am all ears.
I'd like to upgrade our hiring practices, too. The current prevalent
interviewing style puts way too much emphasis on confidence---which works for
outgoing people like me, but we are missing out on a lot of good people.)

~~~
vatotemking
I think the presence of this article indicates that there is a demand.

> Companies don't even trust university degrees right now.

This might be true in the US but may not be in other countries. I just read on
a separate comment how the label "engineer" requires a degree in Canada and EU
and has legal repercussions if used otherwise.

> Making certificates an official requirement just raises artificial barriers
> to entry, but won't make people actually better.

I think it would actually raise the quality of software and bring
order/accountability to this otherwise chaotic and "wild west" (ehem JS
ecosystem) world of software dev. And the low barrier of entry is a two edged
sword. On one side, it does allow more people to code. On the other, more
people = more less-talented devs thus more crappy software.

~~~
eru
I don't know, maybe my perspective is particularly weird: I've been working in
Haskell and OCaml most of my career (apart from a stint at Google) which tends
to keep out the riff-raff people seem to afraid of, but I don't have a degree.

------
t_fatus
'Engineering claims an explicit responsibility to public safety and
reliability, even if it doesn’t always deliver.' -> that's exactly why some
programmers NEED to be engineers. And some are indeed 'verified' engineers
(the author seems to deeply care about the fact that there are some regulation
behind this word), like myself and lots of my 'programmers' friends from
engineering schools. And yes we also have 'programmers' or 'developers' or
'coders', to whom we need to explain engineering principles.

------
Alex3917
\- 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 software an engineer is ridiculous,
but so is the idea of saying that no one who writes software is an engineer.

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

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

~~~
eru
Cost overruns are sadly all too common in construction---especially for
anything that goes on below ground. That's where all the surprises are.

Skyscrapers and bridges are less likely to fall down than software is to
crash. But that's just different failure modes. Projects are still not very
predictable.

------
dczmer
this is like the fifth time i've seen this same flame-bait article reposted.

Engineer:

\- a person qualified in a branch of engineering, especially as a
professional.

\- the operator or supervisor of an engine, especially a railroad locomotive
or the engine on an aircraft or ship.

\- a skillful contriver or originator of something.

if you're upset because you don't feel like simple programmers should call
themselves "engineers" because they didn't spend 7 years in an expensive
college to earn the title, or because they are not making physical bridges and
buildings, consider the following:

1\. software "engineers" build (software) machines for people to use. they
have to take technical requirements and turn them into structure and
functionality.

2\. most software design is an iterative process: you have to make solid
foundations to build upon and it's a skill that has to be acquired through
experience. i.e. you build infrastructure.

3\. it's not rocket science, but programming (and related skills like network
administration) are highly technical and take lots of practice and study to
become proficient

4\. often have to build things within a constrained or otherwise limited
context. given a problem to solve and a list of requirements and constraints,
design a solution

Now, that being said, not every "engineer" is a good engineer.

------
yellowapple
I call myself an "engineer" in situations where there's really no better fit.
Neither "programmer" nor "sysadmin" fully capture the scope of my typical
roles, and I do tend to take an engineer-like mindset when building things
(shooting for "move slow and prevent breakage" over "move fast and break
things").

------
totalperspectiv
Tell this to those reading resumes. Until then I will use the most impressive
possible title I can reasonably use.

~~~
ubersoldat2k7
Exactly! Where do I get the JS Ninja diploma?

~~~
eru
Please post $100 and a self-addressed envelope to me, and I'll reply with your
diploma.

------
drcode
What I think is funny about this is that I prefer calling myself a programmer
because I feel like the term "engineering" has a negative connotation, whereas
this article wants programmers to stop calling themselves engineers because
they think "programmer" has a negative connotation.

------
dang
[https://hn.algolia.com/?query=Programmers%20should%20not%20c...](https://hn.algolia.com/?query=Programmers%20should%20not%20call%20themselves%20engineers&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

------
Exuma
I only call software developers "engineers" when they are in the upper echelon
of skill level

------
goalieca
ITT: a bunch of people without engineering degrees calling this engineering.

Programming has far more in common with a trade than a profession. Just the
process software is developed under should make that very obvious.

Software developers are more like electricians than like electrical engineers.

------
makkesk8
if you do work that's considered engineering, how can you not be an engineer?

A fancy degree doesn't dictate what type of work you do. Just my two cents :)

------
mcnamaratw
The article is silly. I've been an engineer forever and I don't think I know a
single engineer who is regulated, certified, or whatnot.

------
erdojo
All people who write code are programmers.

But some programmers are also engineers. Most notably, those who architect
systems and invent new technologies.

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

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

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

~~~
JshWright
I am indeed referring to the Anglo-Norman etymology.

[http://www.oed.com/view/Entry/62225](http://www.oed.com/view/Entry/62225)

------
gibbitz
I wish Real Estate Moguls would stop calling themselves "Developers".

------
timthelion
After seeing some of the security flaws in Ruby on Rails, I have the
impression that a book of standards for handling user data is needed. However,
I do not have a degree myself, and I don't have much respect for higher CS
education in the US. There have been too many certifications and education
programs based on knowing APIs (which has nothing to do with good
engineering), too many people learning Java and UML and comming out of college
knowing nothing of use for the real world. I personally don't want there to
become a profession of programming which excludes people such as myself. But
if one does form, we need to make sure that it is based on actual technical
principles, and not knowlege of a product be it Microsoft, Redhat or Java.

------
kapauldo
Stupid snobbery. Reminds me of the hall monitors on stack overflow who flag
useful posts as off topic.

------
vonklaus
Unfortunately my browser won't run The Atlantic's malware so I can't read the
article.

