
Professional Software Engineer Exam coming in April 2013 - stephen
http://ncees.org/About_NCEES/News/News_Pages/New_PE_Software_exam.php
======
spamizbad
Looks like "How to do Waterfall" (62.5% of the test) with additional coverage
of Security (15%), QA (7.5%), and Engineering process (7.5%), and
Configuration Maintenance (7.5%). There are 80 multiple-choice questions
spread across 2 sessions (4 hours each). Open book.

An overview of the exam:
[http://ncees.org/Documents/Public/Exam%20specifications/PE%2...](http://ncees.org/Documents/Public/Exam%20specifications/PE%20Software%20Apr%202013.pdf)

Not something I'd feel inclined to get unless this somehow became an industry
requirement- which is unlikely - Agile and progressive Software Dev shops are
probably throwing up a little bit in their mouths at this thing. Replace Agile
with "Extreme Programming" and you've got something that looks like it came
straight out of the 90s.

~~~
ntkachov
Really? Just because its structured like waterfall doesn't mean its "how to do
waterfall". I read the req spec and there isn't a thing on here that isn't
valuable information for every engineer no matter what process they use.

Read what it actually covers and the topics they test and tell me there's
something on there that is completely useless.

~~~
spamizbad
Couldn't disagree more. If it looks like a duck, and it quacks like a duck...

I've worked in waterfall shops. Sections I through V are very similar to what
we aspired to do. Look, it's not like this knowledge is worthless. It's just
that what is outlined in these sections is a very thorough but expensive ($$$
and labor) and time-consuming process that that when put into practice often
insulates itself from the business problem at hand. Just because it looks good
_on paper_ does not mean it will look good when you start applying it to the
real world with real people.

I'll say this: If you want to participate in an organization that is
culturally waterfall and practices waterfall this certification will prove
quite valuable. Anywhere else though, and you might give the impression you're
not a good "culture fit" for the organization.

~~~
demian
But "activities" are not "phases". You are always trying to get the
requirements right, the difference is that some people get them while coding,
and others before even start designing.

------
rsl7
I hate it.

The content of that exam is like a list of everything that's wrong with
industry. Those are problems to be fixed, not things to set in concrete as the
way it shall be henceforth.

~~~
AYBABTME
Yes, like requirements, prototyping, user interfaces, minimizing complexity,
profiling and performance, unit-to-usability testing, metrics, refactoring,
performance monitoring...

All that ugly stuff that's wrong with the industry.

~~~
rsl7
Those are problems in the sense that software is a young industry, unlike
other engineering disciplines (or "actual" engineering). We're likely to
abstract away today's issues, whereas matter and physics are more direct,
immediate limitations in engineering disciplines.

We don't have a "software physics".

------
eranation
Yes, because we have too many engineers. It's so hard to choose a good
developer from the hundreds of applicants for each job so we need a 10 year
old obsolete test to filter the good ones out. Talk about waste of money, this
is something I hope is not paid by tax dollars...

------
noarchy
Developers are fortunate that our field has not been swamped by credential
inflation. In other words, we don't even need a degree to do what we do. It is
enough to have a portfolio of solid work and some good references, and high-
paying work can come your way.

The last thing I want to see is for some kind of guild to arise, which could
ultimately lock down the industry (via government requiring licensing, for
instance).

~~~
X-X
While I agree, I think that a large portion of developers want some way to set
themselves apart from the masses - to be recognized as Uber 10X code ninjas.
Those people will never rest till they create their own credentials, whether
it be number of contributions to opensource projects on Github or Coderwall
achievements or a standardized test.

------
eranation
Thinking that taking a multiple choice test will prevent you from causing a
bug that will kill someone is as smart as learning to be a lifeguard from
youtube tutorials.

Organizations that create weapons, spaceships, medical equipment and anything
that can and will kill you if it has any bugs, needs to enforce quality not by
certifying the engineers, but by certifying the organization to follow very
rigid quality criteria. Some companies just have it naturally (perhaps Apple
is a nice example) some companies need a structure (see things like
<http://www.sei.cmu.edu/cmmi/>)

So if this is not for saving lives, then I don't see any purpose in taking or
creating this test.

if you can code, you'll get a job, if your code is bad and has a lot of bugs,
our software cycle is so fast you'll be forced to either improve or switch a
profession. or work on non critical software.

------
tdicola
A software engineering certification exam with no coding seems a little odd.

~~~
demian
That's because in "high brow software engineering", coding is for "workers"
(as in "construction workers").

~~~
barik
Well, the exam for Electrical Engineers doesn't have them build a circuit
either. I assume you're forgetting that you also have to apply to the State
Board, documenting your entire Engineering career, which will be the most
substantial part of the licensing process. I guarantee you that you'll have
plenty of opportunity at this time to demonstrate your programming
experiences.

When individuals ask me for a PE recommendation, I am often reminded in
particular of one of the questions from the PPI2PASS FAQ [1]:

Q: I have been in supervision since graduation. I have never performed a
single calculation.

A: Oops.

[1] [https://ppi2pass.com/faqs/qualifying-to-take-the-
licensing-e...](https://ppi2pass.com/faqs/qualifying-to-take-the-licensing-
exams)

------
mcgain
despite my disdain for accreditations and certifications, I approve of the
content of the exam. It looks like it covers a lot of ground, in a variety of
subjects.

------
tomkinstinch
What does this mean for people currently working as programmers? Will it be
necessary to study up and get licensed to remain competitive?

~~~
GuiA
It could be necessary to be licensed for government jobs or jobs in large
companies building real time critical systems (ie power grid control software,
avionics, etc). I doubt it'll ever catch on for programming jobs in
mobile/web/etc

~~~
barik
I think it will become necessary for the areas you outline, particularly in
industrial control. Although best practices and standards have been
established for electrical systems and mechanical systems, my observations in
factory control show that the programming components continue to be the most
fragile and buggy. And currently the legislation here lags as well since
software systems are typically __not__ certified, except in certain military
cases.

This isn't something for Web 2.0 programmers, who can carry on as they have
been doing. Instead, it's for folks like myself who have designed the clean-
room door locking logic for the CDC when contamination is detected (see
"Walking Dead" for a grossly exaggerated example of such a system).

~~~
tbranch227
You sound like someone I know. I agree with the above. This cert is definitely
applicable for engineering tasks at my place of business and something I will
probably pursue. It's very beneficial when proposing on harder tasks. Web dev,
which I do as well, generally doesn't reach this level of rigor.

------
ilaksh
I am guessing I could answer enough (how many is enough?) of these 80 multiple
choice questions to pass the exam right now.

But it would be nice to have an idea of what other people think is the most
important information in each topic they mention in that PDF (as far as
passing the exam).

So maybe we should create a wiki where we enter in all of the information
people should understand in order to pass the exam?

I created one on Wikia in case anyone is interested.

<http://softwarepe.wikia.com>

Also, question, would this PE exam be the last step in obtaining a Software
Engineering license, or would it be the only step. If its the last step,
exactly what are the other steps? What group would provide a software
engineering license? Would there be any point in me passing this exam, since I
don't even have a college degree?

~~~
barik
It is the last step. The other steps vary by state, but in general, it
requires that you have at least four years of documented and progressive
experience under the direction of another licensed Engineer. You also need to
have taken the EIT, which is a general Engineering exam that covers all
disciplines, not just computers (brush up on your thermodynamics and concrete
mixing!).

If you do not have an ABET degree, then it is still possible to obtain a PE,
but the requirements generally go from four years to sixteen years of
documented experience.

I may be wrong, I don't think this will be a route for Computer Science. It is
more for those individuals who have been programming under other Engineering
hats ("controls", "electrical", "mechanical") but now have a way to take an
exam that satisfies their actual Engineering work. For instance, I might have
fit more under the hat of Software Engineer (since I did a lot of embedded
programming), but had to take the Electrical Engineering exam instead due to
lack of selection.

~~~
prodigal_erik
Don't engineering licenses usually require a bunch of stuff like fluid
mechanics and metal fatigue which are completely irrelevant for reliable
software? I think we'd be better served with more statistics and denotational
semantics....

~~~
barik
The EIT does, because the first portion is a general Engineering exam. It is
generally at the sophomore level of a four-year University. The PE exam,
however, is related to your discipline, though sometimes tangential questions
may appear (some analog circuits on a digital exam).

------
jboggan
Many years ago when I thought I was going to go into patent law (egads) I
ended up taking the Fundamentals of Engineering exam and passing it as an
Engineer-In-Training. Does this mean I can do four years of software
engineering and then certify as a PE?

~~~
barik
Generally, the PE exam itself is considered one of the least difficult
portions of the process, though it's still stressful for certain disciplines.
The PE exam topics are also generally known to lag reality, regardless of
discipline, and often by a decade. It's also open book and some people bring
entire carts of books, though I find that not to be very effective since you
basically only have six minutes per question.

The major part of the application process is that you will need to work under
the direct supervision of a PE, and have increasing levels of documented
responsibility, which is often harder to satisfy. Depending on the state,
three of the five (minimum) of your recommendations must come from licensed
PEs, who need to be able to certify more about you than simply your character.

Usually when threads like this appear, too much emphasis is placed on the exam
rather than the requirements that allow you to sit for the exam in the first
place. The PE license process is not like a Microsoft or Cisco certification.
It took me a good six months to get all the paperwork ready to apply for the
exam. I minimally studied for the exam itself. Consequently, four years ends
up being more like five or six, in my case, due to less than stellar record
keeping.

------
brownBananas
So this just makes it official, right? Or does this affect people currently
employed as Software Engineers?

------
rprasad
People on HN seem to be misunderstanding the purpose of this exam. This exam
is not for web programmers, or game programmers, or any "startup"-type
programmers. If what you do can be done iteratively without much problem, this
exam is not for you.

This exam is for people who work on very difficult, very error-sensitive, very
high-end stuff that needs to work from the very start: jet planes, medical
devices, spacevessel systems, etc. You don't get second chances with these
types of systems, so this exam is focused on making sure passers know the gold
standard for how coding is currently done in these areas.

~~~
LnxPrgr3
And for an (admittedly dated) example of what can go horribly, horribly wrong
in some fields: <http://en.wikipedia.org/wiki/Therac-25>

It's ok if your Web app occasionally spits a 500 error or your game crashes
once in a while. It's not ok if your radiation therapy machine occasionally
flips out and kills people with a massive overdose.

