
Евгений Жданов
Senior Software Engineer | Technical Lead
О себе
10 лет профессионального опыта в разработке, основной стек — Go и Ruby/Rails. Последние 2 года — тимлид: примерно 40% код, 60% архитектура и координация. Создавал платёжные интеграции, HR-платформы и команды вокруг них. Эффективен, когда владею техническими решениями и работаю в небольшой команде.
Основатель и core maintainer OpenTalon (github.com/opentalon) — production-grade open source платформы AI-оркестрации на Go (Apache 2.0) для безопасной интеграции LLM в корпоративные процессы: multi-provider routing (OpenAI / Anthropic / DeepSeek), prompt injection prevention, изолированная gRPC-плагинная архитектура, интеграция через MCP. Соавтор Talon — языка логического программирования для экспертных систем (Prolog/Datalog-inspired) со встроенными ML-примитивами; пишу его компилятор на Go (Lexer, Parser, Query Planner, Runtime).
Инженерная философия: не доверяю теории, практика критерий истинности. То что не работает на проде не имеет смысла. Предпочитаю тихих инженеров, которые выполняют задачи и деплоят на прод, а не продавцов успешного успеха. Строю процессы, потому что процессы воспитывают дисциплину.
Опыт работы
Founder & Core Maintainer — OpenTalon — open source AI-платформа (github.com/opentalon)
Май 2025 — настоящее времяСтек технологий:
Go, gRPC, Protobuf, LLM APIs (OpenAI / Anthropic / DeepSeek), MCP, Datalog/Datalevin, PostgreSQL, SQLite, Kubernetes, Helm, GitHub Actions
Продукт:
Production-grade open source платформа для безопасной LLM-оркестрации и AI-агентов в корпоративных процессах, на Go (Apache 2.0). Альтернатива коммерческим LLM-оркестраторам.
Ключевые достижения:
- Основатель и ведущий разработчик OpenTalon — веду техническое направление, архитектуру и публичный roadmap платформы.
- Построил enterprise AI-оркестрацию на Go: multi-provider routing (OpenAI / Anthropic Claude / DeepSeek) для экономии на моделях, детерминированный препроцессинг, изоляция плагинов и enforcement политик — то, чего не даёт «один большой LLM-вызов».
- Ключевая идея архитектуры — «LLM пишет код, runtime держит его безопасным» (по мотивам Cloudflare Code Mode for MCP): модель генерирует не сырые tool-calls, а сценарии на ограниченном DSL Talon, грамматика которого физически не может выразить небезопасную операцию — sandbox структурный, а не «политика, которой мы надеемся, модель следует».
- Реализовал prompt injection prevention: каждый запрос к LLM проходит security-проверку первым, guard-плагины санитизируют tool-результаты до того, как их увидит модель — закрывает ключевой риск OWASP LLM Top 10; одна скомпрометированная интеграция не может отравить контекст модели или пробиться в другие.
- Спроектировал безопасную плагинную архитектуру: плагины — отдельные OS-процессы через gRPC + Protobuf, изоляция памяти ядра, без эскалации привилегий и lateral movement между плагинами. Channel-aware аутентификация для Teams/Slack скоупит доступ к данным и инструментам по каналу и пользователю.
- Разработал слой content preparers / deterministic preprocessing: бизнес-валидация перед LLM-вызовом — экономит токены, снижает latency, выносит compliance-правила из промпта в тестируемый код. Интегрировал MCP (Model Context Protocol) как источник фактов и встроенный host-scheduler для периодических задач.
- Разработал opentalon-agents (persistent LLM-authored агенты): пользователь описывает задачу в чате словами, LLM однократно генерирует логику на Talon, плагин исполняет её автономно и детерминированно, без модели в рантайме (authoring вероятностный, исполнение — дешёвое и детерминированное). Edge-triggered watcher над EAV-триплетами фактов со snapshot-состоянием для restart-safe исполнения; триггеры poll, webhook, cron с backoff. Внешний gRPC-плагин с собственным стейтом в SQLite/Postgres, всё group-scoped.
- Соавтор Talon (github.com/opentalon/talon-language) — декларативного языка логического программирования, вдохновлённого Prolog/Datalog: правила читаются как английский, доменный эксперт пишет и аудитирует их без программирования; движок делает forward-инференс над фактами. Блоки правил: detect, forecast, recommend, rule — с предикатами, Or/Not, full-text, aggregates + GroupBy, вызовом правил из правил.
- Пишу компилятор Talon на Go: Lexer, Parser, Validator, Query Planner, Runtime — с AST, оптимизатором запросов (DatalevinQuery планы), REPL и собственным фреймворком тестирования правил (.talon.test). FactStore на Datalevin (нативный Datalog, FTS, raft); каждая детекция объяснима и аудируема — отдаёт trace: какие факты, какое правило, какой порог.
- Встроил лёгкие ML-примитивы как ключевые слова языка (anomaly detection, forecasting, clustering, classification) — статистические примитивы, работают за миллисекунды на структурированных данных, пороги адаптивно обучаются на данных тенанта. Целевые сценарии — compliance-heavy домены (финансы, страхование, healthcare, legal) и asset/fleet-обслуживание: LLM парсит неструктурированный ввод, детерминированные правила гарантируют regulatory compliance и эскалацию.
Software Consultant — Индивидуальный Предприниматель
Май 2025 — настоящее времяСтек технологий:
TypeScript, React, Ruby/Rails, Kubernetes, Helm, GitLab CI
Продукт:
Контрактная разработка, техническое консультирование и код-ревью для команд и постоянных клиентов.
Ключевые достижения:
- Контрактная работа над онлайн-редактором нот/табулатур (TypeScript, фронтенд + бэкенд) — 6-месячный проект, почасовая оплата. Использовал AI-ассистированную разработку с Claude для ускорения delivery.
- Мигрировал легаси Ember.js приложение на React для постоянного клиента (Magtuner) — проект, изначально созданный в 2016. 3-месячный проект с AI-ассистированным workflow: структурированная миграция с markdown-артефактами для непрерывности, полное переписывание бизнес-логики на современный React.
- Руководил проектом виджетов для FB/IG: разработка от и до, деплой через Helm в Kubernetes, настройка GitLab CI/CD пайплайна с нуля. Менторил 18-летнего студента CS-курсов в рамках проекта по требованию клиента.
- Усилил CI/CD для Ruby-проектов: настроил rubocop, brakeman и strong-migrations для автоматических проверок качества и безопасности кода. Отдельно обновил другой проект до Rails 8.1.
- Open source: опубликовал copy_with_context.nvim (плагин для Neovim) и tinylist (Kubernetes email API сервис).
- Опубликовал 10+ инженерных статей на zhisme.com.
Team Lead — ООО Рокет Ворк
Ноябрь 2023 — Май 2025Стек технологий:
Ruby/Rails, Go, React, PostgreSQL, Kubernetes, ArgoCD, GitHub Actions, Grafana, Kibana, Sentry
Продукт:
B2B HR-автоматизация — конфигурируемая система управления персоналом (найм, увольнение, отпуска, подписание документов) для корпоративных клиентов.
Ключевые достижения:
- Принял замороженный продукт — кодовая база существовала, но до продакшна не дошла. Довёл до платящих клиентов в одиночку, затем собрал команду из 5 человек (4 разработчика + 1 QA).
- Выстроил весь процесс разработки с нуля: Jira workflow (всё — тикет), Git Flow, code review с turnaround <24ч, еженедельный релизный цикл через Helm + ArgoCD в Kubernetes.
- Спроектировал конфигурируемый HR workflow-движок — каждой компании нужны разные формы, цепочки согласований и поля данных для одного и того же процесса (например, «найм» отличается в каждой организации). Создал JSON-конструктор форм, чтобы не-разработчики настраивали workflow из админки, React-фронтенд потребляет схему.
- Подхватил и довёл до продакшна Go-микросервис для электронной подписи документов (CryptoPro PDF-подписи + водяные знаки) — остался незавершённым от предыдущей команды. Добавил парсинг PDF, логирование, трейсинг запросов, задеплоил в продакшн.
- Настроил observability на уровне приложения: метрики Yabeda Rails, бизнес-KPI дашборды в Grafana (завершённые workflow, подписи документов, доставка уведомлений), trace_id запросов в Kibana для сквозной отладки, Sentry для трекинга ошибок. Инфраструктурную часть вела DevOps-команда.
- Нанял и руководил 3 инженерами — проводил технические собеседования, онбордил, непосредственно руководил командой: ставил задачи, направлял технические решения, помогал разблокировать проблемы ежедневно.
Senior Software Engineer — Emerchantpay
Январь 2021 — Ноябрь 2023Стек технологий:
Ruby/Rails, MySQL, React, Elasticsearch, Jenkins, Docker, AWS
Продукт:
Платёжный шлюз для 10,000+ мерчантов с множеством банковских интеграций. Крупное Rails-приложение с долгой историей в продакшне.
Ключевые достижения:
- Интегрировал латиноамериканские банки с нуля — первая интеграция заняла 3-4 месяца. Работал с внешними XML/SOAP API для обработки транзакций, SFTP batch-трансферы с PGP-шифрованием (пары приватных/публичных ключей), Sidekiq cron для синхронизации статусов транзакций. Настроил веб-формы оплаты для карточных платежей.
- Реализовал reconciliation транзакций: автоматическая сверка сумм и статусов между системами, где статус мог обновляться из нескольких источников. Потоки обработки, сверки и отмены через разные банковские API.
- Устранил уязвимости безопасности по результатам аудитов: path traversal на SFTP-сервере (CWE-22), инъекция через неэкранированные кавычки в парсинге XLSX.
- Поэтапная чистка легаси параллельно с фича-разработкой — обновление базовых классов, удаление мёртвого кода. Не грандиозный рерайт, а ответственная инженерия в кодовой базе, где любое случайное изменение могло сломать живые платежи.
- Менторил 3 junior-разработчиков через code review и парное программирование.
Software Engineer — Noveo (аутсорс для крупной французской компании розничной аналитики)
Июнь 2018 — Январь 2021Стек технологий:
Ruby/Rails, React, TypeScript, MongoDB, MySQL, Redis, Elasticsearch, Docker, GitLab CI
Продукт:
Корпоративная платформа обратной связи — сбор опросов и аналитика для розничных сетей.
Ключевые достижения:
- Мигрировал аналитику с MongoDB на Elasticsearch, сократив загрузку дашбордов с ~2 минут до 5-10 секунд для графиков и гистограмм по данным обратной связи.
- Рефакторинг легаси-кодовой базы — вынес fat controllers/models в service objects. Клиент профинансировал вторую фазу: переписывание модуля анкет на React + Rails API с модульной архитектурой, после того как мы уже переделали админский конструктор.
- Внедрил SAML 2.0 SSO — спроектировал схему БД для федеративных пользователей, чтобы корпоративные клиенты аутентифицировались через свои identity providers (Okta, Azure AD) без отдельных учётных данных.
- Менторил 3 стажёров через code review и парное программирование; 2 были наняты в штат.
Junior Software Engineer — Magtuner SA (Лозанна, Швейцария)
Март 2016 — Май 2018Стек технологий:
Ruby/Rails, Ember.js, Elixir, WebSockets, MySQL, Redis
Продукт:
Платформа интерактивного обучения с живым участием аудитории.
Ключевые достижения:
- Реализовал систему блокировки/разблокировки совместного редактирования на Elixir для параллельного доступа пользователей.
- Разрабатывал full-stack CRUD-функционал (Ember.js фронтенд + Rails бэкенд) и реализовал ACL-систему прав доступа к документам для управления общими ресурсами.
- Обеспечивал работу live-мероприятий, включая Детские Олимпийские игры (~50 параллельных WebSocket-соединений).