Перейти к содержимому
FI
доступен · точечно Москва / удалёнка · UTC+3 ru · en сборка · 2026-07-07

leviann · портфолио

Фарид Исмаилов Senior SDET, QA Automation и AI Tooling Engineer.

Автоматизация, quality gates и AI-инструменты для backend и enterprise-систем.

позиционирование

// 01

Чем занимаюсь.

Три направления, на которых работаю каждый день. Большинство задач — комбинация из этих трёх.

опора / 01

Quality engineering

Backend / API, e2e-автотесты, регресс, release readiness, quality gates в CI/CD.

  • Собрал тестовые пирамиды и регресс-наборы с нуля на трёх продуктах
  • REST / SQL / контракты — валидация на стыке сервисов и интеграций
  • Release readiness, UAT/ПСИ, quality gates вшиты в GitLab CI / Jenkins
опора / 02

AI tooling

LLM / RAG / агенты, контекст-инжиниринг, MCP, автоматизация Playwright, self-hosted пайплайны.

  • LLM-роутинг между Gemini и OpenRouter как универсальным фолбэком (в т.ч. до Grok) с circuit breaker'ами
  • RAG / CRAG поверх кода, документации и истории диалогов (ChromaDB)
  • Кастомные MCP-серверы и Playwright-агенты, которые гоняют реальные тест-сценарии
опора / 03

Infrastructure mindset

Docker, Linux, Nginx, systemd, observability, автоматизация в условиях реальных ограничений.

  • Self-hosted dev / AI стек на Linux: Docker Compose, systemd, Nginx, VPN
  • Диагностика багов через логи, трейсы и SQL
  • Архитектура под корпоративную сеть: зеркала, прокси, ограниченный egress

рабочие принципы

// 02

Как работаю.

Несколько рабочих привычек, на которые опираюсь в повседневной работе.

  • p_01

    “Сначала логи, потом теории.”

    Симптомы объясняю из journald, трейсов и SQL. Сначала воспроизвести, потом теоретизировать.

  • p_02

    “Если этого нет в CI — это не релиз.”

    Quality gates живут в пайплайнах, а не в Confluence. Релизная ветка — источник правды.

  • p_03

    “Failure modes проектируются, а не находятся.”

    Retry, circuit breaker'ы, таймауты и идемпотентность учитываются на этапе дизайна, а не после первого инцидента.

  • p_04

    “Точечные правки вместо переписывания.”

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

ai engineering platform

// 03

Личный стек для работы с AI-агентами.

Набор инструментов для agentic development: кастомные MCP-серверы, настроенный IDE-сетап и AI-помощник на PR. Сначала обкатываю на личных проектах, потом постепенно переношу полезные паттерны в рабочие задачи.

personal stack
  • p_01

    Свои MCP-серверы

    Не только потребляю готовые MCP, но и пишу свои поверх личной инфраструктуры — 10 серверов, от код-интеллидженс до security-скана.

    • Код-интеллидженс: code_ast (экономия токенов агента + быстрый код-поиск), jvm_semantic, python_semantic — символьный поиск и rename-impact без полного IDE/LSP
    • Build & verify: gradle_runner (детерминированный запуск Gradle-тасков для проверки PR), playwright_review (разбор Playwright trace/video/har), deps_security (OSV CVE-скан + конфликты версий зависимостей)
    • Research: firecrawl (веб-скрейпинг), gemini_media (анализ изображений/видео/аудио/PDF через Gemini)
    • CRAG · собственный RAG поверх кода, ADR, диалогов и истории решений
    • Planka bugfix bridge · карточки канбана как гипотезы багов для агента в IDE — обязан перепроверить каждую по коду и логам, не доверять слепо
  • p_02

    Настроенный IDE для агентов

    Cursor и VS Code с дисциплиной правок и проверок: правила, хуки, pre-edit гарды.

    • Кастомные `.cursorrules` / `AGENTS.md` под каждый репозиторий
    • Pre-edit гард: type-check + lint per language до того, как агент закоммитит
    • Persistent memory через CRAG: сессии, фиксы и решения переживают рестарт
    • Единый MCP-registry — общий конфиг между Cursor и VS Code
    • Skill-файлы и cursor-hooks — повторяемые паттерны, а не одноразовые промпты
  • p_03

    HassioBot · мультифорджевый AI-ревьюер

    Первый проход по моим PR — теперь на трёх форджах, со специализированными ревью-лейнами и статическим анализом до LLM.

    • Мультифордж: Gitea (основной) + GitHub + GitLab — единый пайплайн ревью независимо от того, где лежит репо
    • Статический анализ первым проходом: ast-grep + semgrep правила отсеивают механическое до того, как за дело берётся LLM
    • 5 специализированных ревью-лейнов: tests-contract, concurrency-state, prompt-runtime-contract, anti-heuristic, blast-radius — каждый смотрит только свою зону
    • Собственный golden-eval регресс-пак — ловит, если правки промпта ревьюера тихо испортили качество вердиктов
    • Inline-комментарии в PR там, где есть что сказать, summary в Telegram
    • Не блокирующий — это вторая пара глаз, финальное решение моё
  • p_04

    Один стек на все проекты

    Тот же набор инструментов работает и в коммерческих задачах, и в личных репах.

    • Нет отдельной «play» и «work» среды — Cursor / VS Code настроены одинаково
    • CRAG-память переживает рестарт IDE и сессии: контекст не теряется
    • Self-hosted: ничего не уходит наружу без явной необходимости
    • Каждый workflow сначала собирается на личных проектах, потом аккуратно переносится в рабочие

