Кто такой СТОРоль СТО в IT’шных кругах одна из самых загадочных - очень мало людей могут уверенно сказать, чем конкретно занимается СТО. Толи это самый крутой разработчик в компании, то ли менеджер, то ли все вместе. Даже вступив на эту должность, мне потребовалось много времени на осознание истинной ценности этой роли. Давайте попробуем разобраться.
СТО (технический директор) - это C-Level, отвечающий за технологические продукты в компании. Это может быть программный продукт, разрабатываемый ИТ компанией, интернет-магазин в розничной сети, станки и обслуживающее их ПО на заводе. Но везде это что-то, что требует глубоких знаний технологий и приносит непосредственную прибыль компании. Без этих двух факторов роль СТО просто не имеет смысла.
Чтобы понять задачи СТО, давайте пойдем от обратного - посмотрим чем он заниматься не должен. Хочу оговориться, что на начальной стадии зрелости компании, когда команда еще небольшая, СТО в том числе может брать на себя эти задачи (я до сих пор выполняю часть из этого списка), но при росте компании они по-хорошем должны быть делегированы, иначе есть риск закопаться в рутине, но упустить из фокуса самое главное - продукт.
Чем не должен заниматься СТО:
-
Бек-офисом. Он не закупает ноутбуки, не меняет картриджи, и не отвечает за работу почты. Это должна быть сфера влияния ИТ-директора или ИТ-отдела.
-
Проектным менеджментом. Он не создает и контролирует выполнение задач, не пишет ТЗ, не общается с заказчиками. Для этого есть Project Manager или Тим-Лид.
-
Разработкой. Это прям бич многих СТО, кто вырос из разработчиков (мой в том числе) - желание заняться любимым и привычным делом, вместо вот этого вот всего менеджерского. Но разработка - это не только процесс написания кода, но и фикс багов, внесение изменений, поддержка. Пару часов, проведенных за кодингом, могут стоить нескольких недель поддержки, а это время, которое можно потратить на что-то более ценное.
-
Продуктологией. Определять какие фичи из беклога будут наиболее полезны клиенту - это задача продуктолога. СТО же должен построить "рельсы", чтобы процесс создания новых фичей выполнялся как можно более эффективно.
Теперь про то, что все-таки входит в обязанности СТО:
1️⃣ Выбор технологического стека продукта. Какой язык и фреймворки используем, какую БД и тд. Тут важно учитывать не только пользу от технологии, но и риски, которые она несет. Например, риск ограничения доступа из-за санкций или сложность в найме специалистов, знакомых с ней.
2️⃣ Разработка архитектуры продукта, способной масштабироваться под потребности бизнеса. Нужно быть готовым к кратным увеличениям количества пользователей или внезапным изменениям направления развития продукта
3️⃣ Обеспечение качества работы системы на должном уровне. Стабильность, качество, скорость работы, безопасность продукта - вот те критерии, которые влияют на удовлетворенность пользователей, а значит и на прибыль компании. СТО важно контролировать эти метрики и выстраивать процессы таким образом, чтобы они не опускались ниже гигиенического уровня.
4️⃣ Создание процессов разработки, обеспечивающих высокий Time to market, при этом без потери в качестве. Код ревью, автоматизация тестирования, внедрение CI/CD, новых инструментов - все это позволит команде работать эффективнее и быстрее достигать целей бизнеса.
5️⃣ Организация команд, способных развивать и поддерживать систему, при этом способную адаптироваться к потребностям бизнеса. Найм, увольнение, развитие сотрудников - важная часть работы СТО
Надеюсь я немного пролил свет на роль СТО. В одной из следующих статей расскажу про то, что нужно, чтобы стать СТО.
Всем хорошего вечера!
@beyond_senior