What is a good developer?
The developer job is not a job in crisis and the demand for programming specialists still increases with the digital transformation of organizations. To meet these needs, countless training courses have been created. From now on, school courses like BTEC Higher National Diploma in IT Services for Organization, bachelor, master’s degree, etc. rub shoulders with professional titles and short training that promise to learn to code in a few months, even weeks. The skills and quality of a developer can therefore be very variable depending on his career and his profile. It becomes difficult for companies as well as for candidates themselves to assess their skills and compare them to other IT experts. So, in the end, what is a good developer?
In this article, we share the essential skills and qualities of the top programmer!
What are the qualities of a good developer?
Whatever the sector of activity, soft skills become as much or more important than technical skills. According to a Monster study, 90 % of recruiters are convinced that behavioral skills are essential in CVs and interviews. In IT, 5 soft skills are particularly sought after.
1 - Curiosity
Curiosity is a quality that is regularly found in job offers, because it is linked to monitoring, training and continuous upskills. In IT, it is even more essential, because languages, technologies, frameworks, methods, etc. are constantly evolving.
According to the latest Stackoverflow report, ¾ of professional developers learn at least a new language or technology per year. This trend is accentuated by the fact that development is, for many of them, a passion job. In another CodinGame study, 9 of 10 programmers declare coding outside their working time and spend almost an hour a day programming personal projects.
2 - Sociability
Forget the cliché of the antisocial geek and alone in the face of its lines of code! The developer works almost systematically within technical, but also functional teams. If he works in a DSC (digital service company), he is also regularly led to change teams and work environment.
Sociability is even more important in companies that practice peer programming, code journals or that simultaneously have several developers on the same project. Finally, it is inseparable from the DevOps approach which is generalized in IT. In addition to its technical skills, DevOps is responsible for making the link between the IT development teams and those in charge of the operational.
3 - A good sense for communication
Sociability is directly linked to another soft skill: the sense for communication. Communication skills are correlated with development skills, because a good programmer is capable:
to clarify user expectations or to participate directly in the expression of needs;
to ask the appropriate questions to define the scope of the projects (and to quantify them precisely);
to expose the technical solutions selected by popularizing them;
to share your code and advances;
to express difficulties and blockages;
to train users if necessary;
to reassemble anomalies, possible vulnerabilities, etc.
4 - Laziness
Yes, you read that right. In development, being lazy is a desired quality! Bill Gates would even have said:
“I choose a lazy person to do difficult work. Because a lazy person will find an easy way to do so.”
Laziness is therefore a soft skill to cultivate, for 3 reasons.
First, a lazy developer does not seek to reinvent the wheel. When he is faced with a problem or a bug, he first checks if a solution does not already exist before programming "From Scratch".
Then, if he is confronted with repetitive tasks such as importing data, the lazy developer will create more effective self-action scripts to carry out forbidden missions in his place. By these 2 actions, it decreases development times and therefore costs for its organization. Without forgetting that the scripts and automations designed can be reused by his team or on other projects.
Finally, a lazy developer will tend to naturally respect good IT practices:
DRY (Don’t Repeat Yourself): which consists in avoiding redundancy in the code to facilitate debugging, maintenance and developments.
KISS (Keep it simple, stupid) which advocates avoid any non -essential complexity.
What are the skills of an effective developer ?
If the soft skills sought are common to all developers, the necessary skills to be a good programmer depend directly on their specialization. Zoom on 3 specialties and associated know-how.
1 - Frontend developer
Ergonomics and user experience (UX);
Respect for web standards (W3C).
2 - Backend developer
The Backend developer manages the "hidden part" of a site or an application, mainly composed of the server(s) and the DBMS (database management system). He must imperatively master one or more programming and request languages (such as SQL). To stand out, he can also acquire skills in:
Frameworks like Cakephp, Codeigniter or Symphony;
Microservices and their mesh (mesh service);
The design and use of APIs.
3 - Full Stack developer
Full Stack developers work both on the back and forehead side. They must therefore master the skills of these two components of a site or an application. To boost their profile or CV, they can also develop knowledge and know-how:
in eco -conception (an increasingly sought -after competence in Green Tech);
in project management to be able to take charge of the full life cycle of a site or software;
in cybersecurity (with for example a DevSecops approach).
A good developer therefore combines technical skills with soft skills that promote exchanges, collaboration and laziness!
Source and useful links: