Управление большой командой начинающих разработчиков (практические советы)

14.08.25

Команда - Лидерство

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

Меня зовут Дмитрий Фомин. Я работаю в компании DNS с 2006 года. С 2010 года прошел путь от начинающего разработчика до CTO одного из направлений. DNS – довольно крупная компания и лидер на рынке цифровой техники в России. В ее инфраструктуре функционирует множество систем, построенных на платформе 1С:Предприятие.

 

Крупнейшая система и дефицит кадров

 

Самая масштабная система в компании – УБД. Ее объем составляет около 40 терабайт, а в разработке и сопровождении задействовано порядка 200 программистов 1С. Многие годы компания DNS активно росла, и в какой-то момент столкнулась с острым дефицитом специалистов 1С на локальном рынке – в городе Владивостоке. Чтобы закрыть потребность в кадрах, компания приняла решение организовать собственные обучающие курсы.

 

Успешный эксперимент: обучение внутри компании

 

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

 

Задача: управление командой с преобладанием новичков

 

Направление «Логистика» отвечает за все процессы, связанные с перемещением товара – от поставщика до конечного клиента. Это одно из стратегических направлений, которое регулярно получает амбициозные планы по развитию. Для реализации масштабных изменений потребовалось быстро увеличить ресурсы команды разработки.

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

 

Цель статьи: советы начинающим лидам

 

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

 

Основные проблемы в командах с новичками

 

Прежде всего – высокая нагрузка на руководителя и старших разработчиков. Из-за этого они вынуждены уделять новичкам недостаточно внимания. Также возникает сложность с подбором задач, адекватных уровню начинающего специалиста. Все это приводит к тому, что новички медленно адаптируются, долго входят в рабочие процессы и слабо разбираются в архитектуре и методах разработки. В итоге многие задачи реализуются с задержками и низким качеством.

 

Общие стратегии решения проблем

 

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

 

Эффективное наставничество: почему джуны – лучшие наставники

 

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

Что делать, если в команде подавляющее большинство – новички? Если каждый опытный разработчик будет курировать по несколько новичков, у него просто не останется времени на выполнение своей основной работы. В такой ситуации не бойтесь привлекать в наставники программистов с опытом 6–9 месяцев.

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

А можно ли сравнить такого джуна-наставника с опытным синьором? Разве знает он какие-то глубинные особенности платформы, какие-то хитрые приемы разработки? Нет – это и не нужно, потому что у нас нет цели сделать из новичка супер-специалиста за три месяца. Нам необходимо, чтобы новичок быстро адаптировался в команде и освоил базовые навыки, при этом без сильного влияния на команду. И с этой задачей джун-наставник отлично справится.

Нужно ли заставлять всех быть наставниками? Нет, потому что многие программисты не готовы взаимодействовать с остальными участниками в такой роли. Но важно доносить до команды, что от наставничества выигрывает не только новичок, но и сам наставник. Когда что-то объясняешь другому человеку, начинаешь сам это лучше понимать.

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

 

Долгосрочное наставничество и ротация

 

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

 

Теория и практика: как давать задачи новичкам

 

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

Да, полезно и нужно давать время от времени задачи на «растягивание» – такие, где нет детального описания, и требуется самостоятельно разобраться в проблеме. Однако в первый год работы таких задач должно быть минимальное количество. Основная часть заданий должна содержать подробное и понятное описание того, что именно нужно сделать. Декомпозируйте задачи так, чтобы их планируемое время реализации не превышало 10–12 часов. Чем меньше и проще задача – тем легче новичку понять, что от него требуется, и тем проще контролировать ход ее выполнения.

 

Проработка технических заданий и вовлечение команды

 

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

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

 

Культура самостоятельности и помощи

 

С самого первого дня работы программист должен усвоить: перед тем как задать вопрос, нужно сначала попытаться найти ответ самостоятельно. Если за разумное время это сделать не удается – тогда уже стоит обратиться за помощью.

Алгоритм поиска ответа можно выстроить следующим образом:

– сначала изучить документацию,

– затем заглянуть в код,

– проверить, как решались похожие задачи ранее,

– обратиться к наставнику,

– если он не в курсе – к другим коллегам или руководителю.

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

 

Техническое ревью перед началом кода

 

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

 

