Потратить миллион, чтобы нанять двух джунов: профит и около него

Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). 

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

Предпосылки

Вторая половина этого года для УБРиР ознаменовалась значительным ростом потребности в разработчиках разного уровня. При этом зарплатные ожидания кандидатов взлетели на такие высоты, откуда землю-матушку уже и не разглядеть. Как не разглядеть и собственных проблем в элементарных знаниях.

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

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

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

Итог: и те, и другие не подходили для наших масштабных работ. Большие мускулы, но тоненькие ножки. Таких специалистов можно нанять и переучить, но они просят большие деньги. И процесс обучения не стоит того. Так появилась идея самим подготовить себе кадры.  

Когда учил только Spring, но пропускал лекции по Java Core

О сроках

Обучение в первой школе длилось 4 месяца, во второй — в 4 раза меньше. Почему мы решили сократить сроки обучения? Первая причина упирается в деньги: бюджет банка не резиновый. Лектор, проверка домашних работ – все это затраты, которые увеличиваются с продолжительностью курса. Вторая – время текущих сотрудников. Мы не хотели затягивать обучение, чтобы долго не отвлекать сотрудников с домашками и дополнительной нагрузкой. 

Правда, потом мы очень пожалели, что сильно сократили сроки обучения во второй школе. Ребята не успевали сделать домашние задания, и в итоге — подготовиться к дипломной работе. Хотя в результате ребятам немного “свезло”: из-за больничного и отпуска лектора у студентов образовался зазор, во время которого они успели нагнать программу и закрыть свои “хвосты”.  

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

Воронка

Первое звено: 55 сотрудников + 7 внешних кандидатов

Первый отклик от сотрудников на открытие школы Java — 55 человек. Разработчики PHP/Oracle/АВAP, аналитики, ребята из техподдержки и сотрудники самого банка заполняли анкету, чтобы разобраться, зачем им школа и как они будут применять полученные знания в работе. 

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

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

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

Второе звено: 8 сотрудников + 7 внешних кандидатов.

За два потока школы прошли 21 человек. В первый поток мы включали только сотрудников, так как нам требовались погруженные в банковские процессы люди. Мы не были готовы обучать новичков, для них элементарно не нашлось бы менторов. Сотрудников выбирали по следующему принципу: у кого сейчас в проекте есть Java или кто мог бы мигрировать со своего проекта на Java-проект. К слову, часть сотрудников собиралась сменить компанию именно из-за стека, они хотели перейти на другую технологию, но у нас пока не было такой возможности. О планах некоторых сотрудников покинуть УБРиР мы узнали позже, и большой радостью стало, что школу мы уже запустили и взяли конкретных сильных людей, избежав затрат на подбор, адаптацию и закрытие кадровых дыр в проектах.

Второй поток мы разделили на две части: текущие сотрудники и кандидаты, когда-то не прошедшие собеседование в компанию. У нас сохранился список начинающих разработчиков, которые не смогли пройти техническую часть собеседования, но были потенциально перспективными и приятными людьми. Рекомендую: договаривайтесь о возможном сотрудничестве с потенциально подходящими приятными кандидатами заранее, когда у вас только появляются мысли об обучении. Это сократит время на подбор студентов. 

Третье звено: джава-разработчики 5 сотрудников + 2 внешних кандидата

Стратегия брать в студенты сотрудников не дает 100% прохождения воронки. Три человека в первом потоке не стали менять проект и пересаживаться на Java, хотя прошли обучение до конца и защитили диплом. Мы связали это с тем, что человек не хотел уходить из конкретной команды и готов вернуться к коду на Java, когда мы будем добавлять технологии Java в его команде.

Из внешних кандидатов мы взяли двух лучших учащихся и определили в команды. Я не был удивлен этими результатами и даже не ожидал принять больше. Да и больше джунов мы бы просто не устроили в команды. 

Не стоит ждать, что после обучения к вам придет большой поток сотрудников, мы, например, закладывали 20%. Если у вас был такой опыт — поделитесь, каким оказался процент трудоустройства с курсов или внешнего обучения. К слову, у онлайн-школ примерно 10% учеников находят работу.

Как строилось обучение

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

Занятия проходили два раза в неделю по 3 часа. плюс домашние задания. Задания проверялись так: выполненное задание заливается в git-репозиторий, преподаватель проверяет и дает комментарий. Мы отказались от платформы для общения ученик-учитель, в пользу git-репозиториев и общих чатов. Так ученики получали ответы в чатах быстрее и могли помогать друг другу, а отправка заданий создавала привычку использования гита.они показались нам слишком песочницами. 

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

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

Столкнулись мы и с другой проблемой – временные и финансовые ограничения отбросили часть программы. Ниже приведу программу месячного курса второго потока.

(скрываемый-раскрываемый раздел)

  1. Основы объектно-ориентированного программирования 

  2. Реализация ООП в Java

  3. SOLID принципы

  4. Коллекции

  5. Потоки

  6. Исключения

  7. Тестирование

В первом потоке дополнительно изучались Spring Boot и Hibernate

Когда строите школу, отвечайте на вопросы:

1. какой уровень знаний и опыта у аудитории; 

2. что для них будет полезной информацией, а на что вы просто потратите ресурсы;

3. есть ли внутренние возможности самим давать эти знания или лучше привлечь партнера.

И что же в итоге? 

Что в результате мы получили:

  • 5 “официальных” джавистов  и 10 амбассадоров, способных включаться в разработку на Java в случае необходимости; 

  • 2 новых сотрудника-джуна;

  • база знаний для аналитиков и всех желающих поднять свой уровень образования; 

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

О последнем пункте расскажем подробнее. Школа получилась вовлекающей: несколько МР-ов выступили перед студентами и рассказали о своих командах. Кроме этого специалисты банка прочитали студентам лекции про использование системы контроля версий и использование системы багтрекинга, а аджайл-коучи организовали тренинг про жизнь в аджайл. Почему это было полезно? Во-первых, внешние ребята лучше узнали структуру команд. Во-вторых, такой формат обучения стал первыми шагами в построении комьюнити банка. Но это совсем другая история)

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

Собирайте лекции и дополнительные материалы в отдельную папку с удобной навигацией. Когда вас начнут расспрашивать “а где посмотреть можно?”, вы скажете себе спасибо)

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

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

Ну и о профите

Планируя обучение, мы рассматривали за основу принцип Парето, принцип 80/20. Превышение целевого показателя в 20% можно рассматривать как несомненный успех проведенных мероприятий. Первый поток: на входе 6 сотрудников, из них 3 стали разработчиками на Java

Второй поток: на входе 7 сотрудников, 2 разрабатывают на Java; на входе 8 внешних кандидатов, из них 2 приняты разработчиками в штат банка. Хочется добавить, что у нас оказалось более продуктивным внутреннее обучение, а не набор извне. Мы решили не брать на себя обучение новичков, но интегрировать с помощью стажировок тех, кто уже где-то учился и готов к развитию. Оставим внутренние школы, чтобы поднимать уровень знаний собственных сотрудников, этот вариант оказался самым благоприятным.


ссылка на оригинал статьи https://habr.com/ru/company/ubrr/blog/599973/

Добавить комментарий

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