Мы ищем Middle Software Engineer (1.5–3.5 года опыта) для присоединения к команде поддержки инженерии data catalog и уровня управления корпоративными данными крупной lakehouse‑платформы — сервисов, автоматизирующих загрузку данных и оптимизирующих таблицы Apache Iceberg для существующих клиентов. Мандат команды — поддерживать надежную работу этих сервисов для текущих клиентов: расследовать и исправлять сообщения о проблемах от клиентов, устранять дефекты, решать регрессии производительности и поддерживать актуальность зависимостей и патчей безопасности. Это роль по обслуживанию и поддержке, а не разработке новых функций. Это backend‑роль на Java в многопоточном распределённом окружении, где стабильность и доступность для продакшн‑клиентов являются базовыми ожиданиями. Вы будете работать под наставничеством старших инженеров и в ежедневном сотрудничестве с руководителями инженерных команд и командами поддержки в США.
Исследовать, воспроизводить и исправлять сообщения о проблемах и дефекты, сообщённые клиентами, в сервисах catalog и data‑management (Java). Диагностировать проблемы в продакшн‑среде по логам, метрикам и дампам потоков или кучи, а также работать с командами поддержки и архитекторами решений по эскалациям клиентов. Устранять регрессии производительности и проблемы стабильности в многопоточных распределённых сервисах. Поддерживать сервисы в актуальном состоянии: обновления зависимостей и библиотек, патчи безопасности и исправления совместимости. Писать регрессионные тесты и небольшие улучшения поддерживаемости (логирование, метрики, диагностика), чтобы проблемы было легче обнаруживать и классифицировать в дальнейшем. Участвовать в code review и следовать процессу релизов и хотфиксов команды. Отслеживать и применять релевантные upstream‑исправления из открытых проектов Apache Foundation, используемых платформой. Чётко сообщать о статусе, корневых причинах и блокирующих факторах в ежедневных синхронизациях с руководителями инженерных команд в США.
B.S. или M.S. в области Computer Science или смежной дисциплины. 1.5–3.5 года профессионального опыта в software engineering, предпочтительно в backend или системах с интенсивной обработкой данных. Сильные навыки программирования на Java: уверенное владение языком, экосистемой JVM и стандартными инструментами (Maven или Gradle, JUnit). Умение отлаживать и поддерживать продакшн‑системы — чтение логов и стек‑трейсов, воспроизведение проблем и поиск корневых причин. Хорошее понимание структур данных и алгоритмов. Практические знания многопоточного и асинхронного программирования в Java (java.util.concurrent, executors, futures) и желание углублять их. Внимание к качеству инженерии — тесты, code review и понимание важности доступности, отказоустойчивости и обновлений без простоя. Комфорт в быстро меняющейся среде, ответственность за свою работу и стремление учиться у старших коллег и получать наставничество. Умение работать с AI‑поддерживаемыми процессами разработки — продуктивное использование современных AI‑инструментов при критической проверке их результатов. English Upper‑Intermediate или выше (B2+) — ежедневное письменное и устное общение с инженерной командой в США. Готовность работать в EU‑часы, сдвинутые на 2–3 часа позже, для ежедневного перекрытия с утрами команды на западном побережье США.
Опыт работы с C++ — чтение или написание производительного нативного кода. Знакомство с внутренними механизмами баз данных или планированием запросов. Понимание концепций распределённых систем: контроль конкурентности, репликация данных, системы хранения. Опыт с Apache Iceberg или другими открытыми форматами таблиц (Delta Lake, Hudi). Системы обмена сообщениями: Kafka, NATS или облачные pub/sub‑сервисы. Вклад в open‑source проекты (особенно ценятся проекты Apache).
Engagement: долгосрочный контракт. Location: Европа (EU / EEA / UK), удалённо. Working hours: EU‑рабочие часы, сдвинутые на 2–3 часа позже для ежедневного перекрытия с командой на западном побережье США.