Где живут лучшие программисты мира?

Где живут лучшие программисты мира?

Многие могли бы предположить, что в Соединенных Штатах. В конце концов, США является домом таких светил программирования, как Билл Гейтс, Кен Томпсон, Деннис Ритчи и Дональд Кнут. Но та же Индия славится своими университетами, например, Индийским институтом технологий (IIT), а хакеры из России считаются весьма эффективными. Есть ли способ определить, в какой стране программисты лучше?

Исследование HackerRank помогло ответить на этот вопрос.

HackerRank регулярно проводит десятки тысяч соревнований по программированию для разработчиков, чтобы улучшить их навыки в кодинге. Сотни тысяч разработчиков со всего мира участвуют в соревнованиях по различным языкам и областям программирования: от Python до алгоритмов безопасности и распределенных систем. Разработчиков оценивают и размещают в рейтинговой таблице, учитывая скорость и точность выполнения задач.

По данным HackerRank, самые талантливые программисты живут в России и Китае. Китайские программисты обгоняют все остальные страны по математике, функциональному программированию, а также проблемам структур данных, в то время как русские доминируют в алгоритмах – самой популярной и самой конкурентной сфере. Хотя Соединенные Штаты и Индия обеспечивают наибольшее число участников соревнований, в рейтинге они занимают только 28 и 31 места соответственно.

Лучший язык программирования 2015 года

Какие области наиболее популярны?

HackerRank предлагает разработчикам принять участие в 15 соревнованиях в различных сферах, но некоторые из них более популярны, чем другие. В таблице ниже представлена доля завершенных соревнований для каждой области программирования.

Какие соревнования наиболее популярны? Процент тестов HackerRank

Какие соревнования наиболее популярны? Процент тестов HackerRank

Самая популярная на сегодня область программирования – алгоритмы. В ней соревнуются около 40% всех разработчиков. Эта область включает сложные задачи по сортировке данных, динамическому программированию, поиску ключевых слов и другие основанные на логике задания. Для участия в таких соревнованиях разработчики могут использовать любой язык, но их выбор может частично объяснить, почему тот или иной язык так популярен. (Алгоритмы также имеет решающее значение для технических интервью, по результатам которых программисты могут быть приняты на работу). С большим отрывом в процентном соотношении, второе и третье место занимают задачи на Java и структуры данных, на которые приходится примерно по 10% участников. Распределенные системы и безопасность — наименее популярные области.

Итак, на основе результатов этих соревнований программисты каких стран показали наилучшие результаты?

Для ответа на этот вопрос был взят средний балл каждой страны во всех областях. Прежде чем найти среднее значение, оценки были стандартизированы для каждой области (путем вычитания среднего из каждого счета, а затем делением на стандартное отклонение), что дало так называемый показатель Z, или стандартный показатель. Это позволило сравнить схожие характеристики отдельных показателей в разных областях программирования, даже с учетом того, что некоторые области являются более сложными, чем другие. Затем Z- баллы представили в таблице от 1 до 100 для легкой интерпретации.

В таблице ниже представлены данные для 50 стран с наибольшим числом разработчиков на HackerRank. Люди из этих стран приняли участие в тысячах соревнований (минимум 2000).

В какой стране лучшие разработчики? Рейтинг составлен с учетом среднего показателя решения всех тестов HackerRank

В какой стране лучшие разработчики? Рейтинг составлен с учетом среднего показателя решения всех тестов HackerRank

Поскольку Китай набрал самый высокий балл, китайские разработчики занимают первую позицию списка со счетом 100. Но Китай выиграл с минимальным преимуществом. Россия набрала 99,9 из 100, в то время как Польша и Швейцария закрывают топ рейтинга с баллами в районе 98. Пакистан, расположившийся на 50 месте, набрал всего 57,4 балла из 100.

Две страны, от которых в соревнованиях принимает участие наибольшее число разработчиков, Индия и США, расположились даже не в верхней половине списка. Индия занимает 31 место с общим счетом 76, а Соединенные Штаты – 28-ое, со счетом 78.

Известный хакер о USB-шпионах, москитах, девушках на MySpace и многом другом

Какую страну представляют лучшие разработчики в конкретных областях?

Хотя Китай превзошел остальные страны по средним показателям, он не доминирует по всем направлениям. Какую страну представляют лучшие разработчики в конкретных областях программирования? Рассмотрим ведущие страны для каждой области.

