HackerRank, the company that helps companies find top-notch software development talent by ranking programmers based on their coding skills, poses the question of which country would win a coding Olympics.
Although the United States dominated the recent 2016 Rio Summer Olympic Games, HackerRank took a look at the data it has compiled on programmers from different countries around the world and concluded that China and Russia would come out on top of a coding Olympics. The United States would not even win a medal, according to the HackerRank data.
“If we held a hacking Olympics today, our data suggests that China would win the gold, Russia would take home a silver, and Poland would nab the bronze,” wrote HackerRank’s Ritika Trikha in an article on the company’s website. “Though they certainly deserve credit for making a showing, the United States and India have some work ahead of them before they make it into the top 25.”
Yes, that’s right. According to HackerRank’s data, the United States ranks 28th and India ranks 31st among countries with the best programmers—behind Poland, Switzerland, Hungary, Japan, France, the Czech Republic, Canada, South Korea, Vietnam, Chile and a bunch of other countries.
Trikha said HackerRank regularly posts new coding challenges for developers to improve their coding skills and thousands of developers from all over the world come to participate in challenges in a variety of languages and knowledge domains. The HackerRank community has more than 1.5 million ranked developers—with rankings based on a combination the programmers’ accuracy and speed.
According to the HackerRank data, Chinese programmers outscored all other countries in mathematics, functional programming and data structures challenges, while Russians dominate in algorithms. Algorithms proved to be the most popular and most competitive area of the HackerRank challenges.
Indeed, nearly 40 percent of all developers competed in the algorithms domain, Trikha wrote. This domain includes challenges on sorting data, dynamic programming, and searching for keywords and other logic-based tasks, she said.
The second and third most popular domains for programmers in the HackerRank challenges—coming in at about 10 percent each—were Java and data structures. The United States and India, which HackerRank said provides more programmers to the world than any other countries, failed to claim a top ranking in any of the various domains.
Ironically, though, both China and Russia have reportedly been tied to major hacks or attempted hacks of U.S. corporations and government entities. Chinese developers scored 100 in the HackerRank evaluation, and Russian developers were right behind them with a score of 99.9. Poland and Switzerland rounded out the top of the list with scores of 98 and 97.9, respectively. Switzerland also won the top rank as the country with programmers that never give up on a challenge.
Meanwhile, Shimi Zang, a Chinese software engineer at HackerRank who did his undergraduate studies in China before coming to the United States for his master’s degree, tries to explain why developers from other countries, particularly China, may perform better in competitive programming.
China, Russia Would Win Coding Olympics: HackerRank
“In universities and colleges, education resources are relatively fewer in comparison with many other countries, so students have less choices in their paths to programming,” he said in the article. “Many great students end up obsessed with competitive programming since it’s one of the few paths.”
Zang added that “China even has a big population of students who started programming in middle school and high school.”
As for the efficacy of using the HackerRank data to determine the coding capabilities of a country, Forrester Research analyst Jeffrey Hammond said he needs to see more information.
“I have to wonder — seems like you’d see more ‘Unicorns’ in China and Russia if that were truly the case,” Hammond said of the claim that those countries dominate in coding skills. “And I’d rather have a good ‘developer’ or ‘software engineer’ than a ‘coder’ strictly speaking. I want creativity, business acumen, and design sensibility in addition to math skills and algorithm prowess.”
Grady Booch, an IBM Fellow, chief scientist for Software Engineering and Watson/M at IBM Research and the creator of the Unified Modeling Language (UML), said he is not surprised by the HackerRank findings, based on the educational focus of both China and Russia.
However, he had three observations regarding HackerRank’s findings. “First it points out the universality of computing,” Booch said. “As Marc Andeessen points out — software is eating the world and there is no better demonstration of this that software transcends all national, cultural, and gender boundaries.”
Second, Booch said it should be an “object lesson” to educators and policymakers and companies in the United States that despite all the incredible advances the US has have made in computing, “we are not alone and software has a global market that embraces all the benefits and all the downsides of globalism.”
And third, Booch told eWEEK, “While I celebrate the passion and the prowess of such Chinese and Russian developers, remember that developing, delivering, deploying and evolving software-intensive systems that matter requires much, much more than just great programmers. Design and architecture are perhaps even more important.”
Meanwhile, Al Hilwa, an analyst at IDC who focuses on software development among other issues, agreed with Hammond and Booch. Hilwa noted that HackerRank is sitting on some really interesting competitive coding data and can analyze it in any number of ways. However, concluding which country has the “best” programmers from this data is a bit like assuming that the countries with the most medals in the Olympics have the healthiest citizenry, he said.
“The reality is that different countries and cultures have more or less competitive attitudes with respect to competitive coding — or athletics,” Hilwa said.
In the US, for example, where there are five times more professional developers than there are in Russia, a smaller portion of developers tend to engage in competitive coding, Hilwa noted.
“In Russia or China, competitive coding is a more popular approach to prove suitability for jobs in a typically much smaller software industry,” he said. “That is likely what is going on here.”