[Перевод] Какие навыки потребуются разработчикам в будущем?
Довелось прикоснуться к результатам исследования HackerRank 2018 Developer Skills Report, основанного на опросе более чем 39000 разработчиков со всего мира. Под катом краткий пересказ того, чему стоит научиться и на что обратить внимание, если вы вдруг хотите, чтобы матрица забрала вас однажды в свой цифровой мир будущего.
Обучение и образование
Каждый четвертый разработчик, принявший участие в исследовании HackerRank, начал кодировать задолго до того, как ему официально по закону было разрешено водить автомобиль.
Никогда не бывает слишком рано или слишком поздно для того, чтобы начать программировать. Из примерно 39 000 разработчиков, опрошенных на всех профессиональных уровнях, более четверти написали свой первый кусок кода до того, как им исполнилось 16 лет.
Между тем, из всех разработчиков, начавших кодировать после 26 лет, 36% сейчас являются старшими или даже более высокоуровневыми разработчиками, быстро растущими в своей карьере.
Революция ПК вызвала уникальные амбиции среди детей 70-х годов. В отличие от последующих поколений, если бы дети семидесятых хотели увидеть инновационные технологии, им пришлось бы создавать их самим — у них не было другого выбора. Не было никаких широко распространенных ресурсов, чтобы научить их, как создавать программное обеспечение. Почти половина всех разработчиков (47%) в возрасте от 45 до 54 лет начали кодировать до 16 лет. Между тем, разработчики между 18 и 24 на сегодняшний день наименее вероятно, начали кодирование до 16 (только 20%).
Разработчики в возрасте от 45 до 54 лет одними из первых получили в свои руки относительно мощные ПК, такие как Acorn Archimedes, TRS-80, Commodore 64 и Apple II. В условиях ограниченного доступа к формальному образованию у молодых людей, участвовавших в революции ПК, было необычайно сильное стремление научиться программировать самостоятельно.
Великобритания может похвастать лидерством в вопросе воспитания молодых кодеров. Из 17 стран, представленных в опросе, родина Шерлока Холмса и футбола выделяется самой высокой долей юных разработчиков, начавших кодировать в возрасте от 5 до 10 лет. Этому есть вполне разумное объяснение. Англия стала первой страной, модернизировавшей свою учебную программу таким образом, что теперь от детей в возрасте до 5 лет требуют посещать занятия по программированию.
Правительство неоднократно ссылалось на то, что раннее знакомство с кодированием является важным шагом в создании ворот для карьеры в области программного обеспечения и понимания принципов вычислительного мышления и программного обеспечения, которое влияет на повседневную жизнь.
Учиться, учиться и еще раз учиться!
Кажется, что ежегодно появляются новый язык программирования, фреймворк или библиотека, которая распространяется по блогам разработчиков. Самообразование является нормой для разработчиков всех возрастов. Несмотря на то, что 67% разработчиков имеют научные степени, примерно 74% сказали, что они, по крайней мере, частично самоучки.
В среднем разработчики знают 4 языка программирования и хотят выучить еще 4. Степень жажды к обучению варьируется в зависимости от поколения-молодые разработчики от 18 до 24 планируют изучать 6 языков, в то время как люди старше 35 лет планируют изучать только 3.
Поскольку программирование сосредоточено на независимых исследованиях, направленных на решение новых задач, самообразование является важной частью успешного разработчика. При выборе того, что изучать дальше, лучшим руководящим принципом является посадить себя в одной дисциплине и изучить инструменты как средство для роста. Инструменты всегда будут меняться. В конечном счете, это любопытство и неподдельный интерес к программам, которые должны стимулировать стремление изучать новые инструменты и адаптироваться к меняющемуся ландшафту технологий.
Новое поколение для самостоятельного обучения вместо книг предпочитает YouTube. Разработчики ценят пошаговые советы коллег, которые пришли, увидели и преодолели стоящие перед ними задачи.
Сама природа обучения меняется. Молодые поколения стекаются на YouTube, в то время как старшие поколения предпочитают книги, чтобы учиться новым навыкам.
Оба имеют уникальные преимущества. YouTube обеспечивает систематическую парадигму обучения, позволяя получить структурированный, устойчивый прогресс, имитируя учебные программы университетов, с той лишь разницей, что вы можете делать это в своем собственном темпе. Другим преимуществом является адаптивность. В то время как YouTube может предлагать вам неиссякаемый поток гибких достижений программного обеспечения, учебники являются своего рода вечными реликвиями основ CS. В любом случае, ясно, что мы стоим на пороге эволюции образования.
Разработчики изучают языки, которые ищут работодатели
Хотя часто возникают новые языки, самое важное для разработчиков освоить основные в тч устаревшие языки. По большому счету, наиболее распространенными требованиями работодателей на сегодняшний день являются: JavaScript, Java, Python, C++ и C.
Если сравнивать наиболее востребованные работодателями языки с наиболее распространенными языками, которые знают разработчики, то разрыва нет. Java, JavaScript, C и C++, и Python все возглавляют список языков, которые знают разработчики.
Существуют небольшие различия в наиболее востребованных языках по отраслям. Java, например, была популярна в мире финансовых услуг в течение многих лет. C доминирует над оборудованием из-за его производительности, прямого низкоуровневого аппаратного API и доступности компиляторов на многих платформах. И C# более распространен среди правительственных организаций.
JavaScript рулит!
JavaScript — это единственный язык, достаточно универсальный для создания фронтенда, бэкенда, мобильных и браузерных расширений. Следовательно, JavaScript управляет интернетом. Чаще всего работодателям нужны разработчики, знающие AngularJS, Node.JS и React.
Кстати, эти 3 фреймворка также имеют самый большой разрыв между тем, что знают разработчики и чего хотят работодатели. React имеет самую большую разницу между процентом разработчиков, которые знают структуру, и процентом работодателей, которые ищут кандидатов с этим набором навыков. Другими словами, сегодня у разработчиков есть большая возможность научиться реагировать на запрос рынка и прокачать именно те навыки, которые нужны компаниям.
Востребованные работодателями навыки и умения
Навыки решения проблем почти единогласно являются наиболее важной квалификацией, которую ищут работодатели… больше, чем знание языков программирования, отладки и проектирования систем. Демонстрация вычислительного мышления и способность решать большие, сложные проблемы так же ценна (если не больше), как и базовые технические навыки, необходимые для работы.
То, что вы реально умеете делать, имеет большее значение, чем то, что отражено в вашем резюме. Есть расхожее мнение, что рекрутеры охотятся на дипломы престижных вузов. Но на самом деле они смотрят на то, что вы действительно делали, а не на то, где и как вы учились в школе. Подавляющее большинство менеджеров по найму заявили, что они ищут проверенные и подтвержденные результаты вашей работы, факты подтверждающие ваш многолетний опыт и проекты/GitHub. Независимо от размера компании, 9 из 10 менеджеров по найму говорят, что предыдущий опыт и годы опыта — оба показателя квалификации — являются одними из самых популярных квалификаций. Кстати, ваши практические навыки более значимы для небольших компаний. Малые фирмы придают портфелю ваших проектов большее значение: 80% против 66% в крупных компаний.
Квалификации, которые обычно поддерживают резюме (престиж степени, уровень образования, одобрения навыков или сертификатов), занимают самое низкое место среди того, что компании заботят больше всего. Эти факторы не свидетельствуют о доказанной квалификации. Единственная квалификация с наивысшим рейтингом, которая легко просматривается из резюме, — это «годы опыта», так как опыт работы и портфолио иногда коррелируются с этим квалификатором. Поскольку труднее пересмотреть отдельные портфолио в масштабе, многолетний опыт является альтернативным, основанным на резюме сигналом для доказанного мастерства, хотя это полностью пренебрегает высокими исполнителями, которые быстро росли в своих ролях.
Компании смотрят на GitHub и проекты, чтобы дополнить резюме и лучше оценить навыки. Когда в исследовании были отфильтрованы данные по ролям, обнаружилось, что те, кто занимает должности уровня C, включая учредителей, CTO и VP, ценят проекты GitHub больше, чем многолетний опыт. Престиж ученых степеней упал еще больше в важности для этих людей.
Когда разработчики встречаются с людьми C-уровня, есть больше времени для оценки проверенных навыков на основе проектов, предыдущей работы и портфолио.
Разработчики стекаются на языки, ставшие популярными у технологических гигантов
Когда в исследовании были проанализированы языки с наибольшим разрывом между тем, что разработчики не знают, и тем, что они хотят узнать дальше: Go, Kotlin, Rust, Scala и Swift заняли самое высокое место. Существует четкая тенденция индивидуальных разработчиков, следующих примеру технологических гигантов Силиконовой долины.
Любовь навсегда!
JavaScript может быть самым востребованным языком среди работодателей, но Python покоряет разработчиков всех возрастов, согласно нашему индексу любви и ненависти. Python также является самым популярным языком, который разработчики хотят изучать в целом, и значительная доля уже знает его.
Python известен своей простотой, удобочитаемостью и широкими возможностями научных библиотек. Он также растет в рамках вводных курсов информатики.
Существует необычная тенденция поколений среди новых языков: молодые разработчики не любят новые языки (например, Go, Kotlin и Scala) больше, чем старые разработчики. На самом деле, Go создает один из самых больших разрывов. Разработчики в возрасте 18–24 лет не заботятся об этом, но 45–54-летние считают его одним из своих самых любимых языков. Обратное верно о JavaScript.
Node.js — новое и очень любимое
Node.js выигрывает как самый любимый фреймворк у самой большой доли разработчиков. Как единственный метод для бэкэнда JavaScript, Node.js рулит. Что касается front-end фреймворков, то здесь в моде AngularJS и React. Но оказывается эта любовь наиболее распространена среди подрастающего поколения.
Привлечение талантов
Оценка навыков оказывается самой большой проблемой найма, больше, чем нехватка талантов.
По словам более чем 7000 работодателей, резюме по-прежнему являются наиболее распространенным способом оценки разработчиков сегодня. Проведенное исследование показало, что 81% менеджеров по найму используют резюме в качестве первого шага в процессе отбора кандидатов.
Когда их спросили, какова самая большая проблема найма, те же менеджеры по найму сказали, что оценка навыков — это их проблема номер один, а не отсутствие таланта. Между тем, только 55% разработчиков заявили, что резюме являются хорошим отражением их способностей.
Work-life balance
Если вы посмотрите на любое описание технической вакансии, то там обычно HR выделяют технический стек, информацию о миссии, задачах, компенсациях и прочих льготах. Иными словами, все чтобы побудить разработчика откликнуться на вакансию. Однако, как показывает проведенное исследование, концентрироваться стоит на других вещах.
Номер один в «хотелках» разработчиков — сильный ориентир на баланс между работой и личной жизнью. Люди оценили баланс между работой и личной жизнью как наиболее желаемую характеристику. Чуть больше, чем профессиональный рост и обучение, занявшие второе место. Более конкретно, американцы жаждут баланса между работой и личной жизнью больше, чем разработчики в других регионах, таких как Азия и Европа.
Баланс между работой и личной жизнью наиболее важен для разработчиков 25 лет и старше, и — неудивительно, что этот критерий занимает менее важное место для разработчиков между 18 и 24.
Гибкий рабочий график
Понятно, что баланс между работой и личной жизнью может значить для разных людей совершенно разные вещи. Именно поэтому исследователи углубились в тему того, что разработчики действительно хотят.
По большому счету, баланс между работой и личной жизнью может поддерживаться гибкими часами — графики с 10 утра до 8 вечера являются обычным явлением.
Разработчики хотят работать для менеджеров, которые ориентированы на результат, а не на время, проведенное в офисном кресле. И дистанционные варианты также полезны. Удаленная работа является особенно сильным желанием для разработчиков 25 и старше, и люди между 25 — 44 являются сильнейшими сторонниками закрытия электронной почты в нерабочее время.
Для студентов важен профессиональный рост
Профессиональный рост поднимается на первое место, которое студенты ищут работу, а компенсация также заметно падает с 3-й для профессионалов до 7-й позиции для студентов. Баланс между работой и личной жизнью по-прежнему важен для студентов, хотя он падает с первого до второго.
Студенты стремятся учиться и реализовать свой потенциал, поэтому на данный момент в их карьере приоритетное внимание уделяется балансу между работой и жизнью.
Между тем, стремление профессионалов к компенсации баланса между работой и личной жизнью показывает, как практический опыт открывает людям глаза на отрасль. Иногда стоит уделить немного времени себе, гибкости и общему душевному равновесию.
Методология
HackerRank провел исследование разработчиков с целью выявления тенденций в образовании, навыках и практиках найма. В общей сложности в опросе приняли участие 39 441 профессиональных и студенческих разработчиков. Опрос был организован SurveyMonkey и HackerRank, набиравших респондентов по электронной почте через профессиональные сообщества в социальных сетях численностью более чем 3,2 миллиона членов.