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