Страны с лучшими разработчиками в отдельных областях программирования

Страны с лучшими разработчиками в отдельных областях программирования

Неудивительно, что Китай превосходит остальные страны в некоторых областях. Китайские разработчики вне конкуренции в области структур данных, математики и функционального программирования.

С другой стороны, Россия доминирует в алгоритмах – самой популярной области. Здесь же Китай и Польша занимают второе и третье место соответственно.

Чем объясняются уровни успешности разных стран в разных областях? Одно из возможных объяснений связано с тем, что, например, русские программисты более склонны к участию в соревнованиях, связанных с алгоритмами и следовательно больше практикуются в этой области, в то время как китайские разработчики чаще решают задачи по структурам данных.

Было также проведено сравнение, как разработчики из каждой страны распределяют свое время между различными типами заданий, и затем — какие области программирования предпочитает обычный участник HackerRank. Это позволило выяснить, какие страны чаще, чем остальные, оказываются способны пройти тест в той или иной области. 

Страны и их вероятность пройти тест в определенной области

Страны и их вероятность пройти тест в определенной области. Страны со значительно высоким или низким процентом выполнения задач в определенной области. Столбцы слева–направо: область программирования; высокая вероятность; низкая вероятность.

Из приведенной выше таблицы следует, что китайские программисты участвовали в соревнованиях по математике гораздо чаще, чем можно было ожидать, учитывая предпочтения среднестатистического разработчика. Это помогает объяснить, как они заняли первую строчку рейтинга в этой области. А, например, чешские разработчики проявляют огромный интерес к соревнованиям по Shell, области в которой они занимают первое место.

Но помимо этих двух примеров, кажется, в таблице прослеживается мало общего между выбором той или иной страной определенного типа соревнований и ее деятельностью в этой сфере.

6 причин, почему наши дети должны учиться программированию

Какие языки программирования предпочитают разработчики разных стран?

Интересно также узнать, имеют ли определенные страны предпочтения в языках программирования? Правда ли, что C++ — наиболее популярный язык в Индии? Или что большинство мексиканцев выбирают Ruby?

Следующая диаграмма показывает долю соревнований на каждом из языков по странам.

Какие языки программирования предпочитают разработчики разных стран?

Какие языки программирования предпочитают разработчики разных стран?

В целом, разработчики разных национальностей участвуют в Java-соревнованиях чаще, чем на любом другом языке программирования (с некоторыми исключениями, такими как Малайзия и Пакистан, где предпочитают C++, и Тайвань, где доминирует Python). Шри-Ланка занимает первое место среди стран, предпочитающих Java. Индия, которую представляет наибольшее число разработчиков на HackerRank, занимает 8 место.

Как научиться программированию с нуля. 5 онлайн-сервисов

Какая страна никогда не проигрывает?

Расположившихся на последних строчках рейтинга программистов из Пакистана, Шри-Ланки и Нигерии могут вдохновить успехи неизменно занимающих первую строчку разработчиков из Швейцарии.

Когда разработчик подает заявку на участие в соревновании HackerRank, до того как показать некий прогресс, он имеет 0 баллов. Швейцария имеет самый низкий процент разработчиков с нулевым показателем, что позволяет назвать швейцарских кодеров самыми усердными программистами в мире. 

Какая страна никогда не проигрывает? % разработчиков в нулевым показателем

Какая страна никогда не проигрывает? % разработчиков в нулевым показателем

Какая страна победит на Олимпийских играх по программированию?

Каждый день разработчики по всему миру конкурируют друг с другом, чтобы стать следующим Гейтсом или Кнутом. Если провести Олимпиаду среди разработчиков, на основании рассмотренных выше данных, можно предположить, что Китай возьмет золото, Россия – серебро, а Польша – бронзу. Хотя они, безусловно, заслуживают похвалу уже за те результаты, которые демонстрируют сейчас, в то время как США и Индия не входят даже в топ-25.

Высоких вам конверсий!

По материалам: priceonomics.com.

27 ноября 2016

LPgenerator — профессиональная Landing Page платформа для увеличения продаж вашего бизнеса

  • Более 500 шаблонов в галерее
  • Инструменты оптимизации конверсии
  • Статистика и сквозная аналитика
  • CRM для работы с заявками и телефония
  • Визуальный редактор с расширенным функционалом
  • Быстрая техническая поддержка
  • Множество интеграций
  • Окупаемость инструмента — от 7 дней
blog comments powered by Disqus