
Licensing Software Engineers Is in the Works (2012) - jervisfm
http://theinstitute.ieee.org/career-and-education/career-guidance/licensing-software-engineers-is-in-the-works
======
droithomme
The most powerful part of state licensing of professionals is the ability to
punitively delicense people for actions the state disapproves of which have
nothing to do with their competence in their field of work, depriving them of
their career because of any arbitrary act of noncompliance in their lives.

------
noonespecial
I'm all for it, as long as it doesn't become a supply control mechanism that
has onerous BS requirements like "X years experience with a licensed union
tradesmen". Software is notorious for the "1 year of experience repeated 10
times" problem. Theses tests should be about pure aptitude.

 _Warning: If certification becomes more about permission than proficiency,
you 'll get corruption instead of competence._

~~~
penrod
Well _of course_ it's a supply control mechanism. That's a whole _point_ of a
guild.

It's also an IEEE money-minting mechanism, a state licensing board revenue-
generating mechanism, and a small-company and freelancer screwing mechanism.
(Large companies are exempted from the screwing, of course.)

 _" Most software engineers, including those who work for a government entity
or large company, won’t be affected by the licensure requirement"_

~~~
mitchty
Well the rent seekers are coming apparently, as much gain as I see coming from
this I also see a lot of malaise from it.

"I'm only doing what the best practices say I should." Sounds somewhat like a
cya mechanism akin to what architects do. Along the lines of sprinklers every
N feet, walls have to be buttressed no longer than N feet and with Y giant
bolts etc...

------
morgante
What a terrible idea. Software is a rapidly evolving field which simply can't
be captured by a single examination or a set amount of experience.

Indeed, apparently "four to six of experience" would be required. So suddenly
no 20-somethings can work in software which might impact "public health or
safety, security, property, or the economy." Say goodbye to half the tech
teams at health and fintech startups...

~~~
jwatte
They could, as long as the work was overseen by a senior developer with the
appropriate paperwork. However, since when was the IEEE an outlet for computer
science? Where does the ACM stand on this?

~~~
rob05c
From en.wikipedia.org/wiki/Software_engineering_professionalism

"In 1993 the IEEE and ACM began a joint effort...to explore making software
engineering into a profession...The ACM pulled out of SWECC in May 1999...ACM
determined that the state of knowledge and practice in software engineering
was too immature to warrant licensing"

Granted, that was in 1999. I haven't heard anything since.

The ACM article explaining why they pulled out is here:
dl.acm.org/citation.cfm?id=581602 (paywall)

Two states adopted the IEEE's recommendation (against the ACM). Florida and
Texas. In Texas, it's illegal to call yourself a "Software Engineer" without
16 years' experience. It's absurd.
sce.uhcl.edu/helm/SWEBOK_IEEE/papers/10%20reprint%205.pdf

------
coldcode
Pointless, no matter how you spin it. Real engineers deal with measurable
items like gravity and wind and light that don't change. Software can be
anything, any language, any target, any industry, any size, any skill level
required, etc. There is nothing practical to test that relates to everything.
In my 3 decades of being a programmer there is absolutely nothing meaningful
remaining from my first job: if I had had some magical license it would be
pointless today.

~~~
cbhl
... until that software controls an actuator that _does_ deal with gravity,
wind, light, or the human body.

Things like control software for elevators and pacemakers.

------
wavefunction
Right now I tend to think of Software Engineering as an ad-hoc guild, where
one can gain entry simply by proficiency and talent and recognition of those
attributes by your peers, fellow software engineers. It's a system that seems
to work relatively well.

This licensing business seems to be an attempt to cut software engineers out
of this peerage for the sake of HR, in addition to being a cash-grab as
mentioned by other posters.

~~~
Kaizyn
No, this is not the right way to look at it. Everything started in the state
of Texas, where you have to be licensed to have the word "engineer" in your
official job title. Since there were a number of "software engineers" running
around in the state, they figured that something needed to be done to ensure
that such engineers were licensed.

~~~
wavefunction
TBH I don't really care what the State of Texas thinks is appropriate in this
matter, despite being a citizen of the state and a software developer.

If you happen to agree with the State's opinion, then fine. But don't tell me
my opinion is incorrect. It's an opinion and presented as such.

