Анализ 112654 тестовых заданий и тренды рынка труда программистов 2019 года

https://medium.freecodecamp.org/what-we-learned-about-2019-developer-hiring-trends-from-analyzing-112-654-coding-tests-b05a3ba0ca7b
  • Перевод
Материал, перевод которого мы публикуем сегодня, посвящён анализу рынка труда разработчиков программного обеспечения. А именно, компания Devskiller, которая работает в сфере рекрутинга, делится здесь результатом исследования 112654 тестовых заданий, которые выполнили программисты. Речь пойдёт о том, в каких странах живут программисты, лучше всего проходящие испытания, о том, где находятся компании, которые нанимают больше всего заграничных сотрудников, о том, какие группы технологий пользуются наибольшим спросом на рынке труда.

image

Рынок труда и его анализ


Информация — это самое главное в деле подбора программистских кадров. Это справедливо и для работодателей, и для тех, кто ищет работу. Если некто, занимаясь рекрутингом, понимает тренды IT-индустрии, осведомлён о том, какие знания и навыки востребованы на рынке труда, знает, где живут программисты, которых берут на работу, ему легче будет свести подходящих друг другу программиста и компанию, которая ищет рабочую силу.

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

Речь идёт о том, что то, что можно назвать «трендами найма программистов», может быть описано с использованием бессчётного количества параметров. Сложность, стоящая перед Devskiller, заключается в том, чтобы понять — какие именно сведения являются по-настоящему полезными.

Например, опросы, проводимые среди участников процесса поиска сотрудников, подразумевают изрядную долю субъективности. Но важность правильного решения задачи поиска работы или работника, как с точки зрения соискателя, так и с точки зрения работодателя, требует более надёжных данных. В Devskiller полагали именно так, поэтому решили взглянуть на уже имеющиеся у них данные.

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

За прошлый год в Devskiller набралось 112654 результата подобных испытаний. В компании считают, что подобные данные, снабжённые дополнительными сведениями, это — ценнейший источник информации о рынке труда. Дела всегда говорят громче, чем слова. А именно, речь идёт о том, что данные испытаний объективно отражают то, какие знания и навыки компании ожидают от потенциальных сотрудников, и то, где именно, в плане географического положения, они ищут рабочую силу.

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

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

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


Как оказалось, самый лучший результат прохождения испытаний (54.66%) показывают программисты из Новой Зеландии.

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

Так, в испытаниях участвовали кандидаты из более чем 120 стран. Если сравнить результаты прохождения испытаний программистами из разных стран, то окажется, что Новая Зеландия занимает здесь первое место (54.66%), второе место достаётся Нидерландам (53.58%), а третье место получают программисты из России (50.14%). А вот как выглядит первая десятка стран, в которых живут программисты, лучше всего справляющиеся с испытаниями.


Средний балл программистов из разных стран

Что может служить причиной подобных результатов? Может быть, она кроется в особенностях систем образования разных стран? Или, возможно, разработчикам из некоторых стран просто доставались более лёгкие задания? Вероятно, причиной происходящего можно считать тот факт, что Новая Зеландия прилагает большие усилия для привлечения в страну иностранных высококвалифицированных специалистов. Именно они и могли повлиять на то, что страна заняла в этом рейтинге первое место.

Тут возникает и ещё один вопрос. Являются ли разработчики из стран с самыми высокими результатами ещё и именной той рабочей силой, которую ищут компании, находящиеся в других странах?

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


Как оказалась, более 30% заграничных кандидатов протестировали компании, находящиеся в США. При этом в доле общего количества протестированных такими компаниями программистов заграничные составляют только 40%. Кроме того, США стоит на втором месте в рейтинге стран-экспортёров рабочей силы.

Подобные результаты, вероятно, не должны выглядеть совершенно неожиданными, если учитывать размер технологического сектора США. Кроме того, эта страна известна высокими зарплатами программистов, что является одним из факторов, привлекающих в страну лучших специалистов. Вот как выглядит первая пятёрка стран, компании, расположенные в которых, активнее всего ищут заграничных программистов.


Страны, компании, расположенные в которых, ищут заграничных специалистов

Довольно интересные данные получаются при сравнении стран-экспортёров рабочей силы. Здесь первое место занимает Индия. Там живёт более четверти программистов, прошедших испытания на платформе Devskiller.


Страны-экспортёры рабочей силы

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

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

