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

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

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

Соотношение старших и младших разработчиков всегда было небольшим. Согласно известному анализу Боба Мартина, численность разработчиков программного обеспечения удваивается каждые пять лет. Однако в наши дни соотношение старших и младших разработчиков необычайно мало. В последнем опросе разработчиков StackOverflow разработчики с опытом работы менее 5 лет составляют почти половину демографической группы.

Традиционно компании стремились поддерживать баланс между количеством младших и старших разработчиков в штате. Идея заключалась в том, чтобы иметь достаточное количество старших разработчиков, чтобы они могли тренировать и направлять младших разработчиков и при этом могли сосредоточиться на своей собственной работе. Этот баланс нарушается.
В условиях жесткой конкуренции со стороны крупных игроков многие малые и средние компании отказываются от поиска старших разработчиков и предпочитают привлекать младших. Что это значит для малых и средних компаний?
Наличие команд, состоящих в основном из младших разработчиков, не обязательно является проблемой. Но это ситуация, которой необходимо управлять. Если у вас очень мало старших разработчиков, вы не можете рассчитывать на то, что они смогут тренировать и направлять младших разработчиков, сосредоточившись на собственной работе. Вы должны изменить свой подход к повышению квалификации младших разработчиков.
Большинство компаний не имеют надлежащих программ обучения для младших разработчиков. Они ожидают, что младшие разработчики каким-то образом смогут расти и учиться самостоятельно с помощью и под руководством своих более старших коллег. По моему опыту, это работает в определенных ситуациях, но это также оставляет позади многих способных разработчиков. Недавняя тема в Hackernews отразила чувства большинства разработчиков по поводу этой проблемы, и один из комментариев подытожил то, как многие из нас видят ситуацию:
Разработчики не тратят деньги на дорогие учебные курсы и сертификаты, чтобы получить навыки; мы просто нанимаемся куда-нибудь и затем донимаем своих коллег.

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

Как сделать обучение эффективным

Теперь важное замечание для руководителей предприятий: обучение сотрудников не означает, что им нужно пройти пару курсов на Udemy или Coursera. Большинство онлайн-курсов хороши для базового обучения, но реальную ценность приносит продвинутое обучение, разработанное с учетом ваших потребностей и проводимое в режиме реального времени экспертами в данной области. Вам необходимо ввести структурированное обучение как часть рабочей рутины, и вам нужны отраслевые эксперты для проведения обучения.

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

Преимущества обучения в реальном времени: обучение в реальном времени позволяет инструктору взаимодействовать с аудиторией, что дает следующие преимущества:

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

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

  • Аудитория может задавать вопросы во время лекции, если им что-то непонятно.

Обучение, адаптированное к вашим потребностям: замечательно провести курс по AWS, или Kubernetes, или GraphQL, или любой другой теме. Но если курс охватывает эти темы исключительно с общей точки зрения, велика вероятность того, что предоставляемый контент не отвечает потребностям вашей команды. Если вы планируете использовать GraphQL, расскажите преподавателю о своих сценариях использования, и он сможет адаптировать курс к вашим потребностям. Таким образом, обучение будет гораздо более эффективным для ваших сотрудников, поскольку они смогут соотнести свой опыт с ним и сразу же применить полученные знания в своей работе.

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

Но почему я должен вкладывать деньги в обучение своих сотрудников?

Многие компании считают, что инвестиции в обучение сотрудников — это пустая трата денег. В конце концов, корпоративные учебные семинары стоят дорого, а ваши сотрудники на несколько дней останутся «без работы». Но реальность далека от этого. По своему опыту могу сказать, что правильное обучение, проведенное правильным человеком, сэкономит вам десятки тысяч долларов. Да, отсутствие обучения — это скрытая цена.

Как это возможно? Рассмотрим случай с API, который является одним из предметов моей компетенции. Если вы поспрашиваете, большинство разработчиков ответят, что они хорошо понимают, как работают API и аутентификация API. И конечно, большинство разработчиков имеют достаточно хорошее представление о том, как работают API. В конце концов, мы постоянно работаем с API!

Но потребление API — это совсем другая задача, чем его создание. Подумайте об этом так: мы все умеем читать книги, но это не значит, что мы все писатели. Для того чтобы что-то создать, нужны особые навыки и знания. Когда дело доходит до API, общие пробелы в знаниях касаются доступных технологий API с их плюсами и минусами, стандартов документации, работы со спецификацией OpenAPI, синтаксиса JSON Schema, использования документации API для тестирования и проверки или запуска имитационных серверов, лучших практик проектирования конечных точек и моделирования ресурсов, безопасности и аутентификации API и многих других.

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

И это также дорого! Согласно опросу разработчиков StackOverflow за 2020 год, медианная зарплата бэкенд-разработчика в США составляет $120 тыс. Если предположить, что в году *примерно* 220 рабочих дней (11 месяцев х 20 дней), то пробелы в знаниях обходятся компаниям примерно в $2 700 на одного разработчика в неделю. А если предположить, что разработчик тратит только один месяц в году (обычно больше) на устранение пробелов в знаниях, то годовая стоимость составит примерно $11 тыс. В команде из десяти разработчиков затраты возрастают до $110 тыс. в год! Имейте в виду, что это консервативная оценка.
Этих растущих расходов можно избежать, включив обучение в ежедневную работу. Обучение дает экспертные знания и рекомендации для вашей команды. А еще оно делает команды счастливыми. Программное обеспечение — это отрасль, основанная на знаниях, и одна из причин, по которой разработчики уходят с работы, заключается в том, что они больше не учатся новому. Чтобы создать сильную, уверенную, счастливую и продуктивную команду, вам нужно принять обучение.


Если вам понравилась эта статья и вы хотите узнать больше о моей работе, пожалуйста, загляните на мои сайты:

  • Персональный сайт: https://www.joseharoperalta.com
  • microapis.io: https://microapis.io

Если вы хотите узнать больше о микросервисных API, ознакомьтесь с моей книгой «Микросервисные API». Вы можете использовать следующий код для получения 40% скидки: slperalta.

Вы также можете бесплатно скачать две главы по следующей ссылке: https://www.microapis.io/resources/microservice-apis-in-python.

Если вы работаете или планируете работать с API и хотели бы организовать тренинг или консультацию, пожалуйста, свяжитесь со мной по адресу: info@algorizm.co.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *