

Don't call me a software engineer - greendestiny
http://greendestinyonyc.blogspot.com/2007/08/why-i-hate-software-engineering.html

======
geebee
I agree, and I agree with the reasons the author listed.

But ultimately, I'd dismiss this as a minor irritation if it weren't for the
efforts to license Software Engineers under the EIT/PE path. In the end, I
don't care if they call me a hacker, or a programmer, or an analyst. If it
didn't matter, I wouldn't even really care if they called me an "engineer"
(though I'd put something else on my business cards). I majored in math and
got a grad degree in Industrial Engineering. Call it math, call it
engineering, call it hacking. Whatever.

But I truly agree that any attempts to license the people who create software
under the PE path - ie., undergraduate ABET accredited engineering degree,
followed by the EIT exam, an apprenticeship, and the PE exam, would be utterly
stupid. The exams are difficult and rigorous, sure, but what to they have to
do with code? Very, very little. I think that 5% of the questions may have
something to do with software, and they're pretty lame questions. The path
would deny entry to the most talented, and give a peripheral group tremendous
power to decide what talented people can and can't do.

While the term "engineer" is pretty general (think "sound engineers" in the
recording industry), I'd still rather avoid any ambiguity here. I absolutely
deny licensed professional engineers any claim whatsoever over software
development, and I'll avoid the term to ensure that I don't continue to
confuse them and others about where I (and almost all the good hackers I know)
stand on this.

~~~
mdakin
Faulty software in a life-critical system can kill just as easily as faulty
mechanics or faulty electronics. If society considers it important to license
mechanical and electrical engineers for particular jobs why should the
software case be any different?

The idea that licensure would keep the most talented people out if the field
is absurd. Talented people by definition will find it easier than average
people to meet the standard.

Most likely licensure of software professionals would play out similarly to
that of electrical engineers; most practicing electrical engineers in the USA
are not licensed as PEs. You only really need an EE PE if you work in the
construction industry or for the government.

~~~
geebee
I'm not actually arguing against licensing software developers in principle.
It may eventually make sense - though right now, I think it would be
premature. What I'm most opposed to is licensing under the ABET/FE/PE path.
I'm not sure if you've looked at the exam before - I'd recommend browing
through some sample FE tests at the library or bookstore. Think about what
they're testing, and what you think it takes to write extremely secure, stable
software. The overlap is tiny. Software development also has something in
common with mathematics. Should we require everyone pass an exam based on Real
Analysis, Group Theory, and Topology to write code? That's only slightly more
absurd than requiring that they pass the PE exams.

As for talented people... well, there are ways to get around the ABET degree.
But if we license under the FE/PE route, physics majors will be at a
disadvantage, and math majors will face major hurdles in sitting for the exam.
So I definitely don't think that it's absurd to conclude that licensure would
reduce the talent level in the field if that licensing is based on the PE
route. Again, this isn't an argument against lisencing in principle, it's just
an argument against favoring civil engineering majors over math majors where
it comes to writing software.

~~~
mdakin
I have not looked at the software exams and if your assessment of them is a
common one then there are likely problems with the current exam.

I have looked at the EE FE/PE exams and I thought they were decent and fair. I
suspect that most practicing non-PE EEs would agree with my assessmet. EE is a
much more mature field however.

If the exam is done correctly requiring an ABET degree is probably not
necessary. But frankly if math and physics majors want to pass the exam they
should either take some engineering classes or be prepared to do some
additional work on their own time. Truly talented people will be able to learn
what they need to without much effort.

The apprenticeship is probably valuable.

Being required to produce evidence of significant engineering design work is
critically important.

~~~
geebee
Yes, math and physics majors will most definitely have to do a lot of study
outside their fields if they want to get involved in software, as will civil,
electrical, or nuclear engineers. However, I don't really see why math majors
should have to learn properties of materials to demonstrate that they are
prepared to write reliable software, any more than engineers should have to
figure out how to pass an exam on real analysis, group theory, and topology in
order to get licensed to write software.

~~~
mdakin
I speculate the general engineering requirements exist because the most
complex engineering projects require an interdisciplinary approach. The
different disciplines need a set of shared concepts and language to work
effectively. Thus the idea of an "Engineer" who is both a specialist as well
as a generalist.

------
donna
how about _software architect_

~~~
geebee
This would avoid the perils of the PE land grab, and I don't think that
licensed architects would try to force software "architects" to go through the
architecture exams.

The downside - I think this title is an attempt to add status by distancing a
technical person from the pedestrian act of writing code. All in all, I
wouldn't want to work for an architect who doesn't code. I've seen it, and
it's ugly.

It's frustrating that "programmer" was denigrated and has come to mean a
person who, without any sort of creativity or judgement, types code to spec
all day. I have never met anyone who did this, and I have my doubts as to
whether it's really possible, but I have met a few people who needed to
believe it to justify their existence as "architects".

But if programmer is a bad word, and hacker is too prone to misunderstanding,
then "developer" will have to do.