If you know anything about Texas government, you'll know that their licensing
schemes are another way they soak the little guy while bending over backwards
to help out the big guy. Certification by my peers in the form of their
acceptance and recommendations are much more important than some arbitrary
test.

------
highlander
I wonder how this will fare compared to the efforts of the BCS (British
Computer Society), who have tried to push 'certification' for years with their
MBCS (Member of the British Computer Society), Chartered Engineer and
Chartered IT Professional certifications. I got all three years ago and then
ditched them because (i) I have yet to find an employer who gives a flying
XXXX about them, (ii) some employers see them as a 'warning sign' of
mediocrity like 'Sun Certified Java Programmer' became and (iii) I had to pay
every year to renew them.

------
geebee
Is software development a branch of engineering or mathematics?

I'm ok with them forcing me take additional coursework to pass the FE exam as
long as they also have to go back to school and take a year of real analysis,
a year of abstract algebra, and a semester of complex analysis. I'd prefer to
see number theory, with proofs, as well. I'm sure we can come up with a
difficult and expensive comprehensive exam as an extra hurdle.

This has about as much to do with software "engineering" as the FE exam.

------
peeters
Software Engineers in Canada are already able to become licensed Professional
Engineers after graduating from an accredited Software Engineering program,
writing the ethics exam, and gaining the prerequisite experience working under
another engineer.

However, because there is no current requirement for any software to be
certified by an engineer, most graduates don't care much to get it, and won't
end up working directly under a P. Eng. anyway. So in my experience it hasn't
really taken off as a licensed discipline. I have an Iron Ring, but that's as
far as my P. Eng. path has progressed.

~~~
cbhl
> _because there is no current requirement for any software to be certified by
> an engineer_

Certifying software is difficult, even under the best of circumstances.

Edit: Er, I didn't substantiate the first sentence. So here's an example.
Apparently the reason that most medical devices run on Windows NT (as opposed
to, say, Linux) is that Windows NT is already certified for that use, so it
becomes easier to certify your custom MRI scanner because you can just include
the pre-certified Windows NT part and only have to get the new code your
company wrote certified. Similarly, seL4 is the only OS I can think of that
has been formally verified (i.e. proven correct mathematically); I'm quite
certain none of {Windows, Darwin, Linux} has been formally proven to be
correct.

When I attended a recent talk at my local university, I found out that the
shutdown routines for a local nuclear power plant were running on 40-year-old
mainframes because those mainframes were certified to survive earthquakes and
things. Work was in progress to find new hardware and rewrite those routines,
although the Engineer I spoke to was under the impression that none of the
hardware made in the last decade was certified to operating under the same
level of confidence.

~~~
jacques_chester
Indeed, a lot of verification logic techniques were developed _for_ nuclear
shutdown code. By David Parnas, no less.

------
iradik
Funny, I don't see coding ability, distributed systems, or algorithms anywhere
in the exam spec, which is what most engineering teams actually interview on.
Also, though I've been an "engineer" for the past five years, I don't have a
college degree which means I'm ineligible for taking this test. Therefore,
"the public" won't be able to trust me to write code for them, whatever that
means. Thank goodness I never plan on taking a government job.

------
balabaster
As if this is going to make the slightest lick of difference. Those that are
already employed and producing good quality code aren't going to get canned
from a company. Managers are going to evaluate those that deliver and make a
choice "can I afford to lose this guy just because he hasn't got a license?"
No! Likewise, those who are moving fast and breaking things are those that are
starting their own companies and finding lucrative exit strategies by getting
aquihired.

The funny thing is, once you're proven, it doesn't matter what your
credentials say. Demand speaks volumes more than paperwork, and it always
will. Risk is all about perception, that little license says "the State thinks
this guy is less of a risk than another," but let's face it, when it comes
down to it, would you hire the guy who started the last
Twitter/Facebook/Foursquare that isn't licensed, or the guy that just moved in
next door you never heard of that has the license?

Just like the MCSD/MCSE, it'll go out of the window the minute everyone
realizes that the piece of paper doesn't actually mean this guy can deliver,
it just means that he can pass an exam.

------
angersock
_“Just as practicing professionals such as doctors, accountants, and nurses
are licensed, so should software engineers,” Thornton says. “The public needs
to be able to rely on some sort of credential when choosing a contractor to
write software.”_

