Software is everywhere
In case you still doubted it: Software is eating the world, but building quality software is tough! We can get better with experience and now there is a qualification: SIG partnered up with PEOPLECERT presenting us developers the opportunity to obtain a Quality Software Development certificate:
QSDcert Q & A
In collaboration with SIG I will answer a couple of questions regarding this qualification:
Following your recent review of the Building Maintainable Software book, you recently successfully passed the QSD exam, which is based on this body of knowledge. You are now a certified Quality Software Developer - how do you feel about this achievement and how is this qualification going to help you?
I am quite happy with this achievement. Writing quality code takes years to learn and even then it can be a challenge (remember that project that has these ever-moving requirements? …)
This book / methodology has made me a better programmer. I recently obtained Java and Python certificates as well, but I think this one is more valuable because writing maintainable code is an overarching skill. Being certified in language x does not guarantee you will be an effective coder. It helps a lot, don’t get me wrong, but at the end of the day having code that can be expanded, quickly bug-fixed and be maintained by fellow developers is fundamental.
You took the exam through PEOPLECERT’s online proctoring – tell us a bit about your experience in that.
Very positive. The session did not open automatically and in minutes I had PEOPLECERT folks on the phone. Their support and the whole exam procedure was very professional. Also nice that you get the results instantly after completing the exam.
Would you recommend this qualification to other users?
As you guessed from my first answer yes! Specially for software developers caring about quality code (and shouldn’t we all?!) I think it is a must.
When I started out I wrote pure functional code for the machine, even recent code has obscure parts, outdated comments, but since studying the book, exam and the clean code literature, I am a more conscious coder. I now add my unittests, refactor code, use descriptive method names over comments, etc.
Having this certificate also wants to make you comply. Writing maintainable code feels great and businesses gain more value from it. I measured some recent projects I did and found them more maintainable and more compliant with the guidelines. For me it’s proof this stuff works!
Any tips for software developers thinking of taking the exam?
The preparation material should be enough. I recommend taking the following route:
Do you think that QSD can be helpful for the software developers out there even for those not working necessarily with Java or C# but they are knowledgeable about them?
Yes, Java / C# are just the languages the concepts are taught in, but the principles are universal, you can apply them to any language. In my case for example I have improved the maintainability of my Python code.
Why did you feel it was so important to get qualified in QSD?
Writing quality code can mean the difference between having a maintainable solution or something that does not release or has to be rewritten early in the product’s lifecycle. The difference is between a money yielding solution or a time-wasting effort. Better software is cheaper, specially in the long run.
But there is another dimension: our world increasingly runs on software so can we afford to have unmaintainable systems? With humanity increasingly relying on technology (read code), failing to meet basic quality requirements can even jeopardize our health, security and financial well-being.
To drive this last point home, SIG’s Save Your Digital Transformation report shows some shocking examples of lack of maintainability in critical software systems:
- A system update at the Royal Bank of Scotland in June 2012 caused a series of malfunctions that took a month to sort out and caused serious problems for hundreds of thousands of people.
- Two hackers demonstrated they could take full control of a journalist’s Jeep Cherokee, because it had become impossible to add proper security measures to the car’s system.
- In the well-publicized case of some Toyota vehicles accelerating while the driver was apparently not touching the pedal, it took independent experts 20 months of looking at the source code to determine whether the accelerator was connecting to the engine in the correct way.
So in a world eaten by software, where life critical functionality has been delegated to software, writing quality code is more important than ever!
About the Author
Bob Belderbos is a Software developer with an agile mindset, passionate about data, software quality and growing businesses by automation and performance optimization.
This article was originally published in http://bobbelderbos.com/, July 4 2016. See more at: http://bobbelderbos.com/2016/07/certified-software-quality/.