Тут можно отметить и то, что программисты из США охотно соглашаются на работу за границей, в компаниях, где нужны их знания и навыки.

Но что это за знания? Каких специалистов ищут компании? Какие технологии сегодня пользуются наибольшей популярностью?

Самые востребованные технологии


Как оказалось, 70% компаний ищут JavaScript-разработчиков. При этом постоянно идут разговоры о том, что станет очередным грандиозным явлением в мире IT. Но надо отметить, что, в рассуждениях о подъёме Kotlin или о возможном захвате мира языком Golang, легко забыть о том, что эти и многие другие технологии пока ещё находятся в стадии роста и развития.

В большинстве организаций при этом продолжают пользоваться серьёзным спросом зрелые, устоявшиеся, развитые технологии наподобие JavaScript. Собственно говоря, это утверждение подтверждают вышеозвученные данные по JavaScript. Вот список из 5 технологий, специалисты, владеющие которыми, нужны наибольшему количеству компаний.


Самые востребованные технологии

При этом интересно будет сравнить эти показатели с показателями, основанными на том, какие испытания работодатели предлагают пройти соискателям. Первое место тут занимает Java.


Технологии, испытания на знание которых предлагают соискателям

По результатам исследования можно сделать вывод о том, что JavaScript подходит для решения задач различных масштабов, знаниями в области JS интересуется множество компаний разных размеров. Java, с другой стороны, лучше соответствует нуждам крупных команд, причём, такие нужды возникают в меньшем количестве компаний.

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

Хотя 70% компаний заинтересованы в JavaScript-программистах, самое интересное проявляется при более пристальном анализе этой цифры. Оказывается, что разные компании интересуют разные библиотеки или фреймворки. Разработчиков испытывают, как правило, не на нечто вроде «знание чистого JavaScript», а на владение чем-то наподобие React, Angular, Vue, Node.js.

Чего ждать тому, кто ищет работу программиста?


Мы посоветовали бы тому, кто хочет найти работу в рамках некоей технологии, не ждать, что работодателя будет интересовать исключительно то, как он знает язык, лежащий в основе этой технологии. Компаниям интересно не знание базового языка, а владение набором технологий, связанных с ним. При этом надо отметить, что работодатели ориентируются на проверку владения неким стеком технологий не только при проведении испытаний JavaScript-программистов.

А именно, речь идёт о том, что работодателей интересуют конкретные сферы применения языков программирования. Например, если вы позиционируете себя как специалист по Java — будьте готовы к тому, чтобы пройти испытания по Spring или по Android-разработке.

Если же вернуться к JavaScript, то в этой сфере испытаниям могут подвергнуться умения пользоваться такими технологиями, как React, Angular, jQuery, Node.js, Ember.

Разработчики баз данных могут ожидать испытаний по MySQL, PostgreSQL или HSQLDB.

PHP-программистам могут быть предложены задания по Laravel или Symphony.
А тем, кто пишет на Python, могут достаться задания, зависящие от конкретной позиции, где придётся показывать умение работать с Django, Pandas или Numpy.


Стеки технологий

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

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

Бэкенд и базы данных


Выяснилось, что навыки в области серверной разработки и в области работы с базами данных часто испытывают совместно.

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

В подавляющем большинстве случаев речь идёт о технологиях разработки серверных приложений и об умении работать с базами данных. Мы здесь обозначим технологии работы с базами данных как «SQL».

Среди восьми комбинаций технологий, владение которыми чаще всего интересует работодателей, 26% составила комбинация Java и SQL. Кроме того, комбинации .NET и SQL принадлежит 9%.

Комбинация JavaScript, который, благодаря Node.js, теперь относится и к серверным языкам, и SQL, интересует работодателей в 15% случаев. И, наконец, знания в области PHP и SQL исследуются примерно в 7% случаев.


Комбинации технологий, интересующие работодателей

При этом интересно отметить тот факт, что если речь идёт о фронтенд-разработке, то владение JavaScript часто проверяют вместе с умением пользоваться CSS. Речь идёт о 18% случаев. Если рассмотреть другие популярные сочетания технологий, то оказывается, что комбинации .NET и JavaScript отводится 8% испытаний, PHP и JavaScript комбинируются в 7% случаев, Java и JavaScript — в 6% тестов.

