Сделали свой обучающий курс для разработчиков. Выпускать или нет?

Обучение для backend-разработчиков

Обучение для backend-разработчиков

Всем добра! Я руковожу агентством web/mobile разработки, поэтому заинтересован, чтобы моя команда росла в скиллах. Тем временем рынок меняется, постоянно выкатываются обновления, а найти действительно сильных специалистов все сложнее.

У нас есть запросы на PHP-бэкендеров, фронтендеров, проджектов и дизайнеров. На первых — самый большой, так как изначально костяк команды занимался созданием программных продуктов на Yii, Laravel и Symfony.

Сейчас из 300 кандидатов на вакансию Мидла откликаются лишь 1–2 человека, которые действительно им являются. Что уж, разработчики, претендующие на позицию Джуна, не знают даже базы. И как быть?

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

  • Можно отправить их на сторонние распиаренные IT-курсы. Но мы же понимаем, насколько общее представление в них дается. И часто оно не бьется с реалиями, особенно в разработке. В итоге — обучение пройдено, оплачено, а снова возвращаемся к неспособности закрывать боевые задачи.

  • Можно никого не нанимать и сидеть на месте, отказываясь от крупных проектов. Однако довольствоваться малым и не желать расти — это не про бизнес. Рано или поздно тебя просто съедят.

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

Рассказываю, как выглядит создание курса изнутри и во сколько он нам обошелся.‎

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

Разработка курса для backend

Разработка курса для backend

Инициатором создания курса выступил IT-директор компании Дмитрий. Он давно вынашивал идею о системе, которая даст свободу в выборе специалиста под проект. Ведь если все сразу находятся на одном высоком уровне, то есть уверенность, что с поставленными задачами справится любой из подопечных. 

Дмитрия поддержали руководители отделов разработки (РОРы). Они распределили программу по блокам, чтобы каждый подготовил для слушателей то, в чем более силен.

Откуда взяли темы для обучения

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

  1. Анализировали скиллы команды и выявляли, что требует более глубокого изучения.

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

  1. Исходили из опыта на проектах старших специалистов.

«Чтобы определиться с направлениями курса, я открыл гугл док и начал записывать все, что хотел передать ребятам. Был момент, когда я без конца дополнял этот список — пришлось самого себя останавливать. Иначе мы бы не смогли закончить обучение в адекватные сроки. К тому же это наш дебютный курс, поэтому решил дать те знания, которые наиболее актуальны для рабочих реалий и востребованы на рынке.»‎

eaad5f39b23ee414b5f5f754db93a65d.pngДмитрий

IT-директор

Как работали над структурой корпоративного курса

Наше обучение направлено именно на повышение квалификации бэкендеров, а не ввод в профессию. Руководители включили в него углубленные блоки, которые без базовых знаний сложно воспринимать. Но на старте Дмитрий специально для разогрева поставил урок «История создания языка программирования PHP»‎, чтобы разработчики плавно вошли в учебный процесс.

Создатели курса поставили себе цель — не день без слайда, чтобы ускорить его подготовку. Понятно, что были загруженные дни, когда заняться «творчеством» не получалось. Но благодаря такому девизу процесс практически не останавливался.

На выходе получилось 5 модулей, которые включают 47 занятий:

Какими информационными источниками пользовались

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

Для модуля «Архитектура‎» Дмитрий не ограничивался окружением PHP, а взял данные, что связаны с Java и C#. В них лучше описаны базовые принципы структуры кода, которые присущи всем высокоуровневым языкам.

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

  • «Рефакторинг: улучшение существующего кода», Мартин Фаулер;

  • «Принципы, паттерны и методики гибкой разработки на языке C#», Роберт Мартин и Мика Мартин;

  • «Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин;

  • «Чистый код: создание, анализ и рефакторинг», Роберт К. Мартин;

  • Implementing Domain-Driven Design и Domain-Driven Design Distilled, Вон Вернон;

  • Domain-Driven Design: Tackling Complexity in the Heart of Software, Эрик Эванс;

  • «Паттерны объектно-ориентированного проектирования», Эрих Гамм, Ричард Хелм, Ральф Джонсон и Джон Влиссидес.

