Being a good programmer... or not to be

Stay connected, follow CodinGame for Work now
Browsing the Internet, you can find tons of discussions on what a « good programmer » actually is. « A good programmer »: what a cloudy and subjective concept! We tend to think that any company who wants to produce good software and good services, may it be a start-up or not, seriously needs good programmers, simply because the raw material of an application is code. And if code is of poor quality, it is very likely that the application will not be solid, functional, and able to evolve, no matter how many people are involved in the team project, and no matter how many quality procedures are implemented. Think about a restaurant that would want to prepare excellent dishes from low quality products: it will never work, however good the recipes are.

There are no set rules concerning good programmers. There are so many roads that lead to good-quality code.

Is it a matter of education? We share the opinion that a good programmer is not necessarily a graduate from a prestigious Engineering school / University. Truly, when programming is concerned, no high education level is mandatory. A good programmer can have undergone short vocational courses, or worse, can be an autodidact.
Programming skills are not measured in terms of theoretical knowledge.

Is it a question of professional experience? Again, there is no direct causal link. Professional experience is a true asset which enables to acquire methodological skills and work habits that help to save time and to improve teamwork. In a lot of professions, one always improves by practicing, and a beginner will make mistakes an experienced professional no longer makes. However, as programming is concerned, that is not the case. You can be very surprised when comparing the code of two developers (same technical profile) with the same level of experience.

Is it linked to the mastery of many different technologies? Not necessarily. A long inventory of so-called mastered technologies on a resume does not reveal any actual level of proficiency as regards the technologies and languages mentioned.

So, can we rely on companies where candidates have previously worked? Not always. Indeed, certain companies are famous for their most demanding hiring requirements. But on the other hand, many societies do not have appropriate processes to assess job applicants. Besides, a company name on a CV does not justify the role the candidate has actually had in the course of his employment.  Was he a resource person or not? Did he contribute to build essential parts of the application? In many cases, the CV is not enough precise on these points. 

Finally, there is no miracle solution to spot good programmers. Most IT recruiters lack efficient tools to assess programming skills and to be able to say, objectively, if a programmer is a good one or not. 
What skills a good programmer should have is yet to be defined in a next article!

1 comment :

  1. J'approuve. Je suis curieux de voir ce que donne votre application d'évaluation en c#.

    ReplyDelete