Peter Norvig (Director of Research at Google) admits that winning in programming competitions is a negative factor for performing well on the job for developers at Google. But it boosts their chances of being hired. So, should you take into account programming competitions when hiring programmers? Let’s try to answer this question using examples.
We should start off by saying that competitive programming has its supporters and detractors.
Here are some of the most frequently mentioned cons of competitive programming:
But there’s no doubt that programming competitions also have quite a few advantages, and here are some of them:
Depending on how long they last, programming competitions can be divided into short-term and long-term contests. The former usually last several hours. Such events are sometimes spread over several days, but on each competition day the contestants must complete a specific number of tasks in a fixed amount of time. The latter may last several days, up to two weeks or so. Competitions that last several months are rare.
In this article, we’d like to focus above all not on how long programming competitions last, but on their goals and on who they’re intended for. We trust this division will help you to better understand their essence and the benefits that they may bring.
Let’s leave the “innocent” yet prestigious and globally recognized competitions for secondary school and university students and move on to the world of business. Here, we will find contests held by such giants as Facebook and Google.
The competitive programming community has created numerous platforms (here, we describe just three, namely HackerRank, IEEE, and CodeChef). Their purpose is not so much to encourage rivalry as to support the members of the community in solving different algorithmic programming problems. Here are the descriptions of some of these communities:
As you can see, not every pro and con listed at the beginning of this article is relevant for all types and examples of programming competitions. Most of them are certain to create added value for job applicants. During a job interview, you should find out if the candidate you’re talking to has participated in such contests. Many of them are held online, and the programmers who engage in competitive programming are often eager to develop their skills and try their hand at new challenges (which speaks well for such candidates).However, you should not forget to check what competition it was and how the programmer has benefited from it (the best idea is to let candidates answer this question in their own words). I hope you’ll find the information presented above helpful and you’ll return to this text again more than once 🙂