The programming community recently held a competition to identify which country has the best programmers in the world. Although many would out-rightly say United States as it has given some of the most successful programming personalities such as Bill Gates, Dennis Ritchie, and Donald Knuth to the world. However, this year U.S. failed to meet expectations and India also turned out to be a laggard on many fronts.
HackerRank regularly organizes numerous coding challenges for programmers and developers to enhance their coding skills. These challenges help them determine which country has the most talented individuals and hence could top the list in this global contest. This event gives a platform for programmers in multiple domains such as Python, Algorithms, Java, Security and Distributed systems. Developers are evaluated based on their accuracy of program and speed.
Chinese and Russian programmers have made their mark by securing the top positions in this competition. Chinese programmers have scored the highest in mathematics, functional programming and data structures challenges. On the other hand, Russian programmers managed to excel in algorithms, which is the most popular domain. Although majority of participants belong to U.S. and India but they secured only 28th and 31st position respectively.
Algorithm challenge: the most popular domain
HackerRank participants can choose to contest in 15 different domains but some are more popular than others. Looking at the table below, algorithms is the most competitive area, with roughly 40% contestants participating in this area. It includes challenges like sorting data, dynamic programming, and searching for keywords and other logic-based tasks.
It is also flexible as the developers can use any language they want. Java and data structures were the second and third most popular domains with more than 9% participants opting there. The least popular areas were distributed systems and security.
Chinese and Russian developers were the most competent
To identify the top country-wise performance, each country’s average scores were used in all domains. Scores were standardized for each domain ((by subtracting the mean from each score and then dividing by the standard deviation; also known as a z-score) before taking out the averages. Later, z-scores were converted into an 1-100 index for ease of understanding. This technique enabled the analysts to provide a fair comparison across each domain.
HackerRank took data from 50 countries where majority of developers participated. All of them took thousands of challenges. Chinese developers took the lead scoring a total 100 but Russians came second by a very thin margin scoring 99.9 out of 100. Poland and Switzerland also secured top positions scoring about 98. Pakistan somehow managed to get into the top 50 list with a score of 57.4.
India and U.S. having majority of participants didn’t get into top 25 list, with the former securing 31st position while the latter sitting at 28th position. Although China managed to top the list on averages but it didn’t win the competition in all domains.
Chinese developers topped the list in data structures, mathematics, and functional programming. Russian developers topped the list in algorithms being the most popular domain. In the same domain, Poland and China secured second and third position accordingly.
Another comparison was based in how the developers in each country split their time up against different challenge types and then compare them with averages. Hence, they compared which countries are more likely than others to take a test in each domain.
According to the given data, Chinese developers showed interest in mathematics at a much higher rate. Thus, indicating why they secured higher in that area. Similarly, Czech developers showed higher interest in shell competition where they secured first position.
Programming language references by country
The analysts also identified programming language preferences by each country. The chart highlights that generally most of them are interested in Java challenges more than any other language. There are only a few exceptions where Malaysian and Pakistani developers show interest in C++ and Taiwanese prefer Python.
Currently, Pakistan, Sri Lanka and Nigeria need to pull up their socks as they take up the bottom of the ranking. They can follow the learning curve of Swiss developers for their steadiness and never give up attitude. It has been recorded that programmers from Switzerland have no zeros (which means not giving up on any challenge).
These rankings have changed a few perspectives about the leading programming countries of the world.
It would be interesting to see how many more programming gurus the world sees in the near future.
Blog and Images Source: Hackerrank.com