избранные кейсы

// 04

Избранная работа.

Большая часть в приватных репозиториях. Названия проектов ниже — публичные псевдонимы; внутренние имена и заказчики под NDA. Архитектурные диаграммы и code walk-through готов показать на интервью.

кейс / 01 приватный репозиторий · демо по запросу

Self-hosted AI Bots Monorepo

AI tooling · self-hosted

Личный монорепозиторий Telegram- и AI-ботов с собственным MCP-стеком.

Долгоживущий монорепозиторий Telegram- и AI-ботов на личном Linux-сервере. LLM используется как часть рантайма: роутинг, фолбэки, постоянная память, tool calling, CI на каждый push. Поверх — 10 собственных MCP-серверов и HassioBot — мультифорджевый AI-ревьюер на личных PR.

ключевое

  • Gemini как основной провайдер, OpenRouter как универсальный фолбэк (в т.ч. до Grok) через единый роутер
  • Personal Memory v2: SQLite-леджер + FTS5/BM25 + LLM query planner вытеснил граф памяти как основной слой (Graphiti / Neo4j теперь support-only)
  • 10 собственных MCP-серверов — от код-интеллидженс до security-скана, доступны прямо из Cursor / VS Code
  • Tool calling, function declarations, circuit breaker'ы, дисциплина retry / timeout
  • HassioBot · AI-ревьюер на PR: мультифорджевый (Gitea / GitHub / GitLab), статический анализ первым проходом, специализированные ревью-лейны
  • Access-scoped memory router: рабочий контекст маршрутизируется отдельно от личных данных — изоляция по видимости, не по паролю
  • Отдельная LLM-as-judge quality-gate система перед каждым ship'ом (см. карточку AI Judge ниже)
  • Docker / Linux / systemd / Nginx; деплой как реальные сервисы, не ноутбуки
Архитектура · схема компонентов Клик — на весь экран
Архитектура · схема компонентов
Python-файлов
1526
Тест-подобных файлов
655
MCP-серверов
10
Лет в проде
2+

стек

  • Python 3.12
  • Telethon
  • Gemini
  • OpenRouter
  • WaveSpeed
  • ChromaDB
  • SQLite
  • MCP
  • Playwright
  • Docker
  • systemd
  • Nginx
примечание · Приватный репо. Walk-through и code review показываю на интервью.
кейс / 02 приватный репозиторий · демо по запросу

AI Judge · Verify-Ship Gate

AQA · AI quality gate

Двухуровневый quality-gate для AI-диффов: детерминированный ship-gate + LLM-судья с bias-компенсацией.

Собственная система приёмки изменений для монорепо ботов. Детерминированный verify-ship gate (~4900 строк, 15 сабкоманд) проверяет каждый дифф на concurrency-регрессии, cross-bot propagation, agent-scar паттерны и полноту outside-diff пруфа — прежде чем разрешить PASSED. Отдельно — LLM-судья для семантического качества ответов ботов, с явной компенсацией предвзятостей модели-судьи и SHA-256 read-trace леджером против самообмана агента.