Каждый сторонний аспект, который хотели донести спикеры, трижды проверялся.

Как проходило обучение

Официально курс стартовал 18 марта 2024 года. Формат занятий выбрали классический — оффлайн-лекции два раза в неделю с возможностью подключения онлайн. В среднем урок длился в рамках академического часа — 45–50 минут.

Слайд из видеоурока

Слайд из видеоурока

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

Спикерами стали сами создатели курса: IT-директор Дмитрий и руководители отделов разработки Даниил и Михаил. Каждый рассказывал ту тему, которую готовил.

»‎Изначально я планировал вести лекции с планшета, но в итоге от такого формата отказался — было не очень удобно. Поэтому выбрал другой вариант — перечитывать материал перед занятием и повторять ключевые моменты. Конечно, был определенный страх перед выступлениями, например, если что-то забуду или растеряюсь при ответе на вопрос. Моей мотивацией стало повышение квалификации не только других разработчиков, но и своей собственной, личностностной.»

008a8524362e7bc9b5e08f33aa4416e6.jpgДаниил

РОР

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

Отрывок из ДЗ

Отрывок из ДЗ

Дмитрий сделал еще один способ проверки усвоения материала. Назвал его »‎Генерал знаний» — участники получали батончики Mars за правильные ответы по прошлому материалу и самый интересный вопрос в конце занятия. Возможно, этот формат кому-то покажется детским, но он работал: разработчики не боялись задавать любые вопросы и лучше запоминали сказанное.

Внутренние сертификаты о прохождении обучения

Внутренние сертификаты о прохождении обучения

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

Условия прохождения курса для сотрудников

Чтобы проделанная работа не оказалась напрасной, с каждым обучающимся заключили ученический договор. Ключевое условие соглашения — проработать в компании 1,5 года после прохождения программы. Если специалист покинет команду по своей инициативе, то должен возместить обучение полностью или частично. Стоимость курса для одного разработчика мы оценили в 130 тысяч рублей. 

Этот пункт принес пользу и HR-отделу: выявили тех ребят, кто потенциально может уйти.

Проблемы в создании собственного курса

При разработке любого решения возникают сложности, и корпоративное обучение — не исключение.

Где найти ресурсы?

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

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

Кто будет вести лекции?

Создать курс — одно дело, другое — грамотно его преподнести. 

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

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

Нам в этом плане повезло — преподавателями стали те, кто разрабатывал обучение. Наши руководители постоянно общаются с клиентами и привыкли говорить на понятном языке. 

Как мотивировать сотрудников?

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

Причины на это разные:  

  • удовлетворенность текущим уровнем навыков и отсутствие потребности в развитии;

  • страх неудач или неуверенность в своих способностях, опасение показать некомпетентность перед коллегами;  

  • недостаток ресурсов, времени или финансов для обучения;  

  • отсутствие поддержки со стороны руководства.

Способы мотивировать сотрудников на обучение

Способы мотивировать сотрудников на обучение

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

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

Что получили в итоге и сколько потратили

Официально курс завершился 20 сентября 2024 года. Мы сразу убедились в его пользе на наших разработчиках. Многие советы и моменты они ежедневно применяют в решении задач. И теперь смотрят на определенные участки кода под другим углом. ‎

Заключительный в 2024 году грейд показал,   что результаты у тех, кто прослушал лекции, улучшились.

При разработке занятий и изучении материалов прокачивались и сами РОРы. Как говорится: «Хочешь в чем-то разобраться — научи этому других‎»‎) На самом деле здесь речь про «освежить память» и набустить софт-скиллы.  

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

Итоговая себестоимость нашего курса — 485 000 рублей. Она рассчитана из часов руководителей, которые затрачены на подготовку. 

На данный момент «Программа повышения квалификации PHP-разработчиков» доступна только сотрудникам агентства. Но я уверен, что она может быть полезна и другим бэкендерам.

Сейчас размышляем над тем, выпустить или нет курс в общий доступ. Что думаете?

© Habrahabr.ru