Набирающий популярность на Западе рекрутинговый сервис Workshape.io, соединяющий разработчиков и стартапы, проанализировал профили зарегистрированных пайтонистов и рубистов на предмет того, как выбор языка программирования влияет на работу. dev.by публикует сокращённый перевод публикации.
Один из потрясающих результатов создания Workshape.io — доступ к нестандартным данным, которые могут рассказать нам о том, чего мы иначе не узнали бы. Когда мы просим наших пользователей описать желаемую работу с распределением времени на задачи, мы можем не только собирать и сегментировать первичную информацию, но и представлять её в таком виде, в котором раньше её никто не видел.
В этом исследовании мы обратили взоры на некоторые из основных языков программирования, на которых держится весь Open Source. В частности, мы хотели сравнить два из них — Python и Ruby. Все мы знаем технические и философские различия между Python, Ruby, PHP и всеми остальными [языками], но как эти различия влияют на людей, которые ими пользуются? Влияет ли выбор языка программирования на то, как вы проводите рабочее время?
Для этого исследования мы взяли профили пользователей, которые выбрали Python или Ruby в графе «Желаемые технологии». Выше на диаграмме Венна видно, что на нашей платформе девелоперы чаще отдают предпочтение языку Python.
Мы сравнили эти две группы по уровню квалификации, набору вторичных навыков и, конечно, по распределению времени на универсальные аспекты разработки ПО. И вот, что выяснили.
Распределение по уровню квалификации
На Workshape.io мы собираем у пользователей информацию о желаемом уровне квалификации на следующей работе. Как видно из диаграммы выше, у нас предусмотрены четыре уровня квалификации.
По нашему определению, уровень Mid-weight можно присвоить разработчику, который считается полноценным членом команды, которому доверяют выполнение качественной работы без необходимости всесторонней поддержки. Этот уровень указали как желаемый на следующей позиции большинство пайтонистов.
Senior в нашем определении — опытный программист, которому можно доверить решения, влияющие на работу системы, и в обязанности которого входит курирование молодых сотрудников. Большинство рубистов указали этот уровень как желаемый на следующей позиции.
Мы не делаем далекоидущих заключений, но можем предположить, что рубисты более склонны думать о карьере, статусе в команде или необходимости большей автономии на следующей позиции.
Вторичные навыки
Анализ вторичных навыков (технологий, отличных от Python или Ruby, указанных программистами в нашем эксперименте) доказал вездесущность JavaScript. Эта технология оказалась наиболее популярной как среди разработчиков на Python, так и у сторонников Ruby. Ряд навыков встречается также в обеих группах: несмотря на то, что разработчики обычно предпочитают один язык другому, их сопутствующие навыки, в основном, похожи.
Распределение вторичных навыков
Python-разработчики больше склоняются к работе с бэкендом и технологиями нижнего уровня. В свою очередь Ruby-разработчики больше ориентированы на веб и мобильные разработки. Python-разработчики чаще интересуются машинным обучением и Data Science. Ruby-разработчики работают больше с Javascript-фреймворками.
На иллюстрации не показано, что Chef — самый популярный инструмент для управления конфигурацией среди Ruby-разработчиков, а эксперты Python в основном пользуются Ansible.
Стек технологий
В последней части исследования мы изучили использование стека технологий рубистами и пайтонистами в расчёте на рабочее время. На инфографике выше видно, что несмотря на разницу двух языков, общее распределение времени, посвящённого работе со стеком основных технологий, примерно одинаково.
Разница между Python и Ruby подкрепила наши данные по распределению навыков их носителей.
- В обоих случаях разработчики в основном хотят уделять больше времени бэкенд-разработке.
- Обе категории разработчиков уделяют примерно одинаковое внимание архитектуре, процессам, просмотру кода и документации.
- Пайтонисты больше склоняются к Data (разница — 7%) и хотят уделять немного больше времени анализу.
- Рубисты больше сосредоточены на фронтенд и, похоже, в большей степени интересуются TDD и BDD.
Заключение
В этом исследовании мы обнаружили и подтвердили некоторые интересные факты о разработчиках на Python и Ruby.
Python — более распространённый язык в нашей выборке, Ruby-разработчики составляют примерно 2/3 от числа пайтонистов. Есть чёткое разделение этих двух навыков: всего 15 процентов пайтонистов указали Ruby в качестве дополнительного навыка, 20 процентов рубистов сделали то же в отношении Python.
Медианный уровень квалификации для Python-разработчиков — Mid-weight (средний), для Ruby — Senior (старший). Учитывая субъективность и ограниченность выборки, мы не будем делать выводы относительно причин такого результата.
Навыки и временная нагрузка подтверждают, что Python больше связан с Data Science, чем Ruby. Ruby же имеет больше общего с веб-технологиями с сильным уклоном во фронтенд, а также с iOS.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.