ключевое

  • Verify-ship gate: ~4900 строк, 15 сабкоманд, 111 собственных тестов — обязательный барьер перед PASSED
  • 14 обязательных ключей вердикта (concurrency, four-level sweep, cross-bot propagation, anti-heuristic audit и другие) — все должны быть true
  • 13 распознаваемых agent-scar паттернов — ловит типовые агентские регрессии (произвольный intent-классификатор по тексту, дрейф tool-deck) до того, как они уйдут в прод
  • 8 категорий outside-diff blast radius (caller / callee / sibling / test / config / prompt / schema / shared state) — гейт требует пруф, что проверено окружение диффа, а не только сам дифф
  • SHA-256 read-trace леджер — PASSED подтверждается машинным хэшем прочитанных файлов, а не честным словом агента
  • Отдельный LLM-судья (ai_eval_gate.py) для дрейфа качества ответов ботов: offline harness (256 anchor-тестов) → live prompt smoke → опциональный вызов судьи за явным флагом
  • Явная model-family bias-компенсация: GPT переоценивает helpfulness, Claude — hedging, Gemini — театральный roleplay — судью просят компенсировать это явно
  • Guard-философия задокументирована со ссылками на OR-Bench (over-refusal), OpenAI safe-completions и DeepMind specification-gaming — гварды не добавляются вслепую
Архитектура · детерминированный ship-gate + LLM-судья с anti-cheat леджером Клик — на весь экран
Архитектура · детерминированный ship-gate + LLM-судья с anti-cheat леджером
Строк в gate
~4900
Тестов на gate
111
Agent-scar паттернов
13
Обязательных ключей
14

стек

  • Python 3.12
  • pytest
  • OpenRouter API
  • Gemini
  • JSON Schema
  • SHA-256 ledger
примечание · Приватный репо. Архитектурный walk-through и код гейта показываю на интервью.
кейс / 03 приватный репозиторий · демо по запросу

СБС · E2E Automation

QA Automation · enterprise

End-to-end автотесты для веб-админки и PWA — с AI-помощником для triage.

Фреймворк автотестов на Kotlin для внутренней веб-админки и мобильной PWA в нескольких окружениях. Поверх обычного pipeline — небольшой AI-слой для triage: агент подтягивает логи упавшего прогона через S3 MCP, сопоставляет с проектной документацией в CRAG и готовит черновик баг-репорта в Jira, который я уже довожу руками. Та же CRAG-индексация работает и в обратную сторону — как поиск по проектной документации для команды.

ключевое

  • Kotlin 1.9 + JUnit 5 + Playwright for Java + Allure
  • End-to-end сценарии для веб-админки и мобильной PWA
  • Прогон в staging / pre-prod / prod окружениях с ограниченным сетевым доступом
  • Зеркало браузеров Playwright под закрытые билд-агенты
  • Test IT / Allure отчёты, регресс и release-readiness гейты
  • CRAG как индекс проектной документации — спецификации, ADR, runbooks, гайды по доменам
  • AI-triage: агент подтягивает логи через S3 MCP, сверяет с CRAG, готовит черновик бага в Jira
  • Поиск по проектной документации из IDE: «как работает X» возвращает релевантные куски
Архитектура · E2E-прогон + AI-triage поверх него Клик — на весь экран
Архитектура · E2E-прогон + AI-triage поверх него

стек

  • Kotlin 1.9
  • JUnit 5
  • Playwright for Java
  • Allure
  • Test IT
  • Gradle
  • GitLab CI
  • CRAG
  • S3 MCP
  • Jira API
примечание · Приватный репо под NDA · имя — публичный псевдоним. Архитектурный walk-through показываю обезличенно, на интервью.
кейс / 04 приватный репозиторий · демо по запросу

Conference Capture

AI tooling · браузер + локальный backend

Локальная запись видеоконференций с live-транскрипцией и пост-обработкой.

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

ключевое

  • Chromium-расширение, параллельный захват tab audio и микрофона
  • Overlay с live-транскрипцией поверх вкладки конференции
  • Gemini Live как основной STT, Yandex SpeechKit как фолбэк
  • Уведомления по hotword'ам с низкой задержкой
  • Аудио и транскрипт сохраняются локально, post-processing воркер чистит и индексирует
