
Programmers: Stop Calling Yourselves Engineers - hodgesmr
http://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/?single_page=true
======
Camillo
What about train engineers? Sound engineers? Sanitation engineers? That ship
sailed so long ago, it did so on steam power. I'm not even going to read your
article. Clickbait: denied.

Besides, yes, of course, the civil engineer, what if bridges fall,
certifications, professional order, etc. What about the electrical engineer
making a portable radio, or a cable? We were just talking about how those can
be just as bad as software
([https://news.ycombinator.com/item?id=10508494](https://news.ycombinator.com/item?id=10508494)).

In contrast, the doctor has certifications, a professional order, etc. So does
the lawyer. Are those engineers? No. Turns out those things have nothing to do
with the concept of engineering itself, but rather with the kind of legal
framework that is appropriate in some businesses that carry a high risk of
personal damage to others, and/or with the desire and ability of certain
groups to control access to a profession. All of which are tradeoffs, which
means there needs not be a single set-point that is ideal across all fields of
engineering. As any engineer could have told you.

~~~
auferstehung
"In contrast, the doctor has certifications, a professional order, etc. So
does the lawyer."

That is the entire point. A Professional Engineer is the equivalent of a board
certified medical doctor, or a lawyer admitted to the Bar in a particular
state. In Ohio, a Professional Engineer is defined as
[http://www.peps.ohio.gov/4733/473301.aspx](http://www.peps.ohio.gov/4733/473301.aspx)
Restrictions are outlined at
[http://www.peps.ohio.gov/4733/4733021.aspx](http://www.peps.ohio.gov/4733/4733021.aspx)
Note the exception for train engineers. You can use the term engineer as long
as you don't confuse anybody into thinking you are a real engineer, i.e.
sanitation. I like to call myself the Doctor of Love, but no one is going to
think I'm claiming to be a real medical doctor.

There are legal consequences for claiming that you are an engineer when you
are not. Check out the 2014 consequences in Ohio at
[http://www.peps.ohio.gov/NewsReleases/2014.aspx](http://www.peps.ohio.gov/NewsReleases/2014.aspx)
You get your name in print and in public for being incompetent and unethical.
It is similar in all the other states.

The disciplines that can become Professional Engineers are listed on the right
hand column here
[http://www.peps.ohio.gov/Exams/ExamDates%7CDisciplines.aspx](http://www.peps.ohio.gov/Exams/ExamDates%7CDisciplines.aspx)
Unfortunately, software engineering didn't make the list, although, electrical
and computer did. I can think of circumstances where you would want software
engineers to make the list. This is probably the result of corporate
influence. PEs are more expensive. And a blanket Certificate of Authorization
(CA) is cheaper. If you are an engineer via a company CA, you are only an
engineer while working at that company.

You might claim that this is just rent seeking similar to a barber
certificate. Yet, not many people die or have their lives ruined by barbers.
You might get lice though.

It is interesting that you can no longer become a PE with a 4 year degree
anymore that I am aware of. You used to be able to, although your
apprenticeship was considerably longer.

~~~
pluma
_cough_ US-centric _cough_

------
allworknoplay
This is absurd. First, structural engineering in the developed world is
insanely expensive because everything is overbuilt by at least 100% and teams
of expensive senior people are hired to check every single number many times
over the course of many months.

Software engineering, in contrast, is rushed out the door by typically over-
worked, junior, and small teams. Blame the management, not the engineers.

But more importantly, this is totally beside the point, because the two
problems aren't even the same: most software has to change constantly;
structures mostly stay the same. The hard part about software engineering is
designing for flexibility -- it's ridiculously easy to build software that
never changes.

Oh, and by the way, it is _extremely_ common to have significant structural
flaws in major construction projects; they simply find ways to go in and fix
them before the building collapses, but not always before leaks occur, mold
grows, etc.

------
dap
This is absurd for many reasons pointed out in this thread.

The broad brush is especially problematic. If "programmers" should stop
calling themselves "engineers" because of the prevalence of poor quality
software, couldn't one argue (equally speciously) that "writers" should stop
calling themselves "journalists" because of the prevalence of things like
listicles and clickbait? In journalism as well as software, the garbage seems
to far outweigh the good stuff (by volume). And in both fields, some
professionals are trained, but many are self-taught, and neither skills nor
ethics are uniformly incorporated into all practitioners' work.

I believe there _is_ a legitimate issue around the quality of software. But I
don't see how demoting the class of people who build software brings us any
closer to improving that situation. Rather, I'd be interested to read a
thoughtful article about _why_ low-quality software remains prevalent. (I have
a feeling it's because bad software remains economically viable -- in turn
because it's still actually useful to people. A bridge that falls down is
useless. An app that crashes every day is very frustrating, but potentially
still worth the price. I'm just guessing, of course, but that's why I'd love
to see a well-researched article that seeks to understand the problem before
prescribing a solution.)

~~~
catnaroek
I don't see it as a demotion. Au contraire! Engineers work under hard
constraints - the laws of nature aren't subject to negotiation. Sometimes
earthquakes bring down buildings and bridges, sometimes tsunamis destroy
harbors, sometimes water floods destroy dams, not because engineers are
malicious, but simply because it's impossible to do better. We programmers
have the luxury to seldom run into the laws of physics as a hard constraint.
The vast majority of the time, when software fails to behave the way it is
intended to, it's simply and plainly because we made a mistake. It is in
principle possible to write bug-free software, after all, software is nothing
but a logical artifact.

------
banku_brougham
I darted my work life as a civil engineer, mostly designing structural steel
buildings. Now many years later I'm a data engineer at a big tech firm. My
opinion: programming work is engineering.

I think the author simply has no idea what either field entails, and has
proved me now to denigrate the worth of an English major's career.

Seriously though, there are so many kinds of engineering: Structural engineer
Geotechnical engineer Chemical engineer Biomedical engineer Genetic engineer
Mechanical engineer

Just to name a handful. Software engineer clearly fits.

~~~
nashashmi
I too am a Civil Engineer. I aspire to be a programmer. But programmers are
not engineers! Engineer is a title of elites that everybody tries to steal.
The guy who operates a crane is called a crane engineer. IMO, That is not
engineering! The guy who repairs trains is also an engineer. IMO, that is not
engineering. Engineer is someone who sweats through school, thinks about
things in ways that have never been thought before, and can lose his job and
license, for doing things wrong.

Software engineer is one of those titles taken by programmers for prestige.
There are no calculations involved. There is just sweat. It is like calling
CAD drafter, a CAD engineer for all of those times he sweats away on enormous
drawings.

Engineer is a high ranking title, that bears command and direction, not a role
done by programmers who listen to a manager grunt.

~~~
pluma
> There is just sweat.

Unless you're a junior developer you should be able to do more than just grunt
work. If you think grunt work is all there is to software development, you
frankly don't know what you're talking about.

I've worked with software developers in tech companies that plan and fine-tune
code and data formats based on metrics like memory use and performance --
exactly the calculations you claim aren't involved in software.

The difference between software and physical objects is that the resource cost
of producing software is zero so the difference between implementation and
simulation is often non-existent. So unlike physical engineering where you
necessarily need to run calculations because testing is expensive, you have a
tight feedback loop that allows you to tweak a system under test in ways
physical engineers could only dream of -- and even so, better simulation tools
are already saving physical engineers a lot of number crunching.

> Engineer is a high ranking title

In your opinion. You already stated crane operators are called "engineers"
too. That's the standard you need to compare "software engineers" to. Is
software development more like engineering than operating a crane or less?

> done by programmers who listen to a manager grunt.

No true Scotsman, much? You're not seriously claiming engineers are never
constrained by decisions from superiors, are you? The only difference I can
see is that (like lawyers and accountants) engineers have skin in the game
that disincentives following certain orders -- exactly what has been asked of
software developers in the fallout of the VW scandal.

------
stonogo
It's all well and good for Hacker News entrepreneurs to blather about
egalitarianism, but the primary difference between an 'engineer' (a person
with a Professional Engineering certification) and an 'engineer' (a person who
touches a computer for money) is that one group is held responsible for their
work, including explicit ethics standards, a governing body with
certification-revocation powers, and a legal framework for enforcement of
quality.

There has never, ever, ever, been a programmer who has been barred from
programming for selling shitty code. There have _absolutely_ been engineers
barred from engineering for selling shitty designs.

The only way to make this (frankly uninteresting) argument end is to either
hold programmers accountable for quality, or stop holding engineers
accountable for quality. Until then, you're using one word to refer to two
groups of people with wildly different work requirements, and there will
_always_ be people complaining about that.

Full disclosure: I have done both kinds of engineering for a living.

~~~
vonmoltke
> the primary difference between an 'engineer' (a person with a Professional
> Engineering certification) and an 'engineer' (a person who touches a
> computer for money)

What about an 'engineer' (a person who designs components for a large
corporation for money)? How are they a different bunch than a 'software
engineer'?

> There has never, ever, ever, been a programmer who has been barred from
> programming for selling shitty code. There have absolutely been engineers
> barred from engineering for selling shitty designs.

There have been engineers who have had their licenses permanently revoked, but
nobody has ever been "barred from engineering". Those are not the same thing
(though I doubt a company is likely to hire an engineer who is so bad as to
get their license revoked).

> The only way to make this (frankly uninteresting) argument end is to either
> hold programmers accountable for quality, or stop holding engineers
> accountable for quality. Until then, you're using one word to refer to two
> groups of people with wildly different work requirements, and there will
> always be people complaining about that.

The way I think it should end is for software engineering to be separated from
computer science at the university level. ABET-accredited BSCS programs are
practically that already, but most CS programs don't give a crap about ABET.
So, scrap the BSCS and replace it with a full-ABET BSSwE and let the people
with academic interest in CS get a BACS. As for non-degreed programmers, other
engineering fields already have established practices for advancing a non-
degreed technician to full engineer and those can be adapted to this field.

~~~
stonogo
> What about an 'engineer' (a person who designs components for a large
> corporation for money)? How are they a different bunch than a 'software
> engineer'?

I can't answer this question, because "components" is too vague a word. You
could be talking about software components, or mechanical components, or
financial instruments... sorry, I just don't know what you're getting at here.

> There have been engineers who have had their licenses permanently revoked,
> but nobody has ever been "barred from engineering". Those are not the same
> thing (though I doubt a company is likely to hire an engineer who is so bad
> as to get their license revoked).

An unlicensed engineer is not allowed to identify as the engineer-of-record
for contractual purposes; that is, they can no longer 'stamp the drawings.'
Sure, a company could hire a defrocked ex-PE to do the work, but they would
still need an active PE to sign off on the work ('stamp the drawings'). So
while obviously nobody is physically restraining them from installing AutoCAD,
they are not able to meet (common) contractual requirements in engineering
work.

> The way I think it should end is for software engineering to be separated
> from computer science at the university level.

I completely agree with your assessment, except that I don't see CS as being
B. A. material, since it's basically applied mathematics, which has
traditionally been B. Sc. territory.

~~~
vonmoltke
> I can't answer this question, because "components" is too vague a word. You
> could be talking about software components, or mechanical components, or
> financial instruments... sorry, I just don't know what you're getting at
> here.

I meant literal electronic and mechanical components.

> An unlicensed engineer is not allowed to identify as the engineer-of-record
> for contractual purposes; that is, they can no longer 'stamp the drawings.'

Correct. However, firms operating under a Certificate of Authority do not
require a specific engineer to 'stamp the drawings'; the firm itself can do
so. This is common with respect to mass-produced consumer goods and things of
that general nature. None of the engineers who actually did the work need to
be licensed, but they are still engineers. The CA thing may be unique to the
US, though.

> I completely agree with your assessment, except that I don't see CS as being
> B. A. material, since it's basically applied mathematics, which has
> traditionally been B. Sc. territory.

I was getting confused by the BA in Physics. You are right, in that the BS in
Physics is what you take if you want to "do physics", so a BSCS would still be
appropriate for those who want to "do computer science".

------
jdnier
A great example of what computer "Engineering" can look like is the On-Board
Shuttle Group (Lockheed/NASA).

[http://www.fastcompany.com/28121/they-write-right-
stuff](http://www.fastcompany.com/28121/they-write-right-stuff) [1996]

"This software never crashes. It never needs to be re-booted. This software is
bug-free. It is perfect, as perfect as human beings have achieved."

"The most important things the shuttle group does — carefully planning the
software in advance, writing no code until the design is complete, making no
changes without supporting blueprints, keeping a completely accurate record of
the code — are not expensive. The process isn't even rocket science. Its
standard practice in almost every engineering discipline except software
engineering."

~~~
gok
Hm. 3 years later Lockheed/NASA's "perfect" software led to the Mars Climate
Orbiter's failure, right?

------
muzmath
This is one of those flame wars that never seems to die down. Really though...
who cares? A lot of certified engineers do nothing more than simple paper
pushing, should we start flooding medium with articles about that as well?

> The title “engineer” is cheapened by the tech industry.

A lot of 'cheap' techies are making way more money than officiated engineers

~~~
spacemanmatt
That's not at all what is meant. I hope you don't mean money is what makes the
engineer.

~~~
muzmath
I have a lot of friends who have passed their fundamentals exam (FE) and are
on their way to become 'professional' engineers and I can guarantee you many
accredited professional engineers do work that I would have a harder time
calling engineering than a front end dev creating HTML files. Credentials
certainly don't make someone an engineer, and neither does pay.

~~~
cwilkes
Cheapening in this case refers to the meaning of the word. In this case the
word "engineer" or "engineering" is cheapened as anyone can call themselves
that regardless of their output. Engineering should be about lasting
structures or things that just don't fall apart (provided that's the goal)
than just slapping a bunch of junk together. Or to put it another way: the
currency involved here isn't physical money.

~~~
muzmath
This just reeks of no-true-scottsman. Many engineers with the approved title
'professional engineer' do not build anything at all.

By PE I mean: [http://www.nspe.org/resources/licensure/what-
pe](http://www.nspe.org/resources/licensure/what-pe)

------
pkaye
I would say this is the best definition of an engineer... "An engineer is a
professional practitioner of engineering, concerned with applying scientific
knowledge, mathematics, and ingenuity to develop solutions for technical,
societal and commercial problems. -- Wikipedia" What really matters is the
applied scientific knowledge and ingenuity to benefit mankind. The liability
aspect shouldn't be the key differentiator.

------
lsiunsuex
"Doing so undermines a long tradition of designing and building infrastructure
in the public interest."

(from google) Infrastructure : the basic physical and organizational
structures and facilities (e.g., buildings, roads, and power supplies) needed
for the operation of a society or enterprise.

In some countries, Facebook is viewed as "the internet" and the rest of us
consider it to be just another social network (albeit one of the biggest) -
and for all accounts, the internet is just as important if not more important
then some utilities - a company can survive without water (technically) - some
companies now a days can't survive without an internet connection - their 100%
internet based.

Therefore - I'm an engineer - I build buildings (websites) that allow people
to do things - be it educational or informational or to sell stuff.

... i completely understand the argument being made but it can be made across
the board - Is a parent that home schools their kids a teacher? Is an employee
at McDonalds a chef? Is a PHD a doctor? All titles have different meanings
when used in different context.

</getoffmylawn>

~~~
maxerickson
I bet most people that cook food at McDonald's would think you were mocking
them if you called them a chef.

~~~
pluma
True, but I bet most people pasting snippets of jQuery into Wordpress would be
equally surprised if you called them engineers.

------
pandaman
Audio engineers should too? The author of the article seems to be willfully
ignorant of the fact that some words have more than one meaning.

~~~
jonas21
And don't forget train engineers.

~~~
gaius
And sanitation engineers.

~~~
zaccus
And sales engineers, which the author has apparently never heard of.

------
minsight
Where I come from (Canada), you can't call yourself an Engineer unless you are
certified as a Professional Engineer by the appropriate licensing body. This
is similar to the fact that you can't call yourself a Lawyer or a Medical
Doctor unless you have the appropriate certification. It's not a matter of
fussiness. It's just that there are certain niches for professional behavior
and those niches have evolved a process to prevent those without appropriate
qualifications from marketing themselves using those names. There are also,
broadly speaking, liability ramifications for the people in all of those
occupations.

~~~
pluma
Where I come from (Germany), you're not allowed to do car paint jobs unless
you're a certified varnisher. A lot of job titles have similar restrictions.

These restrictions have more to do with the history of these professions than
with their intrinsic qualities. In Europe a lot of them can be traced back to
the late middle ages -- and in North America they can generally be traced back
to Europe.

I agree that these terms may have legal implications in some jurisdictions,
but that's irrelevant to the discussion of whether they are accurate.

------
devonkim
We have certifications in different parts of tech that are not exactly the
best indicators of knowledge / skill either (see: MCSE, RHCE, CCNA, CCIE, Java
certifications...) so one of the distinguishing factors I see is not a level
of formalization / standards but the adherence to standards as _consumers_ of
an industry's output. For example, there's not a lot of start-ups making
skyscrapers, so the market for those selling the construction becomes large
entities like governments and corporations, and the standards become ones that
they care about. This is similar to how software is sold to the government,
which is completely different than how it is for consumer software. But few
people buying Wordpress are willing to buy some mythical Enterprise Edition
that's $100k / mo with an operations team at your service basically, so the
cost of paperwork pushing involved for the bureaucracy-driven customers is
removed at the cost of perhaps some corners cut.

However, I see quality output as a false dichotomy (rather, negative
correlation) with bureaucracy / regulation of an industry's workers - look at
the horrendous crap being produced for the Pentagon. Forget the glitzy
articles in Wired and Techcrunch for defense-tech companies - most tech for
government is done by under-qualified folks trying to make a quick buck off of
Uncle Sam that couldn't really make it in the commercial software world.
They'd be hard-pressed to make anything even close to some Chinese knock-off
of a tech product if it came down to the wire. But I suppose this is because
most defense contracts are regulated based around political and social
requirements (see: the advantages for being a disadvantaged minority in
getting a defense contract, plus Veteran's preferences) rather than actual
functional requirements. Maybe the medical software industry is a better
example of regulations in the right place (not that it's well done).

------
mywittyname
This is a silly argument, but I feel compelled to participate.

The distinction is pretty difficult to make. Where does electrical engineering
cross into computer engineering, then into software development? If your
program runs on a FPGA, is that engineering or software development? If you
program mathematical models for controlling boosters for satellites,
engineering or software?

Is the distinction the person writing the software? A ChemE writes a program
to control the dispensing of certain chemicals to maintain a reaction is
engineering, but if a guy without a degree does the same, it's not?

Like it or not, software is a major component to engineering. We have
progressed to the point where lots of products cannot be made without some
level of computing.

The argument that "simple" software is somehow not engineering is also bunk.
Mech.Es design mundane shit all the time. Somebody makes money designing door
handles and light switches. Just like people make money building apps.

------
merb
I wouldn't call myself an engineer, however I know some Developers who _ARE_
Bachelor of Engineering or even Masters. In Germany SOME Information
Technology courses will get you this title instead of the Bachelor of Science.

However thats just a title an official title and I don't care so much about
that, since that says nothing about how much you could do. since mostly the
newer generation with these titles knowing less and less. Btw. I also don't
like people who care too much about it, they are mostly the 'bad' ones out
there. if somebody would call me an engineer, fine. however I would never call
myself so.

------
EricFred
Ok, so i just read this incendiary article titled Programmers: stop calling
yourselves engineers. First, it was terribly written and researched and i can
only imagine the author had very little respect for his fellow man. Second,
Let me clarify that the word engineer is more a verb than a noun. It describes
an action, not a person. We engineer a solution to a problem. We are all
engineers in our own right. We solve problems that are important to us. This
is the one downside to the freedom of expression the internet provides.

------
tiredwired
I self-identify as an engineer. I have not had the operation yet but, you
should not discriminate against me.

------
jld89
I refuse to oblige this clickbait. The headline is so blatantly (click me!
please! I need attention!)

Seriously though, Software Engineers will maintain the status of engineers
whether they like it or not. And that's because it is real engineering work.
Licensed or not that doesn't matter one bit.

------
mesozoic
In this article someone who can't handle the fact that there are multiple
types of engineers.

------
ino
Also stop calling yourselves architects. Job searching has become even harder.

~~~
lujim
ooohhh this one actually does bother me sometimes. Probably not for the same
reason though. We've had a few guys proclaim themselves as "Software
Architects" after just a few years of bug fixing. They seem to do it to
distinguish themselves from the rest of the less gifted masses. One of our
guys with the same level of experience as everyone else couldn't be bothered
with scripting all of his database schema changes (which was a boring and
tedious task because of how we managed changes at the time, and he didn't
bother to keep track of them as he made them) because he was an "Architecture
guy". A title that he gave himself and was in no way reflected on his resume.

If there are Software Architects they are very senior and experienced and
hired into a position that asked for a Software Architect. They design entire
systems not just a page here or there.

~~~
ino
It's clear people are using software architect due to the prestige the name
brings.

~~~
pluma
If you have ever dealt with actual architects it should be obvious there isn't
anything prestigious about architecture. Sure, a small handful of elites gets
to plan really cool projects but the same is true for most industries --
everybody else just does boring grunt work.

The reason they call themselves software architects is that they're mostly
working on software architecture. Granted, the title is overused because
scantly few companies have the scale at which it makes sense having a
dedicated person for that but I've seen plenty of "art directors" prettying up
PowerPoint slides, too.

The problem isn't that there is no such thing as "software architecture", the
problem is that it's usually not useful to extract it into a separate role
(although that doesn't stop people from trying), making the title more
ceremonial than descriptive.

------
mring33621
Tell that to our employers. As for myself, I'm fine with 'programmer' or
'software developer', but my employer(s) often like to spice the titles up a
bit.

~~~
neogodless
Yes, it's amusing to me the various titles I've had over the years, given to
me by different companies. Assistant Web Manager. Developer, Applications, Web
Applications. Senior, Lead, Developer/Analyst II. Web Administrator.
Consultant. And Software Engineer. You might think the roles and
responsibilities for these would vary greatly....

------
FavoriteFish
Think Bogost fairly captured the trade. So, raises the question what do we
call folks that earn a living working on something until some else says its
good enough?

------
brwr
The following is from my personal perspective as a lead front-end engineer.

The author mentioned multiple times that civil engineers build bridges. Cool.
Bridges are static. Updating a bridge is logistically difficult. You need
expensive, heavy machinery. You have to redirect traffic. There are huge
safety concerns for anyone standing below the bridge. Some of these things
ring true for software engineering too. Voyager I has travelled almost
20,000,000,000 (thats 20 billion) km since it left earth[1]. Hong Kong's
subway system transports over 5,000,000 (5 million) people every day and
boasts a 99% on-time rating [2]. Google's autonomous cars have driven
themselves over 1,250,000 miles since 2009 [3]. What do Voyager, Hong Kong's
subway, and Google's cars have in common? They are all powered by software.

I don't dispute that quality is one of the first things to go at most
startups, but to say that software engineers aren't "real" engineers because
we have different goals and constraints is absurd. PEs (professional
engineers) are generally concerned with quality, safety, and efficiency above
all. This makes sense because trains, planes, and automobiles can't easily be
fixed if something goes wrong. Remember the Toyota fiasco in 2009/2010 when
the cars' gas pedals were getting stuck? The driver couldn't stop the car and
this resulted in at least 10 deaths and a settlement of $1.1bn [4]. That
settlement doesn't include the ~$3bn that Toyota spent in recalls, probes, and
redesigning the gas pedal[4]. These are not issues that most startups face. We
optimize for fast feedback loops that give us reliable data which we can use
to improve the experience of using our product. In many cases, quality is
sacrificed in favor of speed-of-development. Is it perfect? No. Is this
engineering in the traditional sense? No. Does that mean we aren't engineers?
I don't think so.

Building a rocket is difficult from a technical perspective. However, I
believe that, in some ways, building a web application is even more difficult.
Rockets are not concerned with human behavior. The few humans who will be
interacting with the rocket are highly technical and have been through months
or years of preparation. That's not the case in the work that I do. On the
web, you must account for the knowledge and experiences of every individual
using your product. The goal is to come up with solutions that anyone can
intuitively understand without explanation, regardless of whether they've been
using computers their entire life or if this is their first time. This is
inherently a ridiculously difficult problem to solve because of human nature.
Accomplishing this goal requires building complex systems that can handle
interaction from thousands or hundreds of thousands or millions of individual
people, each with their own unique perspective on life and technology.
Moreover, there are a number of highly complicated back end systems for things
such as automatically scaling infrastructure to meet demand, pipelines for
collecting and analyzing logs and data, and storing and retrieving data in an
efficient way (in some cases, sub-millisecond analysis over billions of rows).

My point is that this article seems to have been written by an elitist person
who does not understand the work of the people they are condescending to. I
agree that, in general, software should be of higher quality, but compared to
mechanical, electrical, and civil engineering, software is still very young.
We are learning the ways of traditional engineering, forging a new path
towards reducing time-to-market for new products, and inventing and building
for a relatively new platform (the web) at the same time. There will be bumps
in the road. That does not take away from the fact that software engineers
solve difficult technical problems, which I believe is the essence of
engineering.

[1]:
[https://en.wikipedia.org/wiki/Voyager_1](https://en.wikipedia.org/wiki/Voyager_1)

[2]: [http://www.cnn.com/2015/03/29/travel/hong-kong-mtr-
success-s...](http://www.cnn.com/2015/03/29/travel/hong-kong-mtr-success-
story/)

[3]: [http://techcrunch.com/2015/11/02/google-self-driving-car-
upd...](http://techcrunch.com/2015/11/02/google-self-driving-car-update-from-
october-no-accidents-halloween-helpful/)

[4]:
[http://www.wsj.com/articles/SB100014241278873246691045782034...](http://www.wsj.com/articles/SB10001424127887324669104578203440990704994)

~~~
catnaroek
Alas, society can't call us programmers engineers simply because "our job is
difficult from a technical perspective". Otherwise, doctors are engineers,
athletes are engineers, and suddenly the term "engineer" doesn't mean anything
anymore.

I do think we programmers in general deserve more respect from society at
large for what we do, but pretending to be something we are not (engineers)
doesn't help our case.

~~~
pluma
Counter-point: until my country adopted the BA/MA system, the typical outcome
of studying computer science would be a degree that literally contains the
word "engineer".

Job titles are a cultural thing and mostly cosmetic. Most engineers don't do
much engineering in their actual job.

------
strictnein
If I understand the gist of it, we can't call ourselves engineers because true
"engineers" are blessed from on high by some self-ordained group, and given
special rings while reciting a poem during a ritual? (yes, that's apparently a
thing).

His problem is that his definition of engineering is ancient, not that many of
those writing software aren't engineers.

