Я давно работаю в 1C, в разных ролях, прошла путь от программиста до руководителя отдела в компании 1С-франчайзи . В этой роли я активно занималась наймом и развитием начинающих специалистов.
Последние пару лет я веду практический курс, где готовлю новичков – джунов к реальной работе на проектах, в основном для компаний-франчайзи.
В этой статье я хочу рассказать:
-
Как найти толковых кандидатов в условиях избытка выпускников курсов;
-
С каким багажом приходят джуны после обучения на курсах – и что с этим делать;
-
Как научить их решать реальные задачи;
-
Как выстроить дорожную карту развития джуна и адаптировать ее под свою команду.
Это может быть интересно, в первую очередь, ведущим разработчикам, которые выступают наставниками или менторами в компаниях. А также руководителям команд, особенно во франчайзинге, где вопрос подготовки кадров особенно острый.
Первый вопрос, который возникает: зачем вообще этим заниматься? Почему бы просто не нанимать готовых специалистов? Думаю, ни для кого не секрет: сейчас острый кадровый голод в IT. Мидлы, джуны и сеньоры активно переходят из компании в компанию – их переманивают повышением зарплаты, бонусами, условиями. Если мы не будем сами готовить кадры, через несколько лет просто некого будет нанимать.
Я уверена, что в среднесрочной перспективе выиграют те компании, которые инвестируют в развитие джунов и выстраивают систему наставничества внутри.
Проблемы найма: как отсеять кандидатов и не упустить таланты
Поговорим о найме. Как это обычно происходит? Выкладываем вакансию на hh.ru и получаем сотни откликов.
Недавно мы набирали группу джунов для удаленной работы – на вакансию было около 550 откликов. Если ищете в офис – скажем, в Петербурге или Москве – количество может быть меньше: 150–200. Но все равно много.
И проблема в том, что резюме у всех почти одинаковые. Один шаблон, одни и те же технологии, проекты, формулировки. Все это напоминает анекдот про HR: сидит за столом, видит пачку резюме, берет половину – и выбрасывает в мусор. «Не повезло этим кандидатам, – говорит, – а неудачники нам не нужны».
Мы не можем адекватно проработать сотни откликов. Обычно смотрим первые десятки, кого-то приглашаем на собеседование – а до остальных просто не доходим. Такие кандидаты не «неудачники» – им просто не повезло оказаться в конце очереди.
Системный подход к отбору: воронка найма
Поэтому возникла потребность подойти к процессу системно. Не тратить кучу времени и при этом не упустить сильных кандидатов.
После нескольких итераций я пришла к определенной схеме – к воронке отбора, которую хочу вам представить.
Мы публикуем вакансию и сразу в ее тексте даем первое задание: «При отклике, пожалуйста, ответьте на следующие вопросы». Обычно это простые вопросы:
– Что вас привлекает в сфере 1С?
– Какой у вас опыт в программировании на 1С (включая учебный)?
– Есть ли опыт на других языках программирования?
Цель этого этапа – отсеять автоматические отклики и ботов. Мы хотим убедиться, что кандидат прочитал вакансию и проявил хотя бы минимальный интерес.
Далее тем, кто корректно ответил, мы отправляем тестовое задание по 1С. Оно преследует две цели:
-
Проверить базовые навыки написания кода.
-
Оценить способность искать решения самостоятельно – умение «гуглить», анализировать и справляться с задачами, с которыми человек ранее не сталкивался.
Мы сознательно включаем в тест задания со «звездочкой» – такие, которые джун, возможно, не решит сходу, но сможет проработать, проявив инициативу и логику. Главное – увидеть процесс мышления и подход к решению.
Например, по одной вакансии мы получили 222 отклика. Около 50% кандидатов не выполнили первое задание и были отсеяны уже на этом этапе. На графике это нижний синий слой «слоеного пирога».
Остальным – примерно 110 человек – мы направили тестовое задание. Здесь теряем еще 70–80%: они не прислали решение. В итоге до следующего этапа доходит около 7% от общего числа откликнувшихся.
На этом этапе мы начинаем рассматривать резюме. Первичного отбора по резюме не проводим – мы не отсеиваем кандидатов до проверки их ответов и теста. Только после прохождения этих этапов мы анализируем опыт, проводим собеседования и делаем офферы.
Мы вели постоянный набор – обновляли вакансию каждый месяц и прогоняли всех кандидатов через эту воронку. В среднем, один специалист в месяц выходил на работу.
Проблемы адаптации джунов на реальных проектах
Когда джун приходит в штат, мы не можем сразу подключить его к реальному проекту. Потому что человек приходит с курсов, где обучение, как правило, построено на работе с чистой конфигурацией – то есть с нуля, без чужого кода. Разработчик сам создает структуру, пишет весь код, сам управляет базой. Это удобно для обучения, но далеко от реальности.
Кроме того, формат курсов часто сводится к принципу: «Смотри, как я делаю – и делай так же». Курсы – коммерческий продукт, и важно быстро дать ученику ощущение успеха – «нажал кнопку – получил результат». Так формируется ложное ощущение мастерства.
На реальной работе джун сталкивается с типовой конфигурацией, в которой тысячи строк чужого кода. Теперь задача – не столько писать, сколько читать, понимать и вносить изменения в уже существующую логику. При этом работа ведется в команде, используются инструменты групповой разработки (хранилище или GIT), а задачи редко имеют четкий алгоритм решения.
В итоге джун приходит на первую работу с уверенностью в своих силах – возможно, даже с дипломом, где он значится как «профессиональный разработчик 1С». Но первые задачи ставят его в тупик. Он сталкивается с непонятным кодом, отсутствием пошаговой инструкции, необходимостью коммуницировать с командой.
Постепенно, конечно, человек включается в процесс. Но в начале ему нужно время, поддержка и правильная адаптация.
Этапы роста джуна: от стажера до самостоятельного специалиста
Стажером мы называем человека, который обладает теоретическими знаниями, но не имеет практического опыта коммерческой разработки. Мы даем ему простую задачу – например, создать печатную форму. Он будет выполнять ее долго, потому что в процессе учится: разбирается в платформе, ищет решения, допускает ошибки.
Но в следующий раз дело пойдет быстрее. Постепенно навык формируется.
Через какое-то время – обычно от 6 до 12 месяцев – мы получаем полноценного джуна. Это уже относительно самостоятельный специалист, способный решать типовые задачи с приемлемым качеством и в предсказуемый срок. Такого уровня мы достигали минимум за полгода.
И здесь возникло два вопроса:
-
Можно ли ускорить этот процесс? Например, чтобы джун вышел на нужный уровень не за 6–12 месяцев, а за 3.
-
Как увеличить вероятность того, что человек останется в компании? Ведь даже если он дойдет до нужного уровня, он может уйти через пару месяцев – потому что программирование оказалось сложнее, чем он думал или работа не соответствует его ожиданиям.
Поэтому вторая задача, которая перед нами стояла – повысить шансы на долгосрочное сотрудничество.
Мы хотели не просто нанять, а найти тех, с кем будем работать «долго и счастливо».
Новый подход: обучение до найма
Мы поменяли логику найма: вместо того, чтобы сначала нанимать, а потом обучать, мы стали сначала обучать, а потом уже предлагать работу.
Процесс начинается с обычной вакансии – те же тестовые задания, о которых я рассказывала ранее. Мы не проводим индивидуальные собеседования с каждым. Вместо этого формируем группу из 20–30 человек и приглашаем их на установочную встречу.
На этой встрече мы подробно рассказываем, что предлагаем: бесплатное обучение в течение 2,5 месяцев, ориентированное на прикладные, практические задачи.
– Участник ничего не платит.
– Это не работа, и мы не платим зарплату.
В конце программы – финальное собеседование с финалистами, с теми кто успешно освоил нашу программу. Им мы предлагаем трудоустройство в компании.
У меня есть данные по четырем таким потокам, проведенным для разных компаний.
Результаты стабильные: 3-5 финалистов на выходе. Мы можем взять всех или кого-то из них – в зависимости от потребностей команды. Конечно, такой формат нецелесообразен, если вам нужен один джун разово. В этом случае проще использовать традиционные каналы найма.
Но если у вас постоянный поток вакансий, и вы готовы брать по несколько человек одновременно – хотя бы 2–3 – тогда обучение до найма становится отличным инструментом. Это не только повышает качество входа, но и снижает риск текучки кадров.
Организация процесса обучения: имитация реальной работы
Теперь поговорим о том, что происходит внутри обучения – как мы устроили сам процесс. Как я уже говорила, обучение групповое. У нас есть пространство для коммуникации – это Telegram-чаты, а также специальная платформа с заданиями. Мы максимально имитируем реальную рабочую среду и погружаем участников в контекст.
У каждой задачи есть дедлайн, как в настоящей разработке. Участники могут обращаться за помощью – задавать вопросы коллегам, искать решения в интернете. Все, что разрешено в реальной команде, разрешено и здесь.
Обучение максимально практико-ориентированное. Мы не даем заданий вроде «создайте свою конфигурацию с нуля». Уже со второй недели участники работают с реальной типовой конфигурацией – в нашем случае это УТ 11. Они решают прикладные задачи, близкие к тем, с которыми сталкиваются джуны в работе.
Роль наставника в обучении джунов
Когда я разрабатывала программу, я сама составляла все практические задания. Что касается теории – я использовала только открытые источники. Потому что ситуация с доступом к знаниям сильно изменилась.
В мое время – я начала работать с 1С в 2008 году – выбор был невелик. У меня был только один учебник: – «1С:Предприятие 8. Практическое пособие разработчика» авторства Радченко. Альтернатив тогда почти не существовало.
Сегодня же огромное количество бесплатных материалов: видео на YouTube, статьи, Telegram-чаты, форумы, курсы. Проблема начинающего программиста не в дефиците знаний, а в избытке информации. Сложность – не в доступе, а в том, куда смотреть и с чего начать. Именно поэтому в моем Telegram-канале часто задают вопрос: «Зачем вообще нужен наставник, если все можно найти в интернете?»
И здесь меняется сама роль наставника. Нам больше не нужен преподаватель, который «вещает» теорию с экрана. Нам нужен наставник-проводник.
Его задачи:
-
Структурировать материалы – выстроить четкую дорожную карту обучения. Провести ученика максимально коротким путем к цели.
-
Давать обратную связь – и это, пожалуй, самое важное. Без обратной связи человек может работать месяцами, выполнять задачи, но не понимать, на правильном ли он пути. Никто не смотрит его код, не указывает на ошибки, не хвалит за успехи. Он теряется, теряет мотивацию.
-
Показать типовые приемы, лучшие практики, стандартные подходы к решению задач. Важная роль наставника – сократить время на «изобретение велосипедов».
Именно эту концепцию – наставник как проводник и фасилитатор роста – я постаралась реализовать в своей программе обучения.
Метод «перевернутого класса» в обучении программистов
Речь идет о методе «перевернутого класса», или flipped classroom – по-русски можно сказать «обратный формат обучения». Он называется перевернутым по отношению к классической модели.
В традиционной школе учитель на уроке рассказывает теорию, а домой дает практическое задание. В перевернутом классе – наоборот: сначала ученик сам изучает материалы дома (видео, статьи, документацию). А на «урок» он приходит, чтобы задать вопросы, обсудить сложные моменты и практиковаться под руководством наставника.
В применении к обучению джунов 1Сников это выглядит так:
– Мы даем задачу.
– Человек пытается ее решить: использует поисковик, задает вопросы, ищет решения.
– У задачи есть дедлайн – к нему нужно прислать результат.
– После этого мы вместе разбираем решения: как можно было сделать лучше, какие типичные ошибки, что работает, а что – нет.
Важно, что к моменту разбора человек уже попробовал решить задачу сам – даже если не дошел до конца или выбрал неоптимальный путь. У него уже возникли вопросы, появились гипотезы, он «примерился» к проблеме. И тогда мы даем информацию не в вакууме, а в ответ на конкретные запросы – не «вываливаем» знания, а помогаем осмыслить опыт.
Главная цель такого подхода – дать удочку, а не рыбу. Не просто показать: «вот как решается такая задача», а научить думать, анализировать и справляться с тем, с чем ты раньше не сталкивался.
Оценка soft skills в процессе обучения
Еще одна важная задача такого формата – оценка soft skills. За 2,5 месяца мы видим людей в действии. Наблюдаем, как они ведут себя в реальных условиях, близких к рабочим.
Мы обращаем внимание, например, на то, как человек задает вопросы. Здесь часто проявляются две крайности у начинающих специалистов.
– Первая – интроверт, которому сложно просить о помощи. Он заходит в тупик, часами пытается разобраться сам, но не спрашивает – из-за стеснения, страха показаться глупым или просто непривычки.
– Вторая – тот, кто каждые пять минут задает вопросы, не пытаясь сначала поискать ответ самостоятельно.
Мы ищем золотую середину – человека, который самостоятелен, но не изолирован, умеет вовремя обратиться за помощью и при этом уважает время других.
В процессе обучения в группе выделяются лидеры – те, кто не только решает свои задачи, но и помогает другим, отвечает на вопросы одногруппников. Таких тоже стоит отметить – это уже не только технические, но и командные качества.
Видно и то, как человек подходит к задаче:
– Кто-то просто выполняет ТЗ по пунктам, не задумываясь о сути.
– А кто-то – мыслит как аналитик: смотрит на результат, думает на шаг вперед, уточняет условия, ищет оптимальное решение.
Также мы оцениваем отношение к дедлайнам. Бывает так называемый «синдром студента» – все делается в последнюю ночь, как перед сессией.
А бывает – человек планирует, распределяет нагрузку, присылает решение заранее.
За 2,5 месяца у нас есть время, чтобы увидеть реальные паттерны поведения – гораздо больше, чем за 30–60 минут собеседования.
Поэтому выводы о человеке получаются значительно объективнее.
Чему учат джунов: дорожная карта и практические модули
Теперь поговорим о содержании обучения. Мы уже обсудили, как устроен процесс. Теперь – что в него входит.
У нас есть дорожная карта в формате mind map – ее можно будет скачать и посмотреть подробнее. Сейчас я кратко расскажу, как она устроена.
Обучение разбито на тематические модули, логически выстроенные по нарастанию сложности.
Начинаем с того, что джуну уже относительно знакомо: запросы, отчеты.
При этом мы не изучаем с нуля язык запросов – предполагаем, что базовые знания уже есть.
Акцент делаем на:
– стандартах разработки,
– типичных ошибках в запросах,
– приемах оптимизации.
Понятно, что речь идет не об уровне эксперта 1С, а о том, что доступно и полезно на уровне джуна: например, как избежать лишних циклов, правильно использовать соединения и не перегружать выборки.
Следующий модуль – отчеты. Задача, вроде бы, простая: «сделай отчет и подключи его к УТ». Но уже здесь человек сталкивается с реальной сложностью: нужно разобраться как минимум с двумя подсистемами БСП (БСП – библиотека стандартных подсистем):
– Дополнительные отчеты и обработки,
– Варианты отчетов.
Именно так мы выстраиваем все задания: даже на простой задаче – погружение в реальные механизмы типовой конфигурации. Например, задача в блоке по обменам данными – загрузить контрагентов вместе с их адресами.
Чтобы ее выполнить, нужно понять, как устроена контактная информация в УТ и других решениях на базе БСП:
– где и как хранятся данные,
– какие объекты используются,
– какие методы платформы помогут корректно их обработать.
Далее мы проходим:
– способы доработки типовых конфигураций – с расширениями и без,
– работу с формами, включая программную доработку,
– групповую разработку – как минимум, работу с хранилищем конфигурации (если в компании используются более сложные инструменты – их тоже можно включить).
Кроме того, стандарты разработки проходят сквозной темой через все модули. Мы изучаем их по частям, а на этапе код-ревью даем обратную связь – в том числе по соблюдению этих стандартов.
Как создать свою дорожную карту обучения
Готовых универсальных решений нет. Скорее всего, вам понадобится адаптировать подход под свою команду, проекты и уровень текущих задач.
За основу можно взять готовые карты компетенций – их много в интернете. Есть различные варианты: от общих до узкоспециализированных. Они хорошо подходят для вдохновения.
В статье есть ссылка на мою дорожную карту – можете посмотреть, развернуть, использовать как отправную точку. Но обязательно адаптировать под свои реалии.
Например, если в вашей компании много задач по интеграции 1С с внешними системами – скажем, с Bitrix или другими сервисами – тогда сделайте на этом упор. Включайте такие кейсы в практику.
Хорошая идея – опросить своих текущих джунов и мидлов, особенно тех, кто пришел в профессию недавно – год-два назад. Они еще помнят, с чем сталкивались на старте:
– каких знаний не хватало,
– какие задачи были сложными,
– где терялись,
– где нужна была помощь.
Именно их опыт помогает сделать обучение релевантным и практичным. У меня, кстати, несколько тем в программе появились именно благодаря таким беседам.
Заключение: важность наставничества и группового обучения
Подведу итоги. Во-первых – не бойтесь брать джунов. Кадровый вопрос стоит остро – и его нужно решать. Даже если у вас сейчас нет острой потребности в найме, а в команде есть специалисты, которым нужно расти, подумайте о групповом обучении как инструменте развития. Такой формат полезен не только для новичков, но и для всей команды.
Кстати, есть интересные исследования: например, при изучении иностранных языков индивидуальные занятия с преподавателем часто эффективнее групповых. А вот программирование, наоборот, лучше усваивается в группе. Общение, обмен опытом, помощь коллег – все это ускоряет обучение и мотивирует.
И самое главное – обратная связь. Обратная связь – ключевой фактор роста.
Давайте обратную связь по коду. Проводите код-ревью. Показывайте, где можно улучшить, но не забывайте говорить, что сделано хорошо.
Начинающий специалист должен понимать:
– где он ошибся,
– где он на правильном пути.
Без таких ориентиров очень сложно расти. В идеале этим должен заниматься наставник внутри компании. Если в команде нет свободного времени или компетентного человека – не беда. Сейчас есть платформы для поиска внешних менторов: например, GetMentor, Solvery – хорошие примеры.
И, кстати, радует, что на Инфостарте уже несколько статей было посвящено менторству. Это значит, что тема наставничества в 1С-сфере начинает активно развиваться.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.