От похоронного бюро до платформы Diasoft
Евгений родился и учился в Тутаеве — небольшом городе Ярославской области, выросшем вокруг одного завода, — а потом поступил на прикладную математику в Ярославский университет имени Демидова. Интернет тогда был по карточкам, а первым техническим наследством от соседей по общежитию стали руководства по Solaris девяностых годов: что с ними делать разработчику, он не понял. Первую работу получил как дизайнер визиток — местное похоронное бюро узнало, что он учится на программиста, и заказало программу за 5 000 рублей, рассчитывая сэкономить на 1С; в итоге директор потерял полгода и всё равно купил 1С, и урок, по словам Евгения, вышел для обоих. Практику он начал в маленькой фирме, где его встретили бухгалтеры и показали стажёрское место между туалетом и шкафом: за два дня к нему никто не подошёл, зато он впервые увидел три соединённых монитора у главного программиста — и на третий день не пришёл. Закрывать практику пришлось на моторном заводе, продавая запчасти для тракторов и КамАЗов.
После университета он попал в Diasoft, который как раз открыл большой офис в Ярославле, и несколько лет вёл внутреннюю автоматизацию: пайплайн сборки всех продуктов и версий, остановка которого останавливала бизнес. Своя копия Jenkins, много кода поверх системы контроля версий, наставник, с которым повезло, и друг, направивший его к книгам Джоэла Спольски и Пола Грэма. Александр замечает, что сегодня этот домен зовут платформенной инженерией: внутренний продукт снаружи никто не видит, зато догфудинг мгновенный. Евгений добавляет, что клиент может подойти на корпоративе и сказать, какую дрянь ты написал. Из ранних провалов он вспоминает попытку сделать аналог git merge на SQL — трёхэтажные запросы, определявшие, вливается ли одна ветка в другую. Тимлидом он тогда не стал: считал, что знает недостаточно, и много лет копал вглубь технологий. В Diasoft он работал дважды, между ними — год в консалтинге; вернулся уже в платформенную команду, где запускал платформу на IBM z/OS и подключал к веб-приложению датчик отпечатка пальцев, приехавший из Штатов чёрной коробочкой.
Офшор, доверие заказчика и рождение Raft
Уйти заставил последний большой проект — миграция сложного софта с Oracle на PostgreSQL: код-транслятор на обычных грамматиках и подмена SQL через снифинг трафика, когда man in the middle с JDBC-драйвером убеждает приложение, что оно всё ещё работает с Oracle. Год-полтора без света в конце тоннеля — и Евгений перешёл в ярославскую сервисную компанию, делавшую заказную разработку для Microsoft, Google и других клиентов из Кремниевой долины. Там его ждал медицинский стартап, в исходниках которого не оказалось ни одного файла .java: российским подрядчикам конфиденциальные медицинские данные не доверяли, и бэкенд отдали лишь через несколько лет и командировки в Сиэтл. Вместо образцового кода бывшего тимлида Sun Microsystems он увидел один сервлет с do get и do post и вложенностью if-else уровня восьмидесяти-девяноста: писал опытный архитектор из поколения до объектно-ориентированного программирования, потом ушедший на пенсию.
Отсюда разговор уходит в смену поколений: Александр вспоминает «Структуру научных революций», по его словам, Томаса Куна — старая теория держится, пока её апологеты не уйдут на пенсию; Евгений отвечает историей про плюсики вместо join в коде на PL/SQL, синтаксис восьмидесятых, который опытные разработчики банков передают новым поколениям как удобную привычку, и советует короткую книгу Driving Technical Change о сопротивлении техническим изменениям. Дальше — механика заказной разработки: две воронки, продаж и delivery; редкий шанс углубиться в одну технологию; высшая форма отношений, когда клиент не чувствует границы между своей командой и подрядчиком. Ярославский офис вырос с тридцати человек до более чем двухсот, а в 2022 году коллектив остался без работы — так с партнёрами появился Raft, названный не в честь алгоритма консенсуса, а в честь летнего сплава на надувных рафтах.
OWASP, гардрейлы и выделенный стартап
Первый год был турбулентным: клиентов искали на всех подряд конференциях, пока не поняли, что нужны бизнес-мероприятия, где доклады покупают, а уходишь с полным карманом визиток. Ставку сделали на генеративный AI — за плечами было несколько проектов с машинным обучением, вплоть до опытов с GPT-2, а терять было нечего; в 2023 году с отдела сняли цель по маржинальности, чтобы понять, что внедряется, а что нет, и охотнее брали небогатые, но быстрые стартапы. Безопасность вошла в его жизнь раньше: на медицинском проекте он как технический директор писал около пятидесяти документов на английском под американские требования к медицинским данным — два месяца работы без ChatGPT. Один из документов требовал тестировать софт на атаки; команда взяла методику OWASP Top 10, нашла уязвимости — и получила по шапке: у заказчика горели дедлайны, а находки сделали его официально уведомлённым о проблемах, и продолжать запретили.
В OWASP Евгений пришёл волонтёром, чтобы разобраться, как индустрия решает задачу, которую его команда в 2023 году не смогла ни продать, ни толком сделать. Топ-10 уязвимостей больших языковых моделей — первый результат в Google и потому главный аргумент в переговорах, но документ 2024 года он называет странным: промпт-инъекция — техника атаки, а не уязвимость, DoS почти не связан с LLM, а галлюцинации попадают в список, потому что авторы хотят обратить на них внимание; собран он голосованием небольшой группы, а не статистикой инцидентов. Его собственный пункт про function calling в версию 2025 года не вошёл, но перешёл в работу над агентными системами. После курса при магистратуре Talent Hub Raft открыл на базе университета лабораторию атак, а из её экспериментов вырос коробочный продукт: мониторинг, разгребающий шум телеметрии агентной системы до состояния, пригодного для SIEM, и защитные модели-гардрейлы — чтобы чат-бот, рекомендующий книги, не давал советов по лекарствам. Несколько недель назад стартап-студия МФТИ проинвестировала в него, и продукт выделили из Raft в отдельную компанию.
Что стоит унести с собой
- 01В заказной разработке ты решаешь проблему конкретного человека: сделка часто держится на менеджере заказчика, который идёт за промоушеном, поэтому результат бинарен и от качества кода зависит меньше, чем кажется.
- 02Ссылка на OWASP не равна защищённости: топ-10 для больших языковых моделей опирается на голосование волонтёров, а не на статистику инцидентов, и часть пунктов туда попала по историческим причинам.
- 03Защита GenAI-приложения складывается из двух частей — мониторинга, который отфильтровывает телеметрию агентов до пригодных для разбора инцидентов, и гардрейлов под конкретный сценарий; при этом фильтры промпт-инъекций не срабатывают в ста процентах случаев, а атакующему хватает одного процента.
- 04Планка изменилась: миграцию PL/SQL, ради которой когда-то писали тонны Java-кода командой из нескольких человек, сегодня делает один запрос к ассистенту — и вопрос сместился к тому, как внедрять такие инструменты безопасно.