Сделали свой обучающий курс для разработчиков. Выпускать или нет?
Обучение для backend-разработчиков
Всем добра! Я руковожу агентством web/mobile разработки, поэтому заинтересован, чтобы моя команда росла в скиллах. Тем временем рынок меняется, постоянно выкатываются обновления, а найти действительно сильных специалистов все сложнее.
У нас есть запросы на PHP-бэкендеров, фронтендеров, проджектов и дизайнеров. На первых — самый большой, так как изначально костяк команды занимался созданием программных продуктов на Yii, Laravel и Symfony.
Сейчас из 300 кандидатов на вакансию Мидла откликаются лишь 1–2 человека, которые действительно им являются. Что уж, разработчики, претендующие на позицию Джуна, не знают даже базы. И как быть?
Можно взять и надеяться, что сотрудник обучится всему сам на внутренних песочницах, по рекомендуемым материалам и задавая вопросы старшим. На практике же ребятам нелегко заниматься самообразованием, иногда даже губительно, а лишний раз тревожить коллег они стесняются.
Можно отправить их на сторонние распиаренные IT-курсы. Но мы же понимаем, насколько общее представление в них дается. И часто оно не бьется с реалиями, особенно в разработке. В итоге — обучение пройдено, оплачено, а снова возвращаемся к неспособности закрывать боевые задачи.
Можно никого не нанимать и сидеть на месте, отказываясь от крупных проектов. Однако довольствоваться малым и не желать расти — это не про бизнес. Рано или поздно тебя просто съедят.
Мы нашли ответ в разработке своей программы повышения квалификации. Не только для того, чтобы закрыть проблему с нехваткой специалистов, но и чтобы разом прокачать всех участников команды.
Рассказываю, как выглядит создание курса изнутри и во сколько он нам обошелся.
Как разрабатывалась обучающая программа для бэкендеров
Разработка курса для backend
Инициатором создания курса выступил IT-директор компании Дмитрий. Он давно вынашивал идею о системе, которая даст свободу в выборе специалиста под проект. Ведь если все сразу находятся на одном высоком уровне, то есть уверенность, что с поставленными задачами справится любой из подопечных.
Дмитрия поддержали руководители отделов разработки (РОРы). Они распределили программу по блокам, чтобы каждый подготовил для слушателей то, в чем более силен.
Откуда взяли темы для обучения
При выборе наполнения своей программы мы не смотрели на уже имеющиеся рыночные курсы. Ориентировались сугубо на то, что необходимо нам, и логичность последовательности.
Анализировали скиллы команды и выявляли, что требует более глубокого изучения.
Раз в квартал мы проводим грейдирование, чтобы отслеживать динамику развития разработчиков и помочь им наглядно увидеть, что нужно подтянуть в хардах. Ребята отвечают на вопросы, которые составляются под заявленный грейд, и выполняют практическое задание. Потом мы смотрим на результаты и фиксируем нынешний уровень навыков для дальнейшей стратегии индивидуального роста.
Исходили из опыта на проектах старших специалистов.
«Чтобы определиться с направлениями курса, я открыл гугл док и начал записывать все, что хотел передать ребятам. Был момент, когда я без конца дополнял этот список — пришлось самого себя останавливать. Иначе мы бы не смогли закончить обучение в адекватные сроки. К тому же это наш дебютный курс, поэтому решил дать те знания, которые наиболее актуальны для рабочих реалий и востребованы на рынке.»
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-директор Дмитрий и руководители отделов разработки Даниил и Михаил. Каждый рассказывал ту тему, которую готовил.
»Изначально я планировал вести лекции с планшета, но в итоге от такого формата отказался — было не очень удобно. Поэтому выбрал другой вариант — перечитывать материал перед занятием и повторять ключевые моменты. Конечно, был определенный страх перед выступлениями, например, если что-то забуду или растеряюсь при ответе на вопрос. Моей мотивацией стало повышение квалификации не только других разработчиков, но и своей собственной, личностностной.»
РОР
В первой части курса сотрудникам давались домашние задания для закрепления информации. Чаще всего это был нерабочий код, который нужно отрефакторить. Кстати, зафиксировано несколько случаев, когда ребята прошли тему и на следующий же день применяли знания в проектах.
Отрывок из ДЗ
Дмитрий сделал еще один способ проверки усвоения материала. Назвал его »Генерал знаний» — участники получали батончики Mars за правильные ответы по прошлому материалу и самый интересный вопрос в конце занятия. Возможно, этот формат кому-то покажется детским, но он работал: разработчики не боялись задавать любые вопросы и лучше запоминали сказанное.
Внутренние сертификаты о прохождении обучения
В конце обучения мы провели контрольное тестирование. Нам было важно понять, как ребята прослушали программу и что закрепили. По результатам всем ученикам выдали сертификаты о прохождении курса.
Условия прохождения курса для сотрудников
Чтобы проделанная работа не оказалась напрасной, с каждым обучающимся заключили ученический договор. Ключевое условие соглашения — проработать в компании 1,5 года после прохождения программы. Если специалист покинет команду по своей инициативе, то должен возместить обучение полностью или частично. Стоимость курса для одного разработчика мы оценили в 130 тысяч рублей.
Этот пункт принес пользу и HR-отделу: выявили тех ребят, кто потенциально может уйти.
Проблемы в создании собственного курса
При разработке любого решения возникают сложности, и корпоративное обучение — не исключение.
Где найти ресурсы?
Я боялся дополнительно нагружать руководителей, чтобы не отнимать у них время, рассчитанное на клиентские проекты. Но им самим была интересна подготовка, поэтому мы договорились о партнерстве в правообладании обучающей программой и вышли за пределы рабочего графика.
Ребята потратили около 4 месяцев, чтобы создать полноценный курс. И все равно что-то дорабатывалось уже в процессе обучения. Это и не хорошо, и не плохо — просто факт, что требуются огромные человеческие ресурсы. К тому же мы записывали занятия на камеру, поэтому добавляется время на обработку видео и минимальный монтаж.
Кто будет вести лекции?
Создать курс — одно дело, другое — грамотно его преподнести.
Если уроки ведет эксперт без педагогических навыков, значит, есть большой риск, что обучение пройдет безрезультатно. Профессионалы в сложных областях нередко объясняют материал запутанно, не упрощая подачу и стараясь передать как можно больше.
Привлечение коуча тоже имеет негативные последствия. Сторонний спикер может представить материал более структурировано и доступно, но нет гарантии, что он глубоко владеет темой курса. Это приведет к тому, что приглашенный человек не ответит на все вопросы учеников и потеряет авторитет в их глазах.
Нам в этом плане повезло — преподавателями стали те, кто разрабатывал обучение. Наши руководители постоянно общаются с клиентами и привыкли говорить на понятном языке.
Как мотивировать сотрудников?
В коллективе всегда найдутся люди, которые не проявляют интерес к получению новых знаний.
Причины на это разные:
удовлетворенность текущим уровнем навыков и отсутствие потребности в развитии;
страх неудач или неуверенность в своих способностях, опасение показать некомпетентность перед коллегами;
недостаток ресурсов, времени или финансов для обучения;
отсутствие поддержки со стороны руководства.
Способы мотивировать сотрудников на обучение
Чтобы мотивировать сотрудников, помимо перспектив к повышению ЗП с ростом скиллов, важны и нематериальные стимулы. Один из таких — перенятие опыта от востребованного специалиста.
Представьте, Сеньор раскладывает по полочкам все знания, которые он приобрел за десять с лишним лет в боевых задачах. Вам не придется закапываться в документации и огромных статьях — нужно прослушать лекции и взять то, чего не хватает для развития.
Что получили в итоге и сколько потратили
Официально курс завершился 20 сентября 2024 года. Мы сразу убедились в его пользе на наших разработчиках. Многие советы и моменты они ежедневно применяют в решении задач. И теперь смотрят на определенные участки кода под другим углом.
Заключительный в 2024 году грейд показал, что результаты у тех, кто прослушал лекции, улучшились.
При разработке занятий и изучении материалов прокачивались и сами РОРы. Как говорится: «Хочешь в чем-то разобраться — научи этому других») На самом деле здесь речь про «освежить память» и набустить софт-скиллы.
Корпоративное обучение также является плюсом для отдела кадров. Курсы от работодателя привлекают соискателей, которые заинтересованы в профессиональном развитии. Талантливые специалисты склонны оставаться в компаниях, которые инвестируют в рост их навыков.
Итоговая себестоимость нашего курса — 485 000 рублей. Она рассчитана из часов руководителей, которые затрачены на подготовку.
На данный момент «Программа повышения квалификации PHP-разработчиков» доступна только сотрудникам агентства. Но я уверен, что она может быть полезна и другим бэкендерам.
Сейчас размышляем над тем, выпустить или нет курс в общий доступ. Что думаете?