Архитектура · цепочка захвата и транскрипции Клик — на весь экран
Архитектура · цепочка захвата и транскрипции

стек

  • Chromium extension
  • TypeScript
  • Python
  • FastAPI
  • Gemini Live
  • Yandex SpeechKit
  • WebAudio
примечание · Приватный репо · имя — публичный псевдоним. Демо на интервью.
кейс / 05 приватный репозиторий · демо по запросу

Hassio Walkie

AI tooling · mobile + voice

Мобильное приложение для голосового общения с личным AI-ботом.

Часть bots monorepo — мобильное приложение для голосового общения с собственным ботом по push-to-talk: захват голоса, ответ из LLM, потоковый TTS обратно в наушники. Дополнительно — режим karaoke с подсветкой синтезированной речи и интеграция с Home Assistant: голосовое управление устройствами через тот же канал.

ключевое

  • Native mobile, Kotlin + Jetpack Compose · low-latency PTT-захват с visual feedback
  • STT через Gemini Live, ответ от собственного бота из bots monorepo
  • Потоковый TTS — фразы начинают звучать до того, как LLM закончит генерацию
  • Karaoke mode: подсветка слов в реальном времени, синхронизация с TTS-таймингами
  • Home Assistant интеграция: голосовые команды устройствам через тот же канал
  • Self-hosted backend, работает по личной сети — голос наружу не уходит
Архитектура · голосовой контур и karaoke-рендер Клик — на весь экран
Архитектура · голосовой контур и karaoke-рендер

стек

  • Kotlin
  • Jetpack Compose
  • Material 3
  • Gemini Live
  • Streaming TTS
  • WebSocket
  • Home Assistant API
  • OkHttp
примечание · Часть приватного bots monorepo. Демо на интервью.
кейс / 06 приватный репозиторий · демо по запросу

Not So Super Whisper

AI tooling · voice + cross-platform desktop

Кросс-платформенный локальный диктант-инструмент — офлайн ASR вместо подписки на SaaS.

Личный диктант-инструмент под macOS и Windows: держишь хоткей — идёт запись, отпускаешь — текст уже в буфере обмена и в датированной Markdown-заметке. ASR и VAD полностью локальные (NVIDIA Parakeet TDT v3 + Silero), голос никуда не уходит — разве что опциональная LLM-полировка текста через OpenRouter. Windows — не afterthought: AGENTS.md фиксирует жёсткий parity-контракт, любое пользовательское поведение обязано зайти на обе платформы в одной задаче.

