Сегодня хочется поговорить про обучение с точки зрения заведения этой практики в компании.
Будет набор всяких мыслей, местами капитанских.
Конференции — это не обучение. Эту мысль часто приходится напоминать разным менеджерам. ⬇️
Конференция несомненно может научить чему-то новому или можно в кулуарах спросить совета. Но это обучение стихийное. Нет никакой гарантии, что человек на конференции чему-нибудь научится, а тем более, научится чему-то полезному здесь и сейчас.⬇️
Конференция — это про вдохновение и мотивацию, для некоторой категории людей — про нетворкинг. Но отправляя своего разработчика на конференцию невозможно предсказать, с какими идеями он вернется с нее.⬇️
А надо ли обучать?
Если мы говорим про стажеров-джунов, то обучать, безусловно, надо. Потому что на низких грейдах компания обычно тратит ресурсов на разработчика больше, чем получает от него пользы. ⬇️
Что касается обучения людей уровня от мидла и выше есть две скользкие дорожки и искусство в том, чтобы находиться между ними. С одной стороны от мидла уже можно отстать с ожиданием технического роста — пользу приносит и ладно. ⬇️
С другой стороны, есть риск всей компанией скатиться в унылое болото, где все сидят на пригретых местах и им норм, когда весь окружающий мир ушел далеко вперед. Тут еще появятся проблемы с наймом.⬇️
Что будет, если не обучать?
Несколько вариантов видела:
- разработчик обучится сам, тому, что в этой компании неприменимо → уйдет туда, где применимо
- Разработчик обучится сам, тому, что в этой компании неприменимо → применит неприменимое и уйдет в закат ⬇️
- Разработчик не обучится → весь мир уже пишет фронт на фреймворках, а разработчик умеет только в jQuery
- Разработчик не обучится, его пример заразит остальных и они тоже перестанут технически развиваться → получили команду однородного желе, которая движется по инерции ⬇️
- Разработчик обучится актуальным этой команде вещам → вам очень повезло!
Примеры основаны на реальных событиях, понятно, что соотношение хороших исходов и плохих может быть разным, в зависимости от разных факторов. Но мне однозначно одно: компании важно заниматься обучением ⬇️
Как обучать? Тут расскажу про наш опыт, будет хорошо, если его кто-то возьмет себе на заметку или расскажете мне, как у вас это устроено.
4.1) Обучение начинается с тех, кто (еще) не работает с нами. Для этогом мы делаем курсы (и свой бакалавриат) в универах... ⬇️
...у нас есть своя учебная платформа ulearn.me, проводим школы программирования (kontur.ru/edu), курсы тестировщиков и аналитиков. ⬇️
До коронавируса была интересная практика собирать в каком-нибудь регионе пару десятков ребят, которые проходили отбор, увозить их в лес на какую-нибудь базу под городом и неделю учить их всякому с утра до ночи — мы называли это Кампус. Все это, конечно, бесплатно для учащихся ⬇️
Обучением студентов и новичков мы готовим себе стажеров и повышаем общий уровень разработчиков в регионе. От этого люди на рынке становятся компетентнее и всем становится лучше. ⬇️
4.2) Стажеры. Перед стартом стажировки есть дополнительное обучение. Но самое главное, что мы можем сделать для обучения стажеров — курсы для их наставников. Перед тем, как взять себе стажера каждый будущий наставник проходит обучение про обратную связь,... ⬇️
... про что надо не забыть рассказать, как часто надо общаться, какие задачи стоит выбрать и что делать, если что-то идет не так. Стажеры делают обычные рабочие задачи, узнают, как устроена промышленная разработка и дополнительно их обучать не надо пока. ⬇️
4.3) Новички компании. Про ребят с рынка понятно, что они имеют супер разный опыт. И если нарисовать схему известных опытному разработчику знаний, то получится амеба — во все стороны торчат ложноножки тех тем, про которые человек знает глубже. ⬇️
А какие-то «каждый-должен-знать»-темы прошли мимо или уже забылись. Поэтому мы пошли по такому пути: не спрашивать специфические знания на собеседованиях, проверять умение программировать на искомом языке и кругозор. А специфические знания мы дадим на входе, если их нет ⬇️
Обучение для новичков добровольно-принудительное — для высоких грейдов полностью добровольное, для низких — скорее принудительное, хотя отказаться, конечно, можно и ничего за это не будет. Например, у фронтендеров мы не проверяем знания фреймворка, потому что реакту научим сами⬇️
4.4) «Старички» компании. Как минимум, у разработчика любого уровня должна быть возможность обучаться. В хорошем случае разработчик знает, чему ему надо научиться. Тогда можно найти подходящие обучения или из существующих в мире, или позвать в компанию эксперта, чтобы он научил⬇️
Чаще разработчик не знает, чему конкретно хочет обучаться, а просто «хочется». На этот случай есть список всяких имеющихся и регулярно проводящихся обучений. От «Чистого кода» до тренинга по фасилитации. ⬇️
Но самый идеальный вариант получается, когда амебки-разработчики рассказывают друг другу, как они отрастили такую классную псевдоподию. И для этого в компании должна сложиться культура «делиться всем интересным — важно и нужно» ⬇️
И запилить такую культуру среди программистов — моя задача :)
То есть раньше я занималась контентом для известного списка обучений, а теперь уровень неопределенности вырос и обучать надо тому, чтобы все обучали друг друга.
Вероника Самохина