SERVICESPORTFOLIOCLIENTSBLOGLABSABOUT USCONTACT USHOME

SparkNET Technologies Blog > November 2007 > Professional Software Engineers Licenses

Professional Software Engineers Licenses

One of the largest issues in the Software Industry is poor code. While many blame the languages being used, I blame the developer. While I prefer to code in object oriented languages (mainly C#) there are a lot of programming languages now a days (PHP for one.... and yes I know its object oriented) that lead to unmaintainable code. Many times the code can be so confusing, and compiles with no standards, that it is impossible for even the person who wrote it to understand what’s going on. PHP might not be the perfect language for OOP, it can still be made readable and maintainable.

In the software industry, everyone has their own standard. One of my partners and I get in lively debates all the time about which standard is best. While part of being a software engineer is being able to adapt, its still nicer when you can look at a method or variable and know exactly what its protection level is. Or the fact that all the code is not in one line, and commented. Hell, no variables that are one letter. int i = 1 WHAT? These are all things that hurt our industry as a whole.

What does all this mean? Well in short we need a Professional Engineers (PE) Exam for Software Engineers. Software is becoming an integrated system in society, much like a building or a bridge. The other engineering industries such as a structural engineer or civil engineer require that engineers working on the above mentioned building or bridge be licensed. This adds a level of professional responsibility. Something that does not exist in our industry.

One great example of the lack of professional responsibility is the case of the Air-Traffic Control System at the Los Angeles Airport. To summarize the problem, air traffic controllers at LAX Air-Traffic Control lost communication with over 800 planes. The communication systems shut down unexpectedly on September 21, 2004. Further worsening the situation, the backup system which was supposed to come online in the event of a failure such as this crashed within 1 minute of coming online. A postmortem of the issue revealed that the system had a countdown ticker that removes time in milliseconds. The system starts with just over 4 million milliseconds. Once it runs out, the system shuts down. This took only 50 days. They restart the system every 30 days to avoid this issue.

While this might be acceptable to someone, I honestly can't see how it is. A professional software engineer would have engineered a self sustaining system that didn't require constant maintenance. Poor design lead to something that could have meant 1000 of lives.

Another example stems again from the airline industry. While this issue had no lives at risk, the financial implications where huge. 200 million dollars to be exact. Denver's Airport Baggage handling system had major software issues which forced delays in opening the new airport. At first what was supposed to open on Halloween slipped month to month to month, until in June when the Airports planners met again determining they did not know when the baggage system would be stable enough to open the airport. They estimated an average 1 million dollar a day loss due to the software issues. Such large scale issues should never have happened. Professional ethics should have prevented this. When 100 million dollar projects are in play ethics is rarely in anyone’s vocabulary.

For these reasons (and many more) a Professional License is needed in the Software Engineering community. Without it, the community will continue to become a "to the lowest bidder" industry that puts out spotty products and becomes the car mechanic of the technology industry.

And like the current professional engineers exam, this is not something that should be optional to practice Software Engineering as a profession. Currently there are two levels, Engineer-in-training (EIT) and Professional Engineer (PE). Whether or not that model is the best for Software Engineering is yet to be seen. However, just like the current PE exams, your EIT allows you to practice, just under the supervision of PE's. This allows not only more competency in the industry, but an on-the-job training in how to be a professional, in ethics and practice.

I can only wish that before people die from needless computer issues, that our industry will regulate itself in such a way to add, if not all, some of what I mentioned above.

Posted: 11/1/2007 1:37:47 PM by Jonathan DeJong | with 0 comments
Filed under: Air-traffic, Consulting, Denver, EIT, Engineer, LAX, Licensing, PE, Philadelphia, Professional, Software, SparkNET, Technologies, Airport


Trackback URL: http://www.sparknettech.com/trackback/3534ae53-5a7f-4de1-bdec-4092345e998c/Professional-Software-Engineers-Licenses.aspx

Comments
Blog post currently doesn't have any comments.
Leave comment Subscribe



Enter security code:
 Security code
Partners
3cx_partner_logo80x53.jpg Kentico_CertifiedPartner_width200px.png
SparkNET Technologies, LLC • 999 Old Eagle School Road, Suite 121 • Wayne, PA 19087 • 800.893.2650.p • sales@sparknettech.com