Когда я шел в CTO, я себе наивно представлял картину, будто это — Самый Главный Архитектор компании, который принимает решения, как будут устроены системы и приложения, выбирает Cамые Новые И Лучшие Технологии, показывает, как писать Самый Правильный Код, при этом все молчат, согласно кивают, записывают. Во многих стартапах до сих пор CTО это самый лучший программист.



По факту вышло немного не так. Вернее, много не так. Задачи CTO это в первую очередь:

* Технический pre-sale ключевых проектов;

* Встречи с проектными менеджерами;

* Координация работы департаментов;

* Найм, онбординг людей, дообучение

* Формирование рабочей атмосферы в коллективе, мотивация людей

* Оценка продуктивности людей и решение об уровне их зарплат;

* Выбор и внедрение вспомогательных систем для разработки и администрирования: эксплуатация техники, выбор и закупки лицензий и оборудования

* Обеспечение темпа и качества разработки

* Опредение регламентов работы, настройка и оптимизация процессов ИТ производства

* Внешнее производство: поиск вендоров, переговоры, контрактование, распределение и контроль внешних ресурсов

* Руководство эксплуатацией сервисов и приложений: общие решения по инфраструктуре серверов и сервисов, сетей, БД, размещений, сборки, развертывания и поставки

* Общие решения и принципы по документирования и регламентированию разработки

* решение разнообразных КРЯ КРЯ доверившихся тебе людей



И уже ПОТОМ (если останется время - НЕТ)

* Экспертные предложения по архитектуре или конкретным техническим решениям;

* Управление техническими рисками на проектах



И если еще после этого останется время, то (хахаха):

* Написание кода, обзоры кода, рефакторинг



И всё это в каждом пункте помножается на необходимость работать с людьми, их убеждениями, мнениями, чувствами того, как надо делать, потому что стать мудаком в этом месте легко как никогда раньше.