Я занимаю должность СТО уже около десяти лет.
К настоящему времени у меня сложилась довольно четкое понимание того, кто такой CTO, что делает CTO успешным, а что - нет.
Однако, даже сейчас я замечаю, что эта роль является одной из самых неправильно понимаемых в сфере технологий.
В какой-то мере это может быть связано с появлением так называемых "стартап-CTO", должностей, которые, кажется, были введены венчурными капиталистами и фактически представляют собой технического лидера для стартапов на ранних этапах.
Давайте попытаемся прояснить ситуацию, отвечая на пять наиболее часто задаваемых мне вопросов о роли CTO.
1. Какова основная задача CTO?
Короткий ответ:
Основная задача CTO - обеспечить, чтобы технологическая стратегия компании служила ее бизнес-стратегии. - Eric Ries.
Длинный ответ:
Очевидно, что CTO является ролью в бизнесе, хотя и находится на пересечении бизнеса и технологий.
Это важный момент, поэтому давайте проведем тщательный анализ целей, которые должен преследовать CTO:
Бизнес-цели
Согласование технологической и бизнес-стратегии будучи посредником между бизнесом и разработкой.
Увеличение экономической эффективности путем прогнозирования на несколько лет вперед с учетом общей стоимости владения (TCO).
Снижение текучести кадров путем создания и поддержки технической культуры, в которой каждый может реализовать себя. Хотя можно возразить, что это ответственность линейных менеджеров, но при более внимательном рассмотрении можно обнаружить, что причины ухода людей могут варьироваться от получения более выгодного предложения до разочарования в устаревших технологиях, техническом долге, отсутствии видения и т. д. Именно здесь хороший CTO может медленно предпринимать необходимые улучшения, ценимые командой. В тех случаях, где ранее они могли чувствовать себя недопонятыми или перебитыми.
Развитие интеллектуальной собственности и создание ценности. CTO всегда должен думать о росте ценности. Это приведет к принятию более обоснованных решений, адекватному использованию аутсорсинга (вы не создаете интеллектуальную собственность, если все технические задачи отдаются на аутсорс).
Поиск баланса 80/20. Находить баланс между тем, в чем бизнес нуждается, и тем, что требует наибольших усилий, для достижения оптимального результата для компании.
Технологические цели
Отвечать за принятие технологических решений, включая архитектурные, решения о разработке или аутсорсе и тд.
Постоянное улучшение технологий, процессов разработки, инструментов и инфраструктуры.
Создание и поддержка инновационной культуры. Следить за новыми технологиями, которые могут быть полезны для организации.
Помощь в наборе технических сотрудников.
Контроль за общей стоимостью владения (Total Cost of Ownership, TCO).
Управление софтом: compliance, безопасность, контроль техдолга и т. д.
2. Может ли CTO выполнять функции операционного менеджера?
Короткий ответ: нет.
Длинный ответ:
Важно отметить, что роль CTO является на 100% стратегической. Рассмотрев вышеуказанные цели, можно ясно увидеть, что ни одна из них не может быть достигнута из позиции операционного менеджера: вы не сможете увидеть лес за деревьями.
Как CTO вы не работаете в установленных рамках, потому что ваша задача заключается в том, чтобы изучить эти рамки и раздвинуть их.
Engineering менеджеры, а также руководители отделов разработки, являются операционными руководителями. В качестве CTO у вас могут возникать идеи, которые могут противоречить их операционным целям. Это абсолютно нормально, поскольку вы, как CTO, наблюдаете со стороны, ища то, что можно улучшить. Трение, вызванное этими противоречащими позициями, является естественным и должно приводить к здоровым обсуждениям.
Теперь вы также понимаете, почему CTO не может брать на себя операционные управленческие задачи: конфликт интересов.
3. Должен ли CTO писать код?
Короткий ответ: Да, но только PoC (Proof of Concept, проверка концепции) и прототипы.
Длинный ответ:
Обычно CTO не занимается разработкой. Вместо этого, он разрабатывает стратегию, в которой разработка может процветать.
Очевидно, что технические лидеры должны иметь технологический бэкграунд. Фактически, наличие опыта работы в роли ведущего разработчика и архитектора дает вам огромное преимущество в качестве CTO.
Это помогает вам находить общий язык с разработчиками.
Это позволяет вам читать их код, демонстрировать передовые практики.
Это позволяет вам быстро создавать концепции (PoC) и прототипы, чтобы показать направление развития при внедрении новых технологий или сервисов.
Хотя CTO иногда может писать код (и, вероятно, все еще делает это хорошо), почему же он не должен заниматься разработкой?
Хотите получить ответ? Держите пять:
Операционные цели противоречат стратегическим. Мы уже видели это. Операционная деятельность всегда побеждает из-за коммерческого давления. Если CTO активно занимается программированием, это неизбежно приведет к тому, что ему придется пренебрегать стратегией.
Погружение в задачу, которое чувствуют многие опытные разработчики, противоречит стратегическому мышлению. Оно занимает ваш мозг, за счет потери ощущения времени и интереса к другим аспектам. Взаимоотношения могут пострадать из-за этого. Хорошее стратегическое принятие решений, нетрадиционное мышление, умение видеть вещи в перспективе - все это теряется, когда мы погружены в задачу.
Быть топ-менеджером и быть коллегой для разработчиков одновременно - это нездоровая ситуация из-за конфликта интересов.
Доводить разработку до конца чрезвычайно затратно для CTO. Реальность заключается в том, что последние 10% усилий по разработке программного обеспечения занимают 90% времени.
Стратегия устойчивого роста заключается в том, чтобы давать развиваться командам разработчиков, а не заниматься этим самостоятельно.
4. Может ли разработчик вырасти до CTO?
Короткий ответ: да, но он должен быть готов к резкой смене деятельности.
Длинный ответ:
На самом деле, я лично считаю, что разработчики и архитекторы не могут легко перейти на роль CTO в той же компании. Это связано не столько с их потенциалом для роста, сколько с динамикой команд, особенно малых. Неоднократно я наблюдал последствия, когда "один из ребят" был повышен и вдруг получил больше ответственности. Люди остаются людьми, что я могу сказать...
По моему личному опыту, для CTO крайне важно перестать быть частью операционной стороны. Опытные разработчики являются чрезвычайно важными в условиях напряженной разработки, поэтому возникает большой разрыв, как для компании, так и для самого человека, который покидает эту роль. Я лично знаю людей, которые не были готовы к такому изменению в момент своего повышения.
В итоге: все несчастны!
Снова исходя из моего опыта, лучше всего начать работу в новой компании (или в качестве консультанта).
CTO - это стратегическая бизнес-роль. Видеть бизнес-перспективу значительно отличается от погружения в разработку.
Кроме того, есть так много вещей, о которых CTO должен знать (и за которые он несет ответственность), которые многие разработчики считают скучными: сертификация ISO, требования GDPR, заработные платы, безопасность, затраты на облачные решения и т. д. Будьте осторожны со своими желаниями...
5. Нужны ли стартапам CTO?
Короткий ответ: да, но не всегда.
Длинный ответ:
Одной из опасностей для многих стартапов является то, что они увлекаются операционной работой. Вся модель работы стартапов строится на импровизации и использовании возникающих возможностей, и почти всегда отсутствует опыт в области технологий и стратегии.
Им бы помогло иметь опытного CTO. Человека, который уже неоднократно создавал SaaS-продукты, знакомого с современными облачными практиками, способного формировать команды и оптимизировать процессы разработки и т.д.
И кто обращает внимание на стратегию, выходящую за рамки релиза.
Однако, есть две большие проблемы:
Бюджет: у стартапов, обычно, нет денег, чтобы позволить себе опытного руководителя, а отдавать часть акций для сокращения затрат не является правильным маневром, пока не будет доказана ценность проекта. В результате: CTO редко доступны даже для стартапов на более поздних стадиях.
Дефицит: опытные CTO являются одними из самых труднодоступных кадров. Спросите любого рекрутера или охотника за талантами, кто пытался найти таких специалистов.
Было только вопросом времени, когда эти реальные проблемы приведут к возникновению роли консультанта с частичной занятостью: опытные технические директоры, которые имели опыт работы во множестве стартапов и масштабных проектов, помогают на консультационной основе.
Некоторые люди скажут, что никогда не следует нанимать внешнего консультанта в качестве CTO.
Я понимаю их точку зрения. Я отлично осознаю, что означает иметь консультанта на такую, как говорят, вторую по важности роль в компании (после CEO). Кроме того, желательно иметь кого-то, кто вкладывает себя в компанию полностью.
Конечно, я не могу говорить от имени всех консультантов, но у меня есть набор правил, которых я придерживаюсь при предоставлении своих услуг:
Я даю понять, что я - временное решение для заполнения пробела.
Я поощряю обучение на основе моего опыта, показывая, что должен делать CTO.
Я всегда стараюсь помочь людям увидеть более широкую перспективу, помогать бизнесу понимать технологии и помогать техническим специалистам понимать бизнес.
Я веду запись каждого шага, поэтому неизбежная передача включает полный журнал того, что я сделал и по какой причине.
Я обычно не принимаю мандат. Это означает, что я должен получить одобрение от всех заинтересованных сторон по каждому принимаемому мной решению. Это занимает больше времени, но оправдывает себя в плане прозрачности (и способствует обучению).
При необходимости я помогаю в подборе постоянного CTO. Большинство времени, будучи уже "полу-внутренним" сотрудником, я знаю, какой тип CTO наилучшим образом подходит.
Комментарии (8)
tigreavecdesailes
21.05.2023 13:55+4Капец как раздражают картинки с как попало расставленными шахматами, особенно если вообще вне правил.
(статью не читал)
blik13
Возможно это какое то абсолютно повсеместно используемое понятие и я не прав, но обычно при первом упоминании сокращений дают их расшифровку.
perfectdaemon
Chief Technical Officer.
Наиболее близкий перевод — Технический директор.
blik13
Спасибо.