Из этого можно сделать вывод о том, что если вы — бэкенд-разработчик, то вам важны и знания в области работы с базами данных. Аналогично, если вы — фуллстек-разработчик, то независимо от того, на чём вы пишете серверный код, для разработки фронтенда вам придётся использовать JavaScript.

Отношение программистов к испытаниям, которые им предлагают пройти при приёме на работу


Здесь мы много говорили об испытаниях, которые предлагают программистам компании, ищущие сотрудников. В конце концов, именно на данных таких испытаний и построено наше исследование. Но в определённых кругах подобные вещи воспринимаются неоднозначно.

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

В этой связи интересно отметить то, что 73% от общего числа разработчиков, которым, в процессе испытаний перед приёмом на работу, предложили выполнить наши задания, эти задания выполняют. Это указывает на то, что при правильном подборе заданий, в том случае, если задания связаны с реальностью, эти задания выполняет немалое количество соискателей. В результате работодатель получает важную и актуальную информацию об их знаниях и навыках.

Особенности подбора разработчиков в разных странах


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

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

Вероятно, неудивительно то, что самый жёсткий отбор приходится проходить тем программистам, которые хотят работать в компаниях Сингапура. Это — развитая страна с очень высоким уровнем образования.

Кроме того, Сингапур отличается более высокими, чем страны-соседи, экономическими достижениями. В результате компании, расположенные в этой стране, привлекательно выглядят для кандидатов со всей Юго-Восточной Азии.

Итоги


Данные, на которых основан этот материал, собраны в 2018 году, но, несмотря на это, они позволяют выявить интересные тренды рынка труда в сфере IT 2019 года:

  • Некоторые страны, такие, как Новая Зеландия, могут стать новым богатым источником квалифицированных программистов.
  • Индия является огромным источником программистом, а США лишь немного от неё отстают.
  • Технологии, появившиеся много лет назад, такие, как JavaScript, всё ещё пользуются огромной популярностью.
  • Программист, который ищет работу, должен знать не только некий язык, но и сопутствующие технологии.
  • Программистам рекомендуется развивать свои знания и навыки в области технологий, дополняющих друг друга. Например, технологии серверной разработки обычно идут вместе с технологиями работы с базами данных.
  • Если компания, которая ищет программистов, предлагает им правильно подготовленные испытания, основанные на том, что можно встретить в реальной работе, подавляющее большинство кандидатов согласится пройти такие испытания.
  • Компании из Сингапура предъявляют очень высокие требования к соискателям.

Если тема изучения рынка труда в сфере программирования вам интересна — вот исследование, на котором основан этот материал.

Уважаемые читатели! Как вы относитесь к заданиям, которые предлагают выполнить программистам перед принятием решения о приёме их на работу?

  • +25
  • 14,3k
  • 7
RUVDS.com
927,00
RUVDS – хостинг VDS/VPS серверов
Поделиться публикацией

Комментарии 7

    +1
    А как же Боб Python?
      +1

      Никак. TIOBE считается на основе количества поисковых запросов, в которых содержится название языка, а Python — это сейчас популярный язык среди студентов. Логично, что больше всего поисковых запросов подаётся по языку студентов и начинающих.

        +1
        Хорошо, а github тоже опирается на данные поисковых запросов? )
          +3
          А где по-вашему все эти студенты размещают свои творения?
      +2
      Всё это говорит о том, что программисту, который хочет найти хорошую работу, нужно знать не только некий язык программирования, но и уметь пользоваться различными библиотеками и фреймворками, связанными с этим языком.

      Технологии, появившиеся много лет назад, такие, как JavaScript

      Эти две фразы наводят на мысль, что автор не разбирается в том о чем пишет. Знания языка программирования всегда было мало, а JavaScript нельзя назвать старой технологией, т.к. все время развивается и язык и то как и что на нем программируют.
        0
        Там в комментариях к оригинальной статье уже про это написали:

        I don’t see JS as a legacy technology, especially given how much it developed over the last few years. Maybe I’m misunderstanding that statement?


        На что автор ответил:

        Hi Filip, You make a fair point. A better description might be established technology. As you rightly point out, the JavaScript stack is constantly being worked on and evolving.


        Типа то, что она появилась много лет назад, говорит по мысли автора не о ее «устарелости», а о ее «зрелости».
        0
        Devs-killer? Словосочетание «хантинг программистов» заиграло новыми красками.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое