cto

В чем заключается работа технического директора? Обычно я отвечаю отрывочно или углубляюсь в какой-то аспект профессии, который интересует меня в тот момент.

Мы с Федей уже почти месяц вместе составляем системный ответ на этот вопрос. Для командной работы мы завели личную базу знаний (что-то вроде своей википедии) в Notion. Мы храним там общие задачи, план и знания, которые собрали в ходе работы. Если заменить информацию о конкретном клиенте подробным описанием, зачем мы делаем тот или иной шаг — может получиться книга «как руководить разработкой в продуктовой компании».

Вот структура/оглавление, которые у нас сложились. Этот список можно использовать как основу чеклиста для стартапа или небольшой технологической компании.

Глава I, про бизнес и процессы.

1. Чего бизнес хочет от разработки? Важно не остановиться на конкретной хотелке «напрогайте нам X», а докопаться до бизнес-гипотезы, которую хотят проверить.

2. Как построена работа над продуктом: кто преобразует гипотезу в задачу, как ставится задача разработке, доносится ли гипотеза до программиста, интересуется ли они ею? В здоровой продуктовой команде техническая экспертиза подключается на самом раннем этапе.

3. Что происходит после запуска фичи? Анализируется ли результат? Понимают ли программисты, как они повлияли на бизнес?

4. Как происходит планирование и приемка работы? Смотрим на четкость и ритмичность. Четкость: плохо — «мы тут что-то не особо хорошо описанное напланировали, о том успеем или нет — не задумывались», хорошо — «в понедельник у пользователей в продакшене появится X», нужны конкретные обещания и контроль их выполнения. Ритмичность: продуктовая работа — это почти всегда постепенное улучшение и очень редко — один героический забег. Чтобы система работала годами, ей нужна цикличность, с запланированными фазами «напряжение-расслабление».

Глава II, люди.

5. Команда: в каком состоянии ребята, нравится ли им работа, нравятся ли коллеги, конкурентная ли компенсация? План развития ребят, 360 reviews, 1-1.

6. Уникальность знания. Что будет, если сотрудник уволится или заболеет (bus factor)? Документация, стоимость погружения новых людей в проект.

7. HR: достаточно ли мы рассказываем миру о том, хорошо лиу нас работать? Ведение профессионального блога, выступление на профильных конференциях.

Глава III, технологии.

7. Operations: отказоустойчивость, масштабируемость, мониторинг, incident management, бэкапы, учения. Автоматизация процессов в разработке: среды разработки, деплой, откат, etc..

8. Архитектура и код: модульность, связанность, тесты. Тесты: насколько велика вероятность сломать проект? Радость разработчика: насколько комфортно ребятам работать?

9. Информационная безопасность: DDoS, дырки в коде, операционная безопасность, социальная инженерия. Проводим ли ли пентесты, есть ли баунти-программа, как реагируем на сообщения об уязвимостях?

Федя шутит, что это — опасная книга, люди увидят, что работа довольно простая и платить нам за неё много денег необязательно. Я так не думаю, сложности с количеством клиентов нет и кайф, что нам не стыдно открыть кухню. Получится самим улучшить ситуацию по нашей инструкции — отлично.

Проблемы, которые мы видим на рынке у разных компаний — очень схожи. Но этот пост уже и так неприлично длинный, об этом — в следующий раз.

P.S. У нас есть отличная вакансия для рубиста в Питере.

Мы с Федей ищем технического директора в igooods себе на замену.

igooods — это доставка продуктов из гипермаркетов. Сотни тысяч клиентов, тысячи заказов в день, миллиард оборота в месяц. 36 городов России. В партнерах — Метро, Лента, Призма, Вкусвилл, Ашан, Глобус, Карусель, Окей.

Техническая команда — 31 человек. Под капотом рельса и реакт, нативные мобильные приложения для iOS и Android.

Вы заберёте разработку, которая находится в процессе трансформации от небольшой уютной тусовки к машине по зарабатыванию денег. За последние полгода производство стало работать чётче, но до швейцарских часов ему пока далеко — много вещей делаются на ручном контроле. Вам предстоит выстроить QA, доукомплековать продуктовые команды, до конца перейти на сервисную архитектуру (цель — через полгода перестать писать код в монолит) и создать систему управления техдолгом.

Вторая задача — подчинить разработку бизнесу, работая бок о бок с CPO. Каждый джуниор-фронтендер должен знать, на какую метрику повлияет задача, которую он сейчас делает, а любая гипотеза про деньги должна проверяться не дольше трёх недель.

