
The Atlantic Was Wrong. Software Engineers Do Exist - PVS-Studio
https://medium.com/@nayafia/the-atlantic-was-wrong-software-engineers-do-exist-24b2ed024861
======
lukev
It's still not engineering. I mean, I can't stop you from defining engineering
to include software, but there is a critical difference in the actual
_activity_ performed by engineers vs programmers.

Programming is cheap enough that (even for these hardcore "infrastructure"
tasks) the cost of planning something is roughly equal to the cost of simply
building it. In fact, to a large degree, the activity of planning is identical
with the activity of building. So the optimal approach is always going to be
to plan/build, then test.

Programmers spend their day alternately planning and building, in an
interleaved way.

Engineering is characterized by problems for which the planning is many orders
of magnitude cheaper than the implementation. So "getting it right" and doing
all the math in a very rigorous way up front is much much more important.

Engineers spend their time exclusively planning and double-checking their
work. Somebody else does the building.

~~~
egroat
So I've spent the last few months trawling through camera datasheets,
evaluating OCR solutions, and building and comparing custom image
transformations so that we can have a good idea of the quality and limitations
of the ANPR solution we intend to deploy.

As of today only the framework of the final solution has been written, and we
are finally interviewing for developers to write up the system for production
(I will manage them, but am moving on to our radio code now).

Is what I've been doing engineering? If I was doing the final writing myself
is it ?

~~~
mannykannot
To me, what you have been doing is engineering, regardless of who writes the
code. If a group of people were to start writing the code without doing the
preparatory analysis that you describe, and instead tried to get to a solution
by test-and-fix / trial-and-error, that would not be engineering.

------
glonq
Compared to other technical and scientific efforts, programming is still in
its infancy. It has a long way to go before it is as refined and disciplined
as other occupations.

We are getting there slowly, but it's still the wild west. Where else could
you find a college dropout working alongside somebody with a PhD? I've never
seen a hospital where somebody with only a highschool education and good
scalpel skills was allowed to perform life-or-death surgery. But in the world
of software, we routinely employ trial-and-error in trying to put the right
person into the right job. And it's tough when the nature of those people and
the nature of those jobs changes so rapidly.

It's definitely an interesting time to be alive. When I tell my grandchildren
about how we did software 'engineering' nowadays, I expect them to laugh like
we do when we hear about doctors who used leeches and magnets to cure
diseases.

~~~
walshemj
you know they still use leeches for some conditions :-) and NMR uses magnets

------
eridal
_> Perhaps, if these software engineers make a mistake, people will not die,
as with the civil engineers building bridges._

(these == infrastructure engineers)

When you have software that decides upon real life's objects, a small bug
could end up in a disaster, even death.

~~~
walshemj
Normally you blame the contractors - Back when I worked for one of the really
big consulting engineers. I did reverse engineering on one project where the
subcontractor had messed up some soil analysis,

------
colin_mccabe
By definition, an engineer is someone who works on an engine. Unless we go
back to steam powered computers, we're going to need a new name.

------
chrisdbaldwin
The title of "Engineer" doesn't matter. The work and pay do.

~~~
eridal
The degree of "Engineer" does matter. Like the work and pay do ;)