Yep, and thank God America's healthcare is so affordable because of these
licensing requirements!

What a horrid idea.

EDIT:

Here's the deal. I'm a mechanical engineer by training, and could've after
several years of paying dues gotten my Professional Engineer cert. There are
technical fields where I demand that the products I consume (especially those
which service thousands of people every day, as is the case with public
infrastructure) have a very strong line of qualification.

The fact is that >>99% of software (as it is consumed today) does not require
anything near the formal qualifications of civil or structural or chemical
engineering.

If you want a really poignant reminder of how having professional engineers
with quality control and certification can result in bad progress, go look at
what's become of NASA and Armadillo Aerospace.

We are so lucky to be in a field where our ability to ship working code is
valued above our ability to get off whoever the current power broker is (and
this includes investors).

Let's not willfully throw away that windfall.

EDIT2:

If we expect to conduct business as has become the norm these days--move fast,
break things, learn, repeat--and as has done so well for us as an industry,
doing anything which artificially limits the supply of potential hands is bad.
Doing anything which prevents people from trying new things with minimum
investment is bad.

They don't understand us, and they're greedy bastards, so Something Must Be
Done (and this is not only for .gov folks--the professional groups have a lot
riding on being seen as useful. Jane and Bob the Bad Coders stand a lot to
gain by collecting dues for the American Society of Software Engineers).

Actually, that's kind of funny. American Society of Software Engineers. ASSEs.
Huh.

