Кто такой Director of Engineering. Обзор изнутри от Валерия Леонтьева и Алексея Чудникова
Про позицию Director of Engineering в IDT Corporation рассказывают Валерий Леонтьев и Алексей Чудников.
Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить свои перспективы или просто сверить часы с авторитетным коллегой. Можно обсуждать и дополнять материал в комментариях, чтобы сделать его еще полезней. Спикеры и автор материала поддержат дискуссию и ответят на вопросы.
Чем занимается Director of Engineering?
Для начала давайте разберемся, кто вообще такой Director of Engineering.
Такие позиции как Director, VP (Vice President), CTO (Chief Technology Officer) пришли к нам из американских корпоративных иерархий. К русскому значению должности «Директор» эта позиции отношения практически не имеет, просто названия одинаковые. Поэтому далее по тексту слово «Директор» будет использоваться только в американском значении.
Итак, Director of Engineering — это управленческая позиция, обязанности которой могут варьироваться от компании к компании. У нас в IDT построена матричная система управления. Director of Engineering отвечает за одну из функций в одной или нескольких Scrum-командах. Есть и другие виды директоров: Director of QA, Director of Program Management и так далее. Director of Engineering функционально занимается разработкой и некоторыми смежными вопросами, являясь ключевым техническим стейкхолдером в своих командах.
В работе Директоров есть две ключевые составляющие: resource management (работа с людьми, построение и организация работы нескольких scrum-команд) и engineering management (технологическое управление). Также Директор отвечает за delivery management, вовлечен в product management — степень зависит от продукта и команды. Для сравнения, в аутсорсинге эти направления чаще всего разделены между разными специалистами.
Немало времени уходит на общение со стейкхолдерами и executive management. Иногда на одного Директора может приходиться до 6-10 стейкхолдеров.
Более того, в культуре IDT не принято разделять проектирование, программирование, деплой и поддержку. Все решения обсуждаются в команде, а полномочия принятия решений используются редко. Это очень интересный подход — он позволяет добиться глубокого вовлечения разработчиков и повышает качество принимаемых решений.
Таким образом больше всего времени у Директоров уходит на коммуникацию во всех направлениях — пожалуй, около 50-60%. Раньше, когда мы только собирали команду, директора брали на себя много административных задач, налаживали процессы и участвовали в огромном количестве собеседований, поэтому этот процент был даже выше. На работу с технологиями — архитектура, немного программирования, devops, production support — уходит еще 20-30% времени.
Но все же ключевая задача Director of Engineering — это построение и организация работы scrum-команд. Много внимания уделяется планированию и координации. Директора развивают большое количество разных инициатив внутри компании, как, например, автоматизация, оптимизация расходов, технологические миграции. На это и уходят оставшиеся 20-30% времени.
Director of Engineering отвечает за полный цикл работы с сотрудниками. Поэтому порой сталкивается и с необходимостью разрешения конфликтных ситуаций. В компании прикладывают много усилий, чтобы не давать команде повода для разногласий. Но если такое все же случается, Director of Engineering — первый человек, который должен принять меры. Мы постоянно следим за настроениями команды, участвуем в регулярных митингах, общаемся. Если понимаем, что не можем справиться локально — подключаем HR. Совместными усилиями всегда удается решить любую проблему.
Основные инструменты, которые мы используем в работе — это Jira, Confluence, Google Workspace, Github, консоль AWS, Lever.
Что нужно уметь?
Для позиции Director of Engineering очень важно качественное сочетание технических hard skills на довольно высоком уровне, soft skills и навыков управления.
Если говорить о hard skills, то в работе Директора важен не столько конкретный стек, сколько понимание архитектуры распределенных высоконагруженных систем, особенностей и принципов работы различных баз данных, очередей, принципов DevOps, контейнеризации, работы с логами, метриками и так далее. Важны профессиональные знания технологий и принципов Computer Science и умение их применять.
Из soft skills, как бы это ни было банально, хочется выделить инициативность, ответственность, нацеленность на результат и способность и открытость к (само)обучению — эти качества действительно важны на пути к позиции Директора.
В работе очень помогают хорошая память и острота ума, умение не мыслить шаблонами, работать с информацией и грамотно доносить идеи до коллег. Тут пригодятся навыки презентаций и широкий кругозор в различных областях.
Особенно хочется отметить трудолюбие. Директор должен в любой момент быстро включаться в ситуацию, справляться с большой нагрузкой, в том числе эмоциональной, но при этом всегда сохранять спокойствие и здравомыслие. К этому сложно подготовиться заранее.
Как уже упоминалось, директор инжиниринга много времени уделяет работе с людьми — эмпатия, открытость и умение находить контакт с людьми помогают выстроить прочные взаимоотношения с командой. Но при этом нужно осознавать и большую ответственность. Ты должен всегда быть готов действовать сам и нести ответственность за действия (или бездействие) других людей.
Так как IDT — американская компания, большая часть коммуникации внутри происходит на английском. Поэтому без хорошего разговорного и письменного английского никуда.
В целом можно сказать, что эта позиция очень ответственная, но вместе с тем и безумно интересная. Если вы чувствуете в себе силы и желание постоянно учиться и решать новые задачи, то это отличный вектор развития.
Карьера
Безусловно, людей, которые знают и умеют все вышеперечисленное, на рынке практически нет. Поэтому особое внимание уделяется кадровому резерву и росту внутри компании.
Позиция директора находится в середине карьерного пути технического специалиста, растущего в менеджмент. Все директора инжиниринга начинают с разработки, будь то программирование, автоматизация тестирования, или DevOps. Внутри компании они проходят путь Junior (I), Middle (II), Senior (III), Lead (IV).
После этого человек должен сделать выбор: дальше углубляться в технологии либо переходить в управление. В первом случае следующим уровнем в IDT будет уровень Staff (V) — суперзвезда разработки. Во втором — позиция директора либо промежуточная ступень в виде Engineering Manager. Она отличается от Director только количеством команд и людей, с которыми предстоит плотно работать.
Но и на этом карьерный путь в компании не заканчивается. У директора есть возможность вырасти в VP и CTO в рамках технической организации, либо в VP, President, CEO за рамками технологий.
Director of Engineering в IDT должен иметь хорошее высокоуровневое понимание и большой опыт прикладной работы с разными стеками. Уровень его экспертизы должен быть широким и достаточно глубоким. При этом мы понимаем, что невозможно сразу знать и уметь все. Некоторые пробелы можно восполнить в процессе работы. Например, за год можно поднять AWS до нужного уровня с нуля. Но принципы организации облачных платформ и реальный опыт работы ними обязателен для получения джоб-оффера.
Плюсы и минусы профессии
Сложность заключается в мультизадачности и работе «на два фронта», ведь нужно одновременно учитывать интересы и стейкхолдера, и команды. На это уходит много сил и энергии. Стресс в этой ситуации — своеобразная плата за все возможности профессии. При этом в нем можно и нужно искать пути для развития. Бороться со стрессом помогают самые обычные вещи — спорт, встреча с друзьями, фильмы или сериалы (не обязательно полезные), книги или музыка. В общем, все, что может помочь вам получить положительные эмоции. А еще отлично помогают разгрузиться прогулки на свежем воздухе.
Иногда бывает проблематично организовать работу высокоуровнево и при этом не погрязнуть в деталях. С течением времени может затягивать рутина и сбиваться фокус. Поэтому всегда надо помнить основные цели и задачи работы в этой позиции, а также то, какие проблемы ты решаешь. Ведь от тебя во многом зависит работа команд, а цена возможных ошибок с каждым уровнем становится больше.
Где учиться
Директоров нигде не учат, скорее это этап эволюции технического специалиста. Нет такого университета, который выпускал бы их полностью подготовленными и со всеми необходимыми знаниями. А освоить при этом нужно две большие области — технологическую и управленческую. Поэтому формальное образование для директора инжиниринга не так важно, хотя качественное высшее техническое будет плюсом.
Важно уметь учиться в процессе работы. Опыт работы на позиций лид или архитектор, опыт управления проектами и командами очень помогут на пути к профессии Director of Engineering. При этому не так важно, какой опыт у вас превалирует и как строилась ваша карьера — важно сочетание этих факторов.
Большую роль играет самообразование. Вот книги, которые стоит прочитать всем (даже если вы не планируете становиться Director of Engineering):
- «Совершенный код. Мастер-класс» Стива Макконнелла
- «Чистый код. Создание, анализ и рефакторинг» Роберта Мартина
- Все книги Джоэла Спольски, Мартина Фаулера
- Серия книг Таненбаума Архитектура компьютера, Современные операционные системы, Компьютерные сети
- «Designing Data-Intensive Applications» Мартина Клеппмана
- «Человеческий фактор. Успешные проекты и команды» и «Deadline. Роман об управлении проектами» Тома Демарко
- «Мифический человеко-месяц» Фредерика Брукса
- The Phoenix Project
- Measure What Matters
- Как работает Google
Полезно также иногда читать популярные каналы и блоги для программистов и что-то управленческое по своему вкусу.
Читать на dev.by