#технический директор

12 постов
пост №1625Управление и команды

Мы перезапустили Вебиум!

Вебиум — онлайн-школа по подготовке к ЕГЭ. 30 тысяч школьников, тысяча наставников, 20 тысяч вопросов и 2 тысячи домашних заданий на сотни тем. Перед нами стояли 3 задачи:

1. Сделать так, чтобы фичи, которые хочет бизнес, разрабатывались быстрее и более предсказуемо. Обостряю для ясности, с чем часто сталкивается бизнес: «давайте добавим вот эту маленькую штуку; конечно, будет завтра (возвращаются через две недели), ой нет, это займет полгода» (и это ещё хорошо, если вернутся с таким честным ответом);

2. Нанять технического директора и создать внутреннюю команду разработки, чтобы в будущем не зависеть от аутсорса;

3. Сделать всё это «на лету», без остановки образовательного процесса, без потерь для бизнеса.

14 специалистов «Феди и Самата», 21 сотрудник Вебиума, год работы, 340 пользовательских сценариев на старте, 2900 коммитов, 5400 автотестов и я твердо говорю: все три задачи выполнены.

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

Я прицепил скриншотами, как реагируют на запуск школьники.

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

А пока хочу поблагодарить ребят, без которых проект бы не получился:

- Миша Бурмистров, ведущий фронтендер, руководитель проекта
- Леша Чудин, ведущий бэкендер
- Саша Нестеров, фронтенд
- Эдуард Степанов, бэкенд
- Андрей Бацунов, фронтенд
- Антон Давыдов, архитектор
- Ксюша Сафронова, менеджер проекта

- Владимир Тарановский, фронтенд
- Вячеслав Набатчиков, бэкенд
- Леша Богословский, фулстек
- Николай Кирьянов, бэкенд
- Тимур Брачков, фронтенд
- Никита Лазаренко, бэкенд
- Никита Алешников, бэкенд.

Горжусь ребятами.

Мы сделали этот проект совместно с командами разработки, аналитики, техподдержки и тестирования Вебиума. Отдельное спасибо:
- Роксане Боровик, руководителю Вебиума, за доверие;
- Вике Гармаш, продакту Вебиума;
- Никите Савостину, техдиру Вебиума.

У вас трудности с разработкой и текст выше кажется нереальным? Пишите @samatg, мы любим сложные задачки :)

пост №1613Управление и команды

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

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

У Чайки десяток больших информационных систем: ядро — Медицинская Информационная Система, в которой врачи ведут медицинские карты пациентов, лабораторная система для обмена данными с лабораториями типа Invitro, продвинутый модуль BI для анализа финансовых показателей и тд. А ещё у них есть амбиция продавать свои технические решения на международном рынке.

Большую часть этих систем Чайка программирует инхаус командой из 15 программистов, тестировщиков и 3 продакт-менеджеров. Nodejs, php, typescript, postgres — современный стартап, но в отличие от обычного стартапа, если наши системы упадут, то 600 врачей не смогут эффективно лечить людей.

Нас с Федей позвали, потому что исторически в Чайке не было компетенции управления разработкой и команда перестала справляться с объемом хотелок бизнеса. Классическая история: со временем вырос и техдолг и скоуп.

В мае мы подключили несколько своих программистов и сейчас готовимся к запуску первого совместного продукта — AstraShare. Это модуль, который позволяет делиться частями медицинской карты пациента со внешними врачами в электронном виде; например, когда нужно отправить клиента на операцию или для получения второго мнения. В отличие от остальных систем Чайки, модуль построен на основе международного стандарта FHIR.

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

Самый кайф — в сути того, что мы говорили, заперевшись в переговорке на полтора часа вместо запланированного часа. Как рубились по фактам, ругались и даже кричали, не понимая друг-друга (ок, кричал я один), а в результате — разобрались и договорились, как работать дальше вместе. Обожаю личные встречи, никакой зум не заменит ❤️

Кстати, мы ищем технического директора в Чайку, вот вакансия. Рекомендую.

пост №1598Разработка и инженерия

Давненько у нас не было «классических» эпизодов про то, как технически устроены известные сервисы и как там построена разработка.

Восполняем этот пробел эпизодом про ЦИАН. Если вы снимали, сдавали или покупали жилье в России — вы с ним точно сталкивались.

Как ЦИАН смог стать таким популярным, что случилось, когда они объединили два огромных бэкенда на .NET и PHP/Python и как они борются с мошенниками с помощью алгоритмов — узнаем у технического директора ЦИАНа Алексея Чеканова.

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

пост №1412Управление и команды

Веду открытие финала чемпионата мира по программированию в Москве. У меня много чувств в связи с тем, что я ведущий, но в этом канале хочу поделиться другим.

В перерыве, в гримерке, мы на 10 минут собрались за одним столиком с Гришей Савенком, директором по цифровым решениям в Мегафоне и Димой Егоровым, директором поисковых технологий Тинькова.

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

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

Во вторых, интересно увидеть разницу в подходах, в мышлении, в приоритетах. Порой их можно уловить по одной фразе, даже по интонации другого техдира. Богатая пища для размышлений.

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

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

пост №1108Управление и команды

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

Мы с Федей уже почти месяц вместе составляем системный ответ на этот вопрос. Для командной работы мы завели личную базу знаний (что-то вроде своей википедии) в 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. У нас есть отличная вакансия для рубиста в Питере.

пост №1103Бизнес и стартапы

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

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

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

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

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

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

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

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

——

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

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

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

пост №1011Работа и карьера

Начнём с простого: почему дейтинг, почему Pure?

Знакомства и общение - самая интересная мне область приложения технологий. Здесь сильные эмоции; мы создаём среду, влияем на поведение людей, на их жизни. Я люблю книги (Bookmate), мне интересны медиа (Медуза) и я начал ценить видеоигры (RAWG), но дейтинг, общение - самый 🔥

Pure сегодня - сотни тысяч пользователей в приложениях под iOS, Android и в вебе. Распределенная продуктовая команда из более чем дюжины толковых специалистов. Есть куда приложить мои умения. При этом Pure - не корпорация как Badoo или Одноклассники с ВК. Не в обиду сказано, вы крутые, просто хочется другого.

Ну и самое важное для меня - создатель Pure и его продакт, Рома Сидоренко. Во первых, он мне очень нравится. Во вторых, у Ромы сильные те стороны, которых мне не хватает и которым я хочу научиться. Рома классно спрашивает по договорённостям, делегирует, использует рацио там, где я ударяюсь в эмоции и крутой продакт ❤

пост №1010Личное

Привет! Давненько не писал и тому были причины:

1. У нас с женой родился сын. На третьем ребёнке я наконец распробовал, как классно быть отцом.

2. Ухожу из RAWG. Горжусь, что мы открыли API самой большой базы данных видеоигр в мире. Скоро ребята презентуют интеграции с крупными игроками. Коллеги, спасибо, вы классные!

3. Я технический директор Pure. Pure - анонимный дейтинг, где можешь быть кем захочешь.

Возвращаюсь из пещеры, есть чем поделиться. Надеюсь, я ещё не разучился писать. Собираюсь постить гораздо свободнее чем раньше, не обессудьте.

пост №636Управление и команды

Обещал — рассказываю: «как я передал должность техдира Медузы».

Шутили вчера с женой, что Боря заведет свой тг-канал и выпустит дисс «как Самат нас бросил, или не всё так радужно» 🙈

https://medium.com/@samat/10b63c46f74a

пост №626Работа и карьера

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

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.