Разработчики любят Python, а учат JavaScript
Сервис по оценке уровня разработчиков HackerRank опубликовал результаты масштабного опроса программистов из 17 стран, в том числе из России. 40 тысяч человек ответили на вопросы об обучении и работе. В исследовании также участвовали 7 тыс. представителей IT-компаний, которые помогли сформировать точку зрения среднестатистического нанимателя.
Четверть программистов начали кодить до 16 лет
Каждый четвёртый программист написал первый фрагмент кода до того, как ему исполнилось 16 лет. Самыми юными разработчиками может похвастаться Великобритания. Здесь наиболее высока доля программистов, которые определились с профессией до 10 лет. Сейчас им в основном 30–40 лет. Причина такого раннего старта не только в личной заинтересованности, но и в оснащении школ компьютерами благодаря партнёрству с Tesco. В Великобритании в школах учиться программированию можно с пяти лет.
Как показывает исследование, в юном возрасте чаще всего начинали программировать дети 70-х. В отличие от последующих поколений, если они хотели видеть инновационные технологии, они должны были создать их с нуля. При этом у кодеров того времени не было доступа к ресурсам с инструкциями для «чайников». Поэтому в программирование и шли молодые, смелые, мотивированные, готовые полностью посвятить себя работе. Почти половина (47%) разработчиков в возрасте от 45 до 54 лет написали первый код до 16 лет. Таким же ранним стартом в возрастной группе от 18 до 24 лет могут похвастаться только 20%.
Однако опрос показал, что более позднее начало обучения не препятствует карьерным успехам. 36% разработчиков, которые начали осваивать программирование после 26 лет, занимают должности уровня senior и выше, при этом быстро поднимаются по карьерной лестнице.
Средний разработчик знает 4 языка
Согласно опросу, разработчики не готовы довольствоваться имеющимися знаниями и постоянно изучают что-то новое. При этом самообразование является нормой для программистов всех возрастов. 74% опрошенных заявили, что они хотя бы частично самоучки, хотя у 67% из них есть дипломы по профилю.
Среднестатистический разработчик знает 4 языка и хотел бы выучить ещё столько же. В этом вопросе возраст имеет значение: молодые кодеры от 18 до 24 лет планируют выучить 6 языков, программисты старше 35 готовы добавить в копилку ещё 3 языка.
В качестве следующего ЯП, который они хотят освоить, разработчики чаще всего называли Go от Google. В первой пятёрке также Python, Scala, Kotlin и Ruby.
Молодые разработчики выбирают видеоформат обучения
Постоянное обучение, по мнению разработчиков — обязательное условие успешной карьеры. При этом наиболее востребованная площадка для самообразования — портал Stack Overflow. Программисты всех возрастов ценят пошаговые советы от сверстников, которые сталкивались с аналогичными проблемами и решили их.
В качестве второго по важности источника знаний молодёжь выбирает Youtube, за него проголосовали 65% опрошенных. Взрослые разработчики читают книги: за классический инструмент обучения высказались 85%.
В HackerRank считают, что видеозаписи позволяют выстроить процесс обучения, сопоставимый с учебными программами университетов, только студент проходит курс в своём темпе. При этом ролики позволяют оперативнее реагировать на нововведения в сфере, в них легко добавить новые данные. Книги с этой точки зрения менее гибкие.
Работодателям нужен JavaScript
Наниматели чаще всего хотят видеть в своих компаниях разработчиков со знанием JavaScript. В первой пятёрке также Java, Python, C++ и С.
Программисты в свою очередь полностью готовы удовлетворить спрос работодателя. Java, JavaScript, C, C++ и Python в топе языков, которые знают большинство кодеров.
При этом, несмотря на популярность JavaScript среди программистов и его востребованность у работодателя, у разработчиков наблюдается некоторое отставание в изучении фреймворков для этого языка программирования. Чаще всего наниматели хотят, чтобы разработчики знали Angular JS, Node.js и React JS. И именно в отношении этих фреймворков спрос значительно превышает предложение от соискателей. Например, разработчиков, которые знают React JS, в два раза меньше, чем вакансий, для которых требуется этот навык.
Python — любимый язык разработчиков
Если работодатели считают самым нужным языком JavaScript, то программисты отдают предпочтение Python. Большинство из разработчиков уже знает этот язык программирования, прочие планируют познакомиться с ним в ближайшем будущем. В рамках опроса специалисты HackerRank попросили респоннелюбимыйдентов оценить отношение к языку, выставив ему оценку в процентах: 100% — любимый, –100% — нелюбимый. Python набрал 84,6%.
Также отмечена тенденция: молодые разработчики не любят новые языки программирования сильнее, чем их старшие коллеги. При этом кодеры до 24 лет активно изучают новые ЯП, даже если они им не нравятся.
Наиболее приятными фреймворками названы Node.js, React JS, Express JS, Angular JS и Django.
Опыт важнее диплома
Работодателям от соискателя нужно не только умение писать код. Навыки решения проблем они называют более важными, чем знание языков программирования.
Также есть хорошие новости для тех, кто изучал программирование вне стен университета. Подавляющее большинство рекрутеров заявляют, что навыки, опыт разработки и проекты в портфолио важнее, чем наличие диплома престижного вуза. А руководители высокого уровня больше обращают внимание на GitHub-проекты соискателя.
Вместе с тем представители компаний отмечают несоответствие между существующими инструментами оценки кандидата и тем, какие качества в нём ищут. В частности, они говорят о сложности оценки опыта разработки по формальному резюме.
Сами программисты при поиске работы размер зарплаты ставят только на третье место по важности. Лидирует возможность соблюдения баланса между личной и профессиональной жизнью. Соискатели хотят иметь гибкий график, возможность удалённой работы, и чтобы в компании сосредотачивались на результате, а не на количестве проведённого в офисе времени. На втором месте — профессиональный рост.
В России возможность развиваться находится на первом месте, размер зарплаты — на втором, баланс личного и рабочего времени — на третьем.