~~~
wwkeyboard
That being said we've had many times more deaths from bad software than from
bad
spacecraft([http://www.cs.tau.ac.il/~nachumd/horror.html](http://www.cs.tau.ac.il/~nachumd/horror.html)
vs. [http://en.wikipedia.org/wiki/List_of_spaceflight-
related_acc...](http://en.wikipedia.org/wiki/List_of_spaceflight-
related_accidents_and_incidents)).

I understand your point that you might write software that has few
consequences if it fails, but thats not always the case.

~~~
AnthonyMouse
The solution for this is to solve it in the domains where it is necessary. If
you want to write or adopt software for use in a critical system in aerospace
then you need to be a licensed _aerospace_ engineer, etc.

There is absolutely no need to license web developers or those who write the
usual line of business software etc.

~~~
zhemao
> Only those whose programs might “endanger the public health or safety,
> security, property, or the economy will need to be tested.”

I don't think the people pushing for licensing disagree with you that web
developers don't need a license.

~~~
AnthonyMouse
Are you sure? The description you just gave is unreasonably broad. What does
"security, property or the economy" even mean, and what justifies their
inclusion?

------
ChuckMcM
I'm sure few people remember the Certified Data Processor exam (CPD) but I
thought it was hilarious. I took the practice exam in high school in the 70's
and passed. It was more about data management practices than actual computer
knowledge, interestingly by knowing how computers worked you could infer what
the best practices would be, and hence my ability to pass it by just figuring
out what would "make sense" to any of the 250 multiple choice questions.

However, it has also been a source of disgust for me that companies would
refuse any sort of warranty for their software at all. What sort of company
sells you a widget and tells you, "By the way the box may just contain air for
all we know, we don't warrant that it does anything!"

The risk of liability was too huge. Nobody wanted to sign up for their
operating system crashing when you're rocket took off, or their spreadsheet
getting the numbers wrong because binary really wasn't a great system for
representing fractional decimal numbers.

I would be all in favor of fixing this total "get out of jail free" card first
before we try to figure out who to license software professionals.

------
johnrob
Reliable software has more to do with proper testing than proper engineering.
Rather than license engineers, they should license QA methodologies.

------
jloughry
Title should say (2012).

It is, nonetheless, a good article. The software engineering exam is offered
once a year, in April; the first one was in April, 2013.

~~~
antjanus
Wait, so this has already been passed, and it's a real thing?

I wonder how quickly it's catching on and who requires them.

~~~
cbhl
> _Only those whose programs might “endanger the public health or safety,
> security, property, or the economy will need to be tested,” continues
> Thornton._

It's perfectly sensible to introduce this when Software Engineers will be
working alongside people who are also licensed and accredited. So, software
engineers in safety-critical fields -- writing firmware medical devices, or
shutdown routines for nuclear power plants, or pacemaker firmware -- would
definitely benefit from this. Whether software engineers working on consumer-
grade electronics need something like this is more hazy (Pebble smartwatch
firmware? Probably not. But what about the people writing the iOS app for a
diabetic's glucose blood monitor? Hmm.)

I'm under the impression that Software Engineering has been licensed by
certain local engineering bodies for at least a few years now (Professional
Engineers Ontario comes to mind), so this is nothing new. Not going for the
accreditation won't harm your chances of being hired by a Google or Facebook,
nor will it prevent you from starting your own company.

~~~
vajrabum
There's nothing "sensible" about asking any computer scientist to pass the
fundementals of engineering exam. That has aboslutely nothing to do with
anything in the computer science curriculum.

~~~
cbhl
If the software you write controls a pacemaker, I would want you to be able to
pass the fundamentals of engineering exam. If you're writing routines for
SolidWorks, or AutoCAD, I would want you to be able to pass the fundamentals
of engineering exam. If your program will be used by Civil Engineers to figure
out the composition of soil that needs to be placed under a brick pathway that
students like me will use every day, I would want you to be able to pass the
fundamentals of engineering exam.

If you're going to be the next Mark Zuckerburg, I give negative fucks about
whether you have an engineering degree. Go take a speech communication course.

------
lightblade
I tried to register for the exam, but didn't find software engineer as one of
the options. Turns out the SE exam is not offered in California.

I think it may be reasonable because this kind of certificate can be
disruptive to the current way of things. The government may not want to take
the risk on something so vital to California's economy.

------
walshemj
Well I looked at doing the professional development in the the UK but the
BCS/IEE kept changing the rules on prior experience.

The main question is whats in it for me? what benefits do you get and what
since brunell died have the professional bodies done for engineering
profession in the UK.

Ps and I already have gone part of the way down the mech eng track

------
moron4hire
I'm a freelancer in Virginia. I work on web apps for companies that want to
figure out their sales figures better. I work on reports for non-profits who
want to see how they are raising money. What hospital in its right mind would
buy a heart monitor from someone like me? What car manufacturer in their right
mind would want me to work on their control systems?

I could do it, but that's not the point. Those examples they provide, they are
already controlled. They're already covered by very large corporations that
have these sorts of controls in place. If they subcontract out to me, the
responsibility lies with them to verify that my work is suitable.

This is just about preventing people like me from doing what we're trying to
do: quit our jobs, make some money, bring their friends in and bootstrap a
company.

~~~
wwkeyboard
This has nothing to do with you writing webapps as a side job. It's about
having some way for those corporations to prove the people who are verifying
your work are competent to do so. That is the _whole_ point of the PE stamp!

~~~
moron4hire
They said the people working for government and big corps _wouldn 't_ be
subject to the license. The very people most likely to be writing or verifying
code that might hurt people are exempted under some hand waiving "big corps
will certify themselves", under some sort of code review process or something.
So why don't they just certify themselves? Why the license?

And it's not my side job anymore. It's my full livelihood. It doesn't seem any
of this has teeth yet, but when will it? And yearly fees? This is so obviously
nothing more than rent seeking.

Fuck it, I'll just move. Oh, wait, I can't. My wife has an electrical
engineering job with a branch of the government. They _also_ are not required
to license themselves, and they write code that affects more lives than I do.

------
aaronbrethorst
Here are the specifications: [http://cdn1.ncees.co/wp-
content/uploads/2012/11/Exam-specifi...](http://cdn1.ncees.co/wp-
content/uploads/2012/11/Exam-specifications_PE-Software-Apr-2013.pdf)

------
skalawag
an activity's being called "software engineering" does not make it any more
likely to be a form of engineering than one's being called "armstrong" makes
one more likely to be strong. we might as well call it "software writing." it
is obvious that lives will depend on some software working as expected. the
solution is not to license the writers of the software, but to make sure
software doesn't fail in ways that could end lives. a certification scheme
doesn't add anything to the solution of this problem if the solution doesn't
already exist.

------
superuser2
How would this work with "software engineers" who are educated as Computer
Scientists? Not everyone who writes important software was necessarily trained
as an engineer, nor do they really need to be.

