Омск, ОмГТУ и Центральный банк
Сергей открывает разговор шуткой, что сегодня будут декомпилировать его код, и сообщением, что через неделю переживёт очередной инкремент — сорок один год. Родился и «пригодился» он в Омске: дома был Спектрум, где игру с кассеты ловили по счётчику магнитофона, а без счётчика — на слух, потом пентиум, который на каждый праздник апгрейдили планкой памяти и перетыканием перемычек ради разгона. Математика и олимпиады шли легко, физика — хуже, и раз собирать процессоры не тянуло, он выбрал программирование. ЕГЭ тогда не было, возить его в Москву на пробу родители не могли, поэтому — ОмГТУ и специальность «вычислительные машины, комплексы, системы и сети». Александр в ответ вспоминает лицей в Северодвинске и учителя, готовившего призёров международных олимпиад: физика оказалась не про формулы, а про выбор модели и отбрасывание лишнего, и позже он этим же приёмом разбирал задачу с сотрудником, который считал физику ненужной.
На входе в омские компании работала кастовая логика: «а ты с какого вуза?» — и дальше «приятно познакомиться». Взял его Центральный банк, где команда разработки целиком сидела в Омске, заказчики приезжали из московских департаментов с готовой постановкой, а эпоха была доджайловой и почти сплошь фулстековой. Система обслуживала в том числе наличное обращение: расчётно-кассовые центры, счётно-сортировальные машины размером с комбайн без колёс, куда деньги завозят мешками. Один из проектов — хранилище в Краснодарском крае: огромный «амбар» с подведёнными железнодорожными путями, куда поезд с деньгами заезжает внутрь, стеллажи, а позже итальянские и немецкие роботы, к интерфейсам которых на C он писал обвязку из Java через JNI. В банке он проработал девять лет и признаёт, что ретроспективно стоило уйти раньше; параллельно доходил до финала в команде интернета вещей Oracle в Петербурге и проходил этапы в Deutsche Bank, где объявили фриз.
Сбербанк Онлайн: вендор и первые релизы
Следующим местом стал Сбертех, где собирали команду под Сбербанк Онлайн: до этого приложение писал внешний подрядчик, которого в эфире принципиально не называют. Сергей показывает механику отношений с вендором на «мёртвых душах»: заказчику рассказывали про шестьдесят человек в Москве, к приезду сгоняли всех в один кабинет, а работало, дай бог, тридцать. Релизы выходили раз в квартал, иногда раз в полгода, один, по его словам, тянулся месяцев девять — «за это время можно ребёнка зарелизить». Полгода команда пыталась перенимать экспертизу, отдавать которую вендор не спешил, а под Новый год руководство банка решило попрощаться. Дистрибутив принесли на флешке: развернули, поправили около тысячи багов и, по его воспоминаниям, в апреле 2016 года выпустили первый инхаус-релиз, за который даже дали премию. Потом тот же человек пришёл со второй флешкой, версией посвежее, и после мержа приехало ещё восемьсот багов.
Роли менялись вместе с продуктом: разработчик, через полгода тимлид первой команды, потом три-четыре команды, потом ответственный от разработки за сборку релиза — гонял разработчиков и ругался с тестировщиками и аналитиками, «видимо, рассмотрели во мне какую-то склочность». Команда выросла с десяти человек примерно до трёхсот; людей хантили из омского офиса крупного аутсорсера, где инженеры годами вели проекты для Boeing и приходили с резюме на десять страниц по-английски. Отсюда сквозная мысль выпуска: рост зависит не только от способностей, но и от окна возможностей — растущее производство открывает роли, а компания, которой достаточно не умереть, не открывает ничего. Оба тут же делают оговорку: гнаться за скоростью вредно, иначе получается колосс на глиняных ногах, который не может объяснить ни архитектуру своего продукта, ни собственный менеджмент.
Стартап, платформы и день CTO
После перевода в Сбербанк Сергей почувствовал, что теряет экспертизу, и три месяца пробыл архитектором Сбербанк Онлайн: встречи с девяти до шести-семи и поток людей, которые начинают разговор со ссылки на поручение первых лиц, — «сидишь как джин, которого постоянно трут». Дальше блокчейн-стартап, в который он ушёл, уже перебравшись вместе со Сбертехом в Иннополис: семеро в команде, первые два месяца по шестнадцать часов, культурный шок после сберовских рельсов («а где Пётр Иванович, где кнопка?»), руководитель стартапа, который после очередного озарения менял модель, и год переделок. Отсюда привычка проектировать так, чтобы в любой момент расстаться с решением, и покрывать его тестами; Новый год он встретил с бокалом в правой руке и деплоем левой, потому что прод жил в Азии. Потом был Райффайзен и владение платформой под интернет-банк и мобильное приложение для физлиц — «школа варения каши из топора».
Тех-долг там копился так, что в шкафах находились не скелеты, а скелет тираннозавра, при этом владелец юнита полностью управляет своими opex и capex — модель, которую Сергей считает правильной, — но приходила лин-команда и срезала процентов пятнадцать. Ушёл он, когда платформы разобрали по продуктовым доменам и приоритет сменился на «сделаем быстро, разберём потом»: два года разбирать завалы, чтобы потом закапывать собственную яму, он не захотел. В Тинькофф его собеседовал Александр, обкатав на нём новую задачу про систему A/B-тестов; там Сергей работал «между двух отцов», Александром и Андреем Тимоничем, и строил сквозной origination вместо исторических слоёв, а наработки по стрим-командам, по словам Александра, пригодились и после его ухода. Сегодня в Газпромбанке день состоит из встреч, годовых KPI, one-to-one со стримлидами и походов в команды, чтобы не жить в башне. Про баланс Сергей говорит просто: стараться выключаться часов в семь-восемь и не пускать задачи в выходные, а форс-мажоры принимать как плату за ответственность. Финальный совет — серебряной пули нет, и начинать надо с вопроса, чего ты сам хочешь.
Что стоит унести с собой
- 01Рост зависит не только от компетенций, но и от окна возможностей: взрывной рост продукта открывает роли, а компания в режиме поддержки штанов не открывает ничего.
- 02Отношения с вендором проверяются цифрами: шестьдесят заявленных человек оказались тридцатью, а постоянно съезжавшие сроки стали поводом забрать разработку внутрь.
- 03Стартап приучает проектировать решение так, чтобы в любой момент его выбросить, и покрывать тестами: при частой смене модели без тестов не выжить.
- 04Продукты и платформы стоит разделять, когда платформа втягивает в себя продукт и теряет фокус; перекос в скорость роста человека даёт колосса на глиняных ногах.