Как выстроить команду разработки IT-продуктов компании
Максим Павлов, управляющий партнёр KTS, рассказывает, как организовать комфортную работу для команды разработчиков и уменьшить текучку кадров.
Выработать прозрачные требования для грейдов
В отделе разработки, как и в любом другом департаменте, должна быть выстроена чёткая структура с конкретными грейдами и понятным функционалом для каждого уровня. Так специалисты понимают, какую роль они играют в работе отдела и какие есть пути карьерного роста.
В IT-компаниях уже давно используется система грейдов, и везде они разные. В таких гигантах, как Google и Яндекс, насчитывается более десяти уровней должностей. Каждый грейд отличает своя степень ответственности и самостоятельности.
Несмотря на то, что системы грейдов различаются, все они имеют три базовых уровня: джуниор, мидл и сеньор. В этом случае KTS не исключение, однако и в нашей компании есть своя специфика:
Грейд 1. Стажёр
Мы отбираем стажёров из выпускников нашей онлайн-школы. На курсах мы обучаем студентов базовым технологиям, а также проверяем их работоспособность, ответственность и мотивацию развиваться.
Стажировка оплачивается и длится шесть месяцев, первые три из которых — это испытательный срок, а вторые три — путь начинающего специалиста до уровня джуниор. Всё это время сотрудник следует указаниям наставника и выполняет несрочные проектные задачи, которые можно хорошо декомпозировать. Главная цель стажёра — быстро обучиться и влиться в процессы команды.
Грейд 2. Джуниор
На грейде джуниора сотрудник проводит около шести месяцев. За этот период он стремится овладеть технологическим стеком конкретной команды. Так же, как и стажёр, на этом уровне разработчик не взаимодействует с «заказчиками» задач, а выполняет простые и небольшие таски по ТЗ от аналитика или менеджера, которые те завели в таск-трекере. Джуниор способен самостоятельно решать типовые задачи, а для нетиповых — предлагать решения.
Грейд 3. Премидл или мидл первого уровня
Джуниор переходит на уровень премидла или мидла первого уровня, чтобы отточить навыки работы внутри команды: проводить код-ревью, принимать участие в оценке новых проектов или задач. Мидла первого уровня от предыдущих грейдов отличает то, что здесь сотрудник способен выходить за рамки поставленных наставником задач. На уровне премидла сотрудник обычно проводит примерно год, а затем он переходит на грейд выше.
Грейд 4. Мидл
Мидл может не только решать большинство продуктовых задач, но и оптимизировать проект, с которым работает. Soft-skills мидла включают понимание бизнес-контекста задач и способность взаимодействовать с их «заказчиками» — коллегами-неразработчиками. Специалист более уверенно может аргументировать и защитить своё техническое решение.
Грейд 5. Сеньор
Пройдя путь мидла примерно за год-два, сотрудник становится сеньором. Старшему специалисту хватает знаний и опыта, чтобы улучшать проекты с помощью глобальных изменений. Это помогает сеньору оптимизировать процессы внутри команды. Он способен давать глубокие комментарии по коду в процессе код-ревью и предлагать альтернативные решения. Старший специалист ответственен за функциональные и технические компоненты проекта, с которым он работает, — код, архитектура, сборка проекта, производительность. Кроме того, он может предлагать решения и контролировать их выполнение, если у проекта возникают проблемы.
На старшем уровне программист работает около двух лет, а после может оставаться на этом грейде или идти дальше.
Грейд 6. Тимлид / Архитектор
После позиции сеньора специалиста с совокупным опытом около пяти лет ожидает карьерное «разветвление» — он может стать тимлидом и заняться техническим менеджментом или же быть архитектором. И тимлид, и архитектор ведут свои проекты: тимлид отвечает за найм и работу проектной команды, а архитектор занимается проектированием системы и согласовывает интеграцию проектов со сторонними системами. Несмотря на то, что цели у этих ролей разные, иногда один и тот же человек может их совмещать.
Грейд 7. Центр компетенций
Если компания достаточно большая, имеет смысл выделять «центры компетенций». Сотрудники попадают в них, доказав достаточную экспертность для технического развития одной или нескольких специализаций. Эти специалисты разрабатывают инструменты и стратегии, которыми пользуются множество команд, а также участвуют в совещаниях по найму новых сотрудников и карьерному росту действующих.
Мотивировать каждого специалиста делиться своими знаниями
Один из способов профессионального роста подчинённых — участие в наставничестве. То есть когда опытные сотрудники помогают младшим коллегам усваивать новые знания и осваивать рабочие инструменты. Наставничество даёт позволяет компании «выращивать» кадры под себя — готовить конкретных специалистов, в которых нуждается, например, отдел разработки.
Для «наставляемого» польза наставничества очевидна: вместе с наставником разработчик может быстрее стать компетентным специалистом, решать сложные технические и управленческие задачи. Тем самым сотрудник сделает компанию более конкурентоспособной и сможет претендовать на повышение зарплаты. В дополнение к этому программист избежит выгорания: разработчик будет заниматься рабочими задачами, чувствуя поддержку более опытного коллеги, а не сталкиваться с трудностями в одиночку.
Для тех, кто сам становится наставником, наставничество — это первый шаг к руководству командой. Сотрудник учится руководить на специалистах младшего уровня — если опыт успешен, можно переходить к руководству более сильными разработчиками. Также наставничество помогает сотруднику структурировать свои знания — объясняя определённую тему, самому лучше её понимать.
В нашей компании наставничество — это выстроенная система. Наставникам помогают наработанные инструменты и готовые решения типовых задач. Это делает программу эффективнее, позволяя контролировать и масштабировать процесс обучения сотрудников.
Основной критерий – между наставником и подопечным должна быть разница примерно в два грейда. Тогда наставник ещё помнит, как сам проходил эту карьерную лестницу. При этом подопечный не может догнать своего наставника, то есть наставнику всегда есть, чему научить младшего сотрудника.
Поддерживать мотивацию сотрудников для их профессионального развития
Профессиональному развитию каждого отдельного сотрудника помогает повышение уровня мотивации через понимание личных целей. Для этого, например, два раза в год мы проводим ревью: наставник разговаривает с подопечными, обсуждает итоги работы. Затем разработчик высказывается о том, в каком направлении хочет развиваться дальше. После чего вместе с наставником он определяет цели на следующие полгода — до очередного ревью.
Поддерживать мотивацию специалистов в краткосрочной перспективе помогают проектные статус-встречи. Во время таких встреч программисты базово отвечают на три вопроса:
- Что я сделал с момента последней встречи?
- Что я планирую сделать до следующей встречи?
- Что мне мешает или какие сейчас есть проблемы?
Программисты смогут эффективнее работать, если будут иметь перед глазами текущие задачи — собственные и своих коллег. Задачи необходимо собрать в таск-трекере — там их можно записывать, редактировать и обновлять.
Таск-трекеров огромное множество, но те, которые наша компания успела опробовать и теперь может порекомендовать — это Jira и YouTrack. Они значительно облегчают проектную работу — команды контролируют рабочие процессы, фиксируя текущие задачи и отмечая затраченное на них время.
Резюмируя
Слаженную работу разработчиков обеспечивает не только качественный подбор профессиональных кадров. Немаловажную роль в выстраивании работы отдела также играют следующие факторы:
- Чёткая и прозрачная структура в отношении грейдов и их функционала
- Системная передача знаний от опытных разработчиков — начинающим специалистам
- Понятная система мотивации сотрудников для их профессионального развития.
К этим факторам можно добавить комфортную работу в команде. Работая без лишнего стресса, программисты меньше эмоционально выгорают и чувствуют причастность к коллегам и в целом к корпоративной культуре компании.
Для того чтобы такого добиться, руководство отдела разработки может устраивать периодические тусовки, на которых все сотрудники будут встречаться в неформальной обстановке, обсуждать как рабочие, так и личные вопросы и просто весело проводить вместе время.