Ревью кода как инструмент качества и обучения

 

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

Преимущества этого очевидны: повышение устойчивости системы (бас-фактора), выявление ошибок до публикации, рост качества кода, распространение командной культуры и обучение.

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

 

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

 

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

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

 

 

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

 

Автономность команды: как избежать зависимости от руководителя

 

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

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

Еще лучше – настроить систему так, чтобы они могли брать только те задачи, которые соответствуют их уровню и не заблокированы другими задачами.

 

 

 

Делегирование и устранение узких мест

 

Конечно, речь идет не о новичках. Им задачи по-прежнему должны выдавать наставники – по тем же правилам и из того же бэклога.

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

 

База знаний: ключ к быстрой адаптации

 

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

 

Преимущества описанных процессов

 

Благодаря такой системе новичок может самостоятельно находить ответы на свои вопросы, быстро понимать, что и когда нужно делать, и к кому обратиться в случае необходимости. Эти материалы полезны не только для новичков – опытные разработчики тоже могут к ним обращаться. В результате у всей команды формируется единое понимание процессов, сокращается время на непродуктивное взаимодействие и снижается вероятность сбоев при реализации задач.

 

Примеры из практики: BPMN, код-ревью, план обучения

 

В нашей базе знаний, например, есть три типичных примера. Во-первых – процессы, описанные в нотации BPMN, с наглядной схемой:

 

 

Во-вторых – статья по код-ревью:

 

 

В-третьих – это план изучения материалов для новых сотрудников. Следуя по нему, новичок последовательно знакомится с теми материалами, которые мы считаем необходимыми. Ссылку на первую статью из этого плана можно отправлять новому сотруднику в день выхода – в виде приветственного письма на почту.

 

 

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

 

Специализация: от скептицизма к признанию

 

По возможности стоит вводить специализацию: программисты должны фокусироваться на конкретных механизмах и бизнес-процессах. Это помогает им быстрее осваивать сложные области и эффективнее расти до уровня опытных разработчиков.

Раньше я считал, что специализация – это скорее вред, чем польза. Мне казалось, что чем больше механизмов и процессов "потрогает" программист, тем быстрее он станет опытным. Однако, внедрив сначала базовую, а затем и более глубокую специализацию, я осознал, что ошибался. Именно глубокое погружение в конкретные области помогает разработчику быстрее становиться настоящим экспертом.

 

Баланс специализации: избегайте узких мест и выгорания

 

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

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

 

Главный совет: не сидите на двух стульях

 

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

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

Надеюсь, мои советы окажутся для вас полезными. Если есть вопросы – пишите их в комментариях – я с удовольствием отвечу.

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.

См. также

Лидерство ИТ-компания Бесплатно (free)

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

17.09.2025    282    0    IseGold    0    

0

Обучение и наставничество 1С:ERP. Управление холдингом Россия Бесплатно (free)

Самовыражение и творчество крайне важны в программировании. Даже в рамках жёстких технических требований и заданной архитектурной структуры, как это часто бывает в проектах «1С», можно найти способы для развития и вдохновения. Один из таких способов вернуть азарт к профессии – создать клуб разработчиков для единомышленников.

10.09.2025    456    0    user2150563    2    

2

Обучение и наставничество Бесплатно (free)

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

26.08.2025    1715    82    Odinesnitsa    17    

5

Обучение и наставничество Бесплатно (free)

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

20.08.2025    1092    0    user1033350    5    

2

Обучение и наставничество Бесплатно (free)

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

20.08.2025    1245    0    TSIvanova    0    

3

Компетенции и навыки Бесплатно (free)

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

19.08.2025    754    0    user1270271    0    

4

Обучение и наставничество Бесплатно (free)

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

18.08.2025    593    0    cybrat    1    

3

Компетенции и навыки Бесплатно (free)

О важности Soft skills говорят много, но не всегда понятно, какие из «мягких навыков» нужны в ИТ и как их прокачать. Расскажем о реальном опыте поэтапного развития Soft skills у аналитиков – от определения нужных компетенций и способов их измерения до регулярных мини-тренировок, помогающих сотрудникам привести компанию к конкурентному преимуществу.

14.08.2025    692    0    user1471172    0    

2
Для отправки сообщения требуется регистрация/авторизация