HackerRank — это социальная платформа, которая предлагает задания разной сложности по программированию. Запущена платформа была в 2012 году. Сейчас аудитория проекта насчитывает около полутора миллиона пользователей. Статистику по результатам решений заданий своими пользователями ресурс регулярно публикует в виде рейтинга по 50 странам.
Рейтинг HackerRank учитывает задания по 15 наиболее популярным дициплинам. Самые популярные задачи касаются различных алгоритмов, связанных с динамическим программированием, анализом больших данных и другими темами. Для решения таких заданий пользователь может работать с любым языком программирования. Кроме алгоритмов в топ-3 популярных заданий входят задачи по структуре данных и программировании на Java. Такие задания выполняются 9,1% и 9,3% пользователей соответственно. Все баллы специалистов по разным странам анализируются, после чего выводится общий балл для каждой страны из участвующих в рейтинге. Максимальное количество баллов, которое может получить страна — 100.
Список тем, которые наиболее популярны среди пользователей платформы
Отчеты HackerRank показывают, что лучшие программисты живут отнюдь не США. И не в Индии, хотя здесь число разработчиков постоянно увеличивается. Лучшие из лучших живут в Китае и России. Китайские специалисты традиционно сильны в математике, функциональном программировании и работе с данными. Китайцы получили максимальное количество баллов — 100. Русские программисты, получившие 99,9% баллов, доминируют в сфере алгоритмов (в решении заданий из этой сферы пробуют силы около 40% пользователей платформы HackerRank). А вот Индия и США размещаются только на 31-м и 28-м местах соответственно. В тоже время с заданиями по Java и структуре данных работает по 10% пользователей. Наименее популярными являются задания по безопасности и распределенным системам. Кроме Китая и России в топ-10 стран с наиболее талантливыми разработчиками оказались Польша, Швейцария, Венгрия, Япония, Тайвань, Франция, Чехия, Италия.
Китай и Россия доминируют далеко не во всех сферах. Например, задания по SQL и Shell лучше всех решают разработчики из Дании и Чехии.
Программисты некоторых стран участвуют в решении задач по определенным предметам чаще, чем другие. В случае Китая это объясняется тем, что в университетах и колледжах этой страны список доступных для изучения дисциплин несколько меньше, чем в ряде других стран. Поэтому у студентов не такой большой выбор. Плюс в том же Китае многие начинают программировать еще в средней школе, не говоря уже о старшеклассниках. В таблице ниже отображены страны, программисты которых участвуют в решении задач ряда дисциплин чаще, чем другие. В то же время в соседней, третьей колонке показаны страны, программисты которых крайне редко пытаются решать задачи указанного ряда дисциплин.
Как видим, пользователи из Китая чаще других пытаются решать математические задачи. Скорее всего, благодаря этому Китай и занял первое место в математике.
Еще один интересный момент — это распределение популярность языков программирования среди разработчиков из разных стран.
По данным HackerRank, наиболее популярными среди пользователей этой платформы (из разных стран) являются задачи по Java. Исключение — программисты из Малайзии и Пакистана, которые предпочитают С++.
Чаще других успешно решают свои задачи пользователи из Швейцарии. Когда пользователь сдается, не решив задачу, он получает 0 баллов. Процент таких разработчиков максимален в таких странах, как Пакистан, Малайзия и Нигерия. И минимален в Швейцарии, Венгрии и Польше.
Представители HackerRank считают, что если бы сейчас проводилась Олимпиада по программированию, то команда китайцев получила бы золото, россияне стали бы вторыми, завоевав серебро, а поляки — третьими, получив бронзу. А вот Индии и США предстоит изрядно потрудиться, чтобы войти хотя бы в топ-25 олимпийских команд.