Licensure for software engineers?

In some states it is happening folks. The IEEE reports that the Principles and Practices Exam for software engineering will become available in 2012. Thte states that have requested the exam are Michigan, Missouri, New York, New Mexico, North Carolina, Texas and Virgina. No California yet. Only software engineers offering their services directly to the public would need to be licensed.  If you work for a sizable company where the company’s resources can aborb any liability…you will not need to licensed.

Only software projects that affects the health, safety, and welfare of the public would require oversight by a licensed engineer.

With anyone that can write a line code calling themselves a software engineer I welcome licensure for software engineers. I am hoping this starts to filter out programmers from software engineers.

http://www.todaysengineer.org/2009/Sep/Software-PE.asp

Software Engineer vs Programmer

I had the privilege to work for a company that practiced the very definition of software engineering. We were exposed to the complete software development life cycle.  I also had the honor of working with and learning from  some very intelligent senior software engineers.  I have a tremendous amount of respect for my former manager. I would really like to use him and his approach to software engineering and software management as a template for my career. He had a pet peeve about calling ourselves programmers. I can still see him now pounding his fist on his desk whenever one of us called ourselves a programmer. He insisted that anyone can write code but a software engineer understands the SDLC and the core principles of software engineering.  That has always stuck in my head. More so when I started to develop more complex web applications with different programming languages on the web platform.

Programming languages are  tools that implement and adhere to the core fundamentals of object orientated software development. Programming languages for the  web platform are no different. I started with web programming in 1998 and back then object oriented design for the web was unheard of…not anymore. As more software goes to the web the programming languages become more and more like traditional object orientated languages. If a software engineer understands the fundamentals of software engineering he can easily pick up any of these languages.

That is why I have been surprised as to potential employers requiring tests on specific frameworks or programming languages in order to gauge the knowledge of the potential employee.  I recently took two tests as part of my application process and I really did not understand the point. Before anyone assumes that I am complaining because I bombed the tests….the first test was on .Net 3.0 and I got called for my second interview the next day. So apparently I performed well on the test. The second test was on ColdFusion MX 7. I was told at the time I scored the highest on the test.

However, I do not think they were anyway true measures of my skills or talent as a software engineer. Questions such as “What component would you use if you were presenting a user with a calendar” or “Name the upgrades from ColdFusion 6 to Coldfusion 7″ do not tell the hiring manager anything about my abilities as a software engineer.  With these types of questions I would fail a “CNext” test and I worked with that framework for 11 years.

In the end, I find it ironic that people are looking for “Software Engineers” and trying to screen them out with these tests especially in the web development. The web is still the wild wild west..with new frameworks and programming lanagages coming out every year. But all these still follow the core fundementals of software engineering..So I would think that hiring mangers would want to hire someone that understands this and can quickly learn the tools (programmin lanagues) rather than a “programmer” that can become obsolete as his programming lanaguge of choice becomes obsolete.