Мы с Федей запустили эти процессы, но чтобы завершить работу, нужно жить в Питере.

Команда прекрасная, но это не значит, что вам не придется много работать руками. Оно того стоит — вы выстроите первоклассную разработку в одном из крупнейших сервисов доставки продуктов в России.

Офис в Питере, помощь с переездом. Подчинение напрямую владельцу бизнеса; основной рабочий партнер — CPO Андрей Родин.

Пишите краткий рассказ о себе мне в личку или на s@samat.me.

Хорошая статья про роль техдира от CTO Zapier.

Из-за врожденной любви к рефлексии я много думаю на эту тему

Основная мысль статьи: до 12 технарей в команде ещё можно быть программистом и менеджером одновременно. Потом нужно выбрать то, что приносит тебе больше удовольствия - решать технические проблемы самому или помогать это делать другим.

Начиная с детства, когда я занимался олимпиадным программированием, рядом со мной всегда были программисты сильнее меня. В каждой компании, где я работаю, есть программист от бога, способный программировать быстрее и лучше меня. Решение, как говорится, очевидно.

https://zapier.com/engineering/startup-cto/

Классная статья про «IT стратегию», которую хотят многие владельцы бизнесов, а многие CTO не понимают, что и как написать; с примером и разбором каждого пункта, бесплатно без смс.

Это мои последние дни в Медузе.

3 года я был техническим директором одного из лучших российских медиа. Мы программировали Медузу командой из 10 разработчиков, качественно и быстро. Наш формат общения разработки с редакцией журналисты считают уникальным на рынке.

За эти три года я сильно вырос профессионально и обзавелся гигантской сетью знакомств. Мне посчастливилось работать с лучшими программистами и с самой дорогой редакцией.

Помню, как в первый месяц работы меня разбудил звонок в 4 утра, Султан сказал «Самат, в Грозном серьезная перестрелка, админка не работает». Я тогда подумал, что, наверное, прямо сейчас с похожим сообщением разбудили г-на Путина.

Помню первые полмиллиона посетителей в день (убийство Немцова), переворот в Турции, когда я переводил трансляции с турецкого, теракт в Питере, когда упали Яндекс.Новости и некоторые СМИ, а нашу трансляцию прочитали миллион человек. Помню DDoS-атаку, когда я был на конференции в Брюсселе и поездку в Калифорнию с Ильей.

Уже в Риге у меня родилась вторая дочь, а старшая твердо усвоила, что папа делает и чинит сайт. Что такое сайт она, кажется, ещё не знает. Да и Медуза отходит от сайто-центричности, мы запустили свою собственную админку для постинга в соцсети и платформу доставки подкастов.

Я старался много рассказывать про внутреннюю техническую кухню, писать в корпоративный блог и ездить на конференции, делиться опытом и помогать другим медиа. Всегда было чувство, что я буду делать больше этой работы в будущем. Можно было сделать гораздо больше. С другой стороны, я хочу помогать медиа, ко мне можно обращаться за консультациями — не стесняйтесь.

Хочу поблагодарить некоторых людей отдельно: Андрей Зайцев-Зотов и Егор Хмелев руководили техническим запуском Медузы и порекомендовали меня Гале, Илье и Ване. Руководство Медузы рискнуло и доверилось молодому человеку без большого опыта. Команда разработки Медузы — это dream team. Мы начинали с 6 человек, по одному человеку на специальность, каждый профессионал экстра-класса, отвечающий за своё направление. За 3 года от нас ушел один разработчик, а наняли мы троих.

Почему я ухожу? Есть несколько причин. Главная в том, что в Медузе я построил процессы, сильно завязанные на функцию менеджера (меня). Это режим мобилизации, эффективный для мощного спринта. То, что мы держали его больше 3 лет — большая удача.

Понятно, что для долгосрочного развития необходим другой режим управления. Я знаю, команда разработки Медузы готова к изменениям, но провести эту трансформацию лично мне будет очень сложно. Дело в реактивности психики и моей усталости (кек, накопилось 50 дней отпуска). Будет проще, если изменения проведет новый человек. Я вижу, что моему заместителю это интересно и он хочет этим заняться.

С гордостью представляю нового технического директора Медузы: Бориса Горячева. Боря — один из лучших программистов, с которыми мне довелось поработать. Он имеет парадоксальный ум и редкое умение придумывать и вывозить проекты до конца, не теряя при этом в голове крупной картины. Уверен, что у него и технической команды всё получится.

