Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does anyone know if a Software Engineer can become a certified Professional Engineer or PE for short? I know that my buddies who are Mechanical, Electrical, or Civil Engineers were able to become PEs by taking an exam. Does such an exam exist in Software Engineering?

share|improve this question
@BoTian It is possible through both BCS and IEE to become a chartered engineer. – Marcin Apr 13 '12 at 15:38
@AnnaLear It's extremely common in Europe for computer science departments to sit within their engineering faculties. – Marcin Apr 13 '12 at 15:40
@AnnaLear ABET accreditation has been extended to 258 universities for Computer Science and 21 universities for Software Engineering as of now. I know that "certified" programs in engineering are considered certified if they have the ABET accreditation, I think the same is afforded to CS and SWE Please see the link to be able to search for specific schools. – AndHeCodedIt May 17 '12 at 14:58
See also: Is Information Technology really Engineering? – gnat May 2 '13 at 16:55
This question is being discussed on Meta Programmers. – Thomas Owens Jan 11 at 0:55
up vote 16 down vote accepted

As of April 2013, there is a Professional Engineer exam for Software Engineering. The IEEE Computer Society, IEEE-USA, and National Council of Examiners for Engineering and Surveying (NCEES) partnered to develop an exam specifically for software engineers. The exam specifications (PDF) are also available from the NCEES. State boards issue the exams and manage the requirements for taking and passing the exam.

share|improve this answer
Presumably you'd still need to have passed the FE exam (and have met degree and other requirements) before you could register for the software engineering PE exam. – Caleb May 16 '12 at 7:32
@Caleb There is a process to apply for waivers to take the PE exam without taking the FE exam first, if you meet certain criteria. Also, the FE exam is designed for undergraduate students and most of the components of an FE exam aren't covered in undergraduate software engineering programs. – Thomas Owens May 16 '12 at 9:27

The IEEE has been working on establishing a similar credential for software engineers, but I don't know that it is getting any traction.

Note that in the US at least, you can't get the PE certification simply by taking an exam. You have to have a degree in an engineering discipline from an accredited school. You can then take a written exam to become an Engineer in Training (EIT). Then after working at least four years under the supervision of a PE, you can sit for the PE exam.

share|improve this answer
+1 Thanks for the answer! Do you know if we as software engineers can help IEEE gain some traction in this field? – AndHeCodedIt Jan 24 '11 at 18:14
In other words, yes, but it depends heavily on where you work and is, outside of those particular sorts of jobs, not worth the trouble. If you're, say, an EE and you write software in the power industry, though, go for it! – Kevin Cantu Jan 24 '11 at 18:59
The web site for the IEEE certification program is here: Note that the PE certification is not just a sticker for your resume. In the US it has real legal consequences, though exactly what those are varies from state to state. It generally includes committees on standards of practices and much higher exposure to liability and charges of malpractice. I don't know that most programmers are interested in opening that can of worms, even if they call themselves software engineers. – Charles E. Grant Jan 24 '11 at 19:11
It may differ from state to state but I believe it's two years of experience working under a PE. (CA) – ChiefTwoPencils Aug 30 '13 at 2:42

I don't see why not. As long as you pass the exam, you should become certified. That said, the PE exam isn't like getting an MCSE or SCJD, it's a serious professional exam with some hefty requirements. Things like:

  • You need a degree in Engineering from an accredited university
  • You need your EIT (Engineer In Training) certification
  • You need verified experience (usually 2-4 years) as a working engineer

If all you've got is a CS degree, you're not going to get anywhere close to getting your PE without some serious work. OTOH, if you got a EE from a good school and already have your EIT, then it's not unreasonable to expect you'd be eligible for taking the exam. It'd be worth checking with the licensing board in your state, anyway. As others have mentioned, software engineering isn't seen as a "real" engineering discipline, so you'd probably be better off applying as an electrical or mechanical engineer (whatever's on your diploma).

share|improve this answer
Depends upon who you talk to in regards to if software engineering is seen as "real" engineering or not. If you are just writing business applications (mission critical or not) most developers are not going to be able to make a good case. It is when you start dealing with aeronautical, medical, or any control software, where if something goes wrong people could be injured or killed that the case for P.E. credentials tends to come into play. The problem is that the traditional route to the P.E. credentials is difficult to apply as there are a lot of people that have ... – rjzii Jan 25 '11 at 13:17
... Software Engineer as a job title and might have undergraduate or graduate degrees in the same, but would have no path to licensure without having some way of grandfathering them in. Likewise, you have to have some PEs with the appropriate background that can supervise the EITs until they sit for the PE test. It's an interesting problem that will likely result in some sort of PE exam for software engineering in certain environments in the future, but in the short run it is going to give some people some headaches. – rjzii Jan 25 '11 at 13:20
I don't think software engineering will be considered "real" engineering until there is a standard core curriculum with accreditation. When I went to college, the first two years in the engineering curriculum were the same for all engineers, regardless of discipline (electrical, mechanical, aero, nuclear), and many courses had special engineering sections (calculus and statistics, at least). In contrast, CS only required 200-level calculus (although many courses recommended a discrete math course). – TMN Jan 25 '11 at 14:56
No arguments from me, as I actually think that there should be some sort of standardization in regards to how life-safety software is written and who is responsible for ensuring it is done correctly. This is the whole purpose of the P.E. credentials in that when a P.E. applies their seal, they are saying things where done correctly and opening themselves up legally if things go wrong. Currently an equivalent doesn't exist in the software development community even though the results of software failure can be just as based as those in other contexts. – rjzii Jan 25 '11 at 20:50

It depends upon where you live as P.E. examinations are driven by different groups depending upon the country. In the United States they are driven by the state that you wish to practice in. To that end, the State of Texas currently has one in development and there are laws on the books related to situations where you might need a P.E. license as a software engineer.

A small update, but this article in PE Magazine gives some more background on the Texas exam and the overall thoughts of most PEs in regards to licensure of software engineers. The short version is that most people are for it for systems where people can be injured or killed if something goes in terms of the software.

share|improve this answer

protected by gnat Apr 22 at 14:32

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.