ключевое

  • Глобальный хоткей (Carbon EventHotKey на macOS, низкоуровневый WH_KEYBOARD_LL-хук на Windows) — hold-to-record, либо двойной тап правого Cmd/Alt для quick-insert без сохранения файла
  • Один и тот же ASR — NVIDIA Parakeet TDT v3 (0.6B) — на двух разных локальных рантаймах: CoreML/FluidAudio на Mac, квантованный int8 ONNX через sherpa-onnx на Windows
  • Silero VAD на обеих платформах гейтит тишину; идентичный ~650мс хвостовой буфер после отпускания клавиши (независимо реализован в Swift и C#), чтобы не срезать последний слог
  • Опциональная LLM-полировка через OpenRouter чистит транскрипт и генерирует заголовок; при сбое тихо деградирует к сырому тексту вместо блокировки потока
  • AGENTS.md закрепляет parity-контракт: любое пользовательское поведенческое изменение обязано зайти на обе платформы в одной задаче, иначе — явное обоснование почему нет
  • One-command релиз (build_all.sh): собирает и подписывает Mac-бандл, синкает Windows-исходники по SSH на вторую машину, паблишит exe с XOR-встройкой OpenRouter-ключа на этапе компиляции (плейсхолдер восстанавливается сразу после), тянет модели, забирает артефакт обратно — и явно фейлит релиз, если ключевой файл утёк в архив
  • Menu bar / tray на обеих платформах: 10 последних записей с copy/open, Launch at Login, честный Quit — без Task Manager
Архитектура · диктант-пайплайн + кросс-платформенный релиз Клик — на весь экран
Архитектура · диктант-пайплайн + кросс-платформенный релиз
Платформ
2
Строк кода
~4000
Коммитов
20
Недель разработки
~3

стек

  • Swift
  • AppKit
  • CoreML
  • FluidAudio
  • C#
  • .NET
  • WPF
  • Win32 API
  • NAudio
  • sherpa-onnx
  • Silero VAD
  • OpenRouter API
примечание · Отдельный приватный репозиторий (не bots monorepo), self-hosted git. Демо на интервью.

коммерческий опыт

// 05

Опыт работы.

Три компании, в которых отвечал за качество релизов: финансовый post-trade, международный enterprise, B2B/B2C marketplace в Сбере.

  1. Апр 2026 — настоящее время · продолжается

    Lead SDET / QA Automation Lead — мобильная платформа · BB

    Крупный consumer-продукт с мобильными приложениями (Android/iOS). Руковожу QA automation-направлением: стратегия автотестирования, инструментарий, найм и менторство команды.

    • Веду QA automation-направление на мобильной платформе (Android/iOS) крупного consumer-продукта
    • Строю и масштабирую фреймворк мобильных автотестов на Kotlin + Appium поверх облака реальных устройств (BrowserStack)
    • Управляю тест-менеджментом через TestIT: тест-планы, регресс-наборы, трассируемость требований
    • Формирую стратегию quality gates и release readiness для мобильных релизов
    • Найм, онбординг и менторство инженеров QA automation; рост команды
    • Интеграция мобильных автотестов в CI/CD; координация с мобильными разработчиками

    стек

    • Kotlin
    • Appium
    • BrowserStack
    • TestIT
    • Android
    • iOS
    • CI/CD
    • Allure
    • Jira
  2. Сен 2020 — Апр 2026 · 5 лет 8 мес

    Lead SDET / Hands-on QA Lead · Сбер

    B2B / B2C marketplace и e-commerce продукт внутри Сбербанка. Команда 17+ разработчиков и 1–2 QA. Зона ответственности: качество релизов, тестирование backend / API, автотесты, регресс, UAT/ПСИ, quality gates в CI/CD, release readiness.

    • Отвечал за стабильность релизов 5+ лет в продукте с командой 17+ разработчиков и 1–2 QA
    • Выстроил QA-инфраструктуру: регресс-наборы, UAT/ПСИ, критерии готовности к релизу, quality gates
    • Собрал автотест-фреймворк на Python (Selenium / Playwright), позже мигрировал на Kotlin под стек разработки
    • Покрытие smoke, регресс и end-to-end сценариями: создание комплекса, продажа, статусы, отчёты, интеграции
    • Backend / API тестирование: REST, JSON-схемы, бизнес-правила, SQL-валидация, диагностика через логи и трейсы
    • Performance API / интеграций на JMeter и Yandex.Tank: латенси, throughput, error rate, регрессии endpoints
    • Интеграция автотестов в CI/CD: GitLab CI, Jenkins, OpenShift / Kubernetes; шаблоны MR и релизных прогонов
    • Онбординг и менторство QA-инженеров; код-ревью автотестов и shift-left декомпозиция требований

    стек

    • Python
    • Kotlin
    • Java
    • Selenium
    • Playwright
    • Appium
    • REST API
    • Postman
    • RestAssured
    • SQL
    • PostgreSQL
    • MySQL
    • GitLab CI
    • Jenkins
    • Docker
    • OpenShift
    • Kubernetes
    • JMeter
    • Yandex.Tank
    • Allure
    • Jira
    • Confluence
  3. Ноя 2016 — Авг 2020 · 3 года 10 мес

    Senior QA Engineer · Wiley

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

    • Выстроил тестовую инфраструктуру: тест-кейсы, тест-планы, матрицы трассируемости, регрессионное покрытие
    • Разрабатывал и поддерживал UI-автотесты на Selenium WebDriver + Java / Python
    • Тестировал REST API и интеграции между компонентами платформы
    • Верифицировал данные и диагностировал дефекты в Oracle, MySQL, PostgreSQL, MS SQL
    • CI/CD: Jenkins / GitLab CI, интеграция автотестов, разбор падений, приоритизация дефектов
    • Тест-лидирование: декомпозиция требований, оценка трудоёмкости, координация тестовых активностей

    стек

    • Java
    • Python
    • Selenium WebDriver
    • TestNG
    • JUnit
    • Allure
    • REST API
    • RestAssured
    • Postman
    • SQL
    • Oracle
    • MySQL
    • PostgreSQL
    • MS SQL
    • Jenkins
    • GitLab CI
    • Jira
    • Confluence
  4. Июл 2014 — Ноя 2016 · 2 года 5 мес

    QA Engineer · Exactpro Systems

    Финансовые системы: post-trade инфраструктура, клиринг, расчёты, двухфакторная аутентификация. Заказчики — биржи, клиринговые палаты и финансовые организации под FCA-grade регулированием.

    • Функциональное, интеграционное, регрессионное, smoke и исследовательское тестирование
    • Тест-сценарии на основе проектной документации и требований финансового домена
    • 2FA-сценарии с использованием мобильных приложений
    • Валидация UI и данных через SQL
    • Работа в Jira / Redmine, TestRail, Git / SVN
    • Тестировал 24/7 критичный post-trade сервис для биржи и клиринговой палаты под регуляторными требованиями

    стек

    • Java
    • Selenium
    • Selenide
    • TestNG
    • Allure
    • SQL
    • Oracle
    • MySQL
    • Postman
    • HTML
    • CSS
    • JS
    • Git
    • SVN
    • Jira
    • Redmine
    • TestRail

стек

// 06

Стек.

Сгруппировано по областям. Комфортно в любой среде, где есть REST, SQL, Docker и Git.

QA / Automation

qa_automation

Фреймворки и тулинг, которыми пишу и владею каждый день.

  • Playwright (Java / Python)
  • Selenium WebDriver
  • Appium
  • JUnit 5
  • TestNG
  • Pytest
  • RestAssured
  • Postman
  • Allure
  • Test IT
  • JMeter
  • Yandex.Tank
  • pytest-xdist

Backend / API

backend_api

Языки и поверхности, которые тестирую и интегрирую напрямую.

  • Python 3.12
  • Kotlin 1.9
  • Java
  • REST
  • JSON Schema
  • WebSocket
  • SQL
  • Bash / PowerShell

CI/CD / Infrastructure

ci_cd_infra

Где живут пайплайны, сервисы и quality gates.

  • GitLab CI
  • Jenkins
  • Docker
  • Docker Compose
  • OpenShift
  • Kubernetes
  • Linux
  • Nginx
  • systemd
  • VPN
  • Git

AI / LLM

ai_llm

Прикладные self-hosted инструменты для LLM и агентов.

  • Gemini
  • OpenRouter
  • WaveSpeed
  • Telethon
  • RAG / CRAG
  • ChromaDB
  • Graphiti
  • Neo4j
  • MCP
  • Function calling
  • LLM routing
  • Context engineering

Базы данных

databases

Где читаю, валидирую и диагностирую боевые данные.

  • PostgreSQL
  • MySQL
  • Oracle
  • MS SQL
  • SQLite
  • ChromaDB
  • Neo4j

Инструменты

tools

Редактор, трекинг и остальной ежедневный набор.

  • Cursor
  • VS Code
  • IntelliJ IDEA
  • Jira
  • Confluence
  • TestRail
  • Redmine
  • Git
  • GitHub

доказательства

// 07

Краткие факты.

Без выдуманных метрик. Только верифицируемые цифры из реального опыта.

12+ лет
опыта в QA / SDET

Exactpro · Wiley · Сбер

5+ лет
ответственности за качество marketplace-продукта

B2B / B2C e-commerce внутри Сбера

17+ devs / 1–2 QA
контекст команды, который держал

Hands-on lead, без отдельного QA-юнита

3 фреймворка
собрано с нуля

Python · Kotlin · Java автотест-стеки

REST · SQL · CI/CD
ежедневная поверхность работы

JMeter и Yandex.Tank для performance-задач

Приватные демо
GitHub-репо разбираем на интервью

github.com/Leviann

контакты

// 08

Как связаться.

Открыт к позициям Senior SDET / QA Automation / AI Tooling Engineer. Удалёнка или гибрид по Москве. Готов к короткому техническому разговору до начала формального процесса.