Куда дальше? В https://rawg.io. У игрового мира нет единой точки сборки, такой, как IMDb (Кинопоиск) для кино. Мы с Гаджи Махтиевым, Лешей Горностаевым (ex-Kanobu) и маленькой и классной командой такую штуку сделаем. Причем, если IMDb — это очень крутой сайт, застрявший в 90-х, то мы сделаем всё по фэн-шую 2018-го: рекомендательная система, учитывающая вкусы игрока, токен-экономика, завязанная на его активность и возможность обычному человеку задать вопрос создателю любимой игры — всё это есть в планах. Ещё у нас есть 2 миллиона долларов венчурных инвестиций и запланирован ICO в апреле на ещё 10 миллионов. В базе уже 52 тысячи игр https://rawg.io

Будет жарко. Stay tuned.

Новостной и одновременно ностальгический эпизод подкаста о Медузе.

Технический директор Медузы Боря Горячев делится, как он справляется со званием иноагента и как запрогал приём донатов с нуля за 48 часов и почему ему не помогали фронтендеры (и будто пускает нас на летучки, на которых редакция обсуждала новость).

Второй гость — Егор Хмелев, технический директор Sweatcoin (вы можете помнить его из первого(!) эпизода), запускал Медузу технически. Мы все втроём вспоминаем, как Медуза пришла в нашу жизнь и как мы ее прогали.

Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

С гордостью представляю новый эпизод подкаста.

В гостях — Тамара Зуйкова, технический директор Манго Страхования. Это стартап, в который альфа-групп вложила миллиард (!) рублей.

Разбираемся в страховании — как защищаются от обмана, как зарабатывают деньги и как всё это программируют. Тамара умеет объяснять сложные штуки исключительно ясно и понятно. ❤️

В эпизоде: управление рисками, микросервисная архитектура, власть и ответственность разработчиков, база данных kafka и многое другое — простым языком.

Слушайте везде: Apple, Google, Castbox, Яндекс, Spotify, Overcast, ютуб и веб-версия.

Я почти не писал сюда в последние месяцы.

Сначала я боялся, что никому не нужен как профессионал. Потом пришел ещё больший ужас, когда понял, что предложения приходят нормальные, а порой даже лестные (бизнесы в десятки миллионов долларов, ААА), просто я не хочу становиться техдиром одной компании на очередные 3-5-10 лет, скучно. Что делать дальше?!

Становиться консультантом, который просто пиздит и не несет ответственности — нет. Прогать за деньги я не люблю. Делать аутсорс-компанию — точно нет: покупаешь программистов по 150 тысяч в месяц и продаешь по 2000 рублей в час, прибыль 50 тысяч рублей в месяц за человека. Больше тел — больше денег.

Особых накоплений у меня нет, а трое детей и жена — есть. Чем заниматься и как зарабатывать на жизнь?!

Я нашел не только ответ, но и партнера, с которым мы начинаем общее дело.

Мы с Федей Борщевым предлагаем услуги технического директора плюс. Мы помогаем разобраться в технической стороне вопроса и выстроить крутую внутреннюю разработку. С нами багов, проебанных дедлайнов и падений в продакшене станет меньше, а новые фичи и польза бизнесу будут появляться чаще и ритмичнее. Помощь с наймом программистов (а при необходимости — и техдира), которые будут развивать настроенную нами систему — в комплекте. Главное — всё это будет работать и после нашего ухода.

Можем найти крутых программистов и быстро запустить MVP. Порой мы отвечаем «да не нужно тут ничего прогать, давай лучше X сделаем» — у нас нет потребности продать вам побольше часов программистов.

Федя — очень крутой техдир, причем мои слабые стороны — его сильные (и наоборот). Я люблю общаться с людьми, а Федя — прогать.

——

Первый клиент, о котором мы расскажем публично — iGooods. Это сервис доставки продуктов из гипермаркетов, родом из Питера. 4000 заказов в день, 250 миллионов рублей оборота в месяц, оценка в 3 миллиарда рублей.

У iGooods 28 программистов, они каждую неделю выпускают новые фичи, бизнес-показатели растут. Нас позвали, потому что: 1) CPO Андрей отвечает не только за продукт, но и за разработку и зашивается; 2) скорость разработки падает, несколько важных проектов тянутся месяцами, даты запуска переносятся; 3) тяжело найти хороших программистов; 4) технический долг копится, команда недовольна.

Я вижу эти сложности почти у каждого IT-проекта. В ближайшие месяцы мы с Федей будем делиться с вами тем, как мы их решаем на примере классной компании. Ура!