If you’re a software developer or a software engineer, you’re probably familiar with at least one programming language. You’ve spent time learning the principles, theories and methodologies behind each language. Your resume says that you’re fluent in a certain language or perhaps many. But, are you a quality coder?
It’s not just about typing code
Sure, a working application means that it fits the bill when it comes to user requirements. But what about the code itself? The quality of the code determines the time and effort needed to make any modifications required.
If your code is not upto standard, then whoever has to make any changes after you is going to be in for a rough time. This also means that the company’s resources are wasted, leading to a waste of finances, and ultimately resulting in a lack of efficiency.
While existing developers in a software company are able to maintain good quality code and be a quality coder, new recruits most often do not. According to the ICTA, an average employee takes around 3 years to practice developing code with quality. This in turn means that developing quality code should be done from a grassroots level.
While there is a need to increase the number of ICT graduates in Sri Lanka, there is an even greater need to ensure that these graduates are well versed in both theoretical and practical knowledge of programming. This is especially important if they are to be quality coders.
How does one become a quality coder?
Well, that’s what the ICTA has been aiming to address for a while now. Their solution is the “Quality Coder”. This is a manual of sorts on the best practices of coding. The key problem identified here as we said above is that low quality code leads to massive time wastages and financial losses. This is commonly seen when software companies hire new recruits.
Initiated in 2017, the goal of Quality Coder was to place Sri Lanka as a nation that outputs code of high quality. As such, the initiative would address issues where experienced developers have to pour over perhaps thousands of lines of code by less experienced developers. By teaching these less experienced developers, we can overcome the challenge of having low quality code.
Being a quality coder starts with you
If you’re a university student studying programming, then it would be upto you to ensure that your code is of high quality. That in turn would start a chain reaction and get the ball rolling. Once students themselves have a thorough understanding on how to become a quality coder, organizations would spend less time training these graduates and more time getting them onboard to develop code that is of the highest quality.
In order to do this, the IDP (Industry Development Program) of ICTA teamed up with key individuals from leading software companies such as Zone24x7, Sysco Labs, Virtusa, 99x Technology, iTelaSoft, WSO2, Tiqri. The team pooled in all their years of experience to develop a curriculum to create a better-quality coder.
Once that was done, the team carried out a three-day training programme using the newly developed curriculum. The target audience was a set of software developers comprising of both senior software engineers and university undergraduates. Based on the feedback of the participants, the Quality Coder 2017v1.0 manual was developed. The manual has since been published on the ICTA website and is also available for download.
The manual covers topics such as why you should invest in developing quality code, using source control tools and peer reviews, a look at object-oriented programming and how to carry out unit tests. In addition, there’s also a section on writing quality code.
At the end of the day, it’s just a book
While publishing a manual of this nature is a commendable effort, it doesn’t ensure that its practices would be adopted. It’s just like installing an anti-virus software. Just because you have it, it doesn’t protect you from malware. You need to update the software and run scans to make sure your system is safe.
In a similar manner, being a quality coder starts from you. You don’t have to start off big when trying to become a quality coder. It can just be a matter of adding comments to code blocks and keeping it short. That way, anyone going over your code would find it easy to understand in the event some change is required. Adding easy variable names, for example can also be a method to ensure that your code is easy to decipher.
If you’re working on a project with other teammates, you can even discuss with them to come up with a standard layout for various code blocks. That way, each member of the team also develops skills to become a quality coder.
What are your thoughts on ICTA’s vision of implementing quality coding? We would love to hear from you.