Обязанности:
Мы ищем Java-разработчика в команду продукта Tarantool Change Data Capture, который усилит команду и поможет нам в достижении целей по развитию продукта. Tarantool Change Data Capture решает задачу переноса данных из источников данных в приёмники с минимальными задержками. Источниками и приёмниками данных могут выступать СУБД или брокеры сообщений. Инструменты и стек: Java 17, Spring Boot 3.2, Netty; JUnit5 — для unit-тестов; Python + Pytest — для интеграционного тестирования; GitLab CI/CD + Allure TestOps — для запуска и мониторинга автотестов; Kubernetes — в качестве целевой платформы для развёртывания продукта. Задачи: участие в проектировании и разработке основных компонентов продукта Tarantool CDC; разработка новых и развитие существующих коннекторов к различным базам данных (PostgreSQL, Tarantool DB, Oracle и так далее); улучшение эксплуатационных свойств продукта Tarantool CDC (метрики, мониторинг, логирование); помощь команде pre-sale в пилотных проектах; разработка и поддержка Java-экосистемы для продуктов из линейки Tarantool, в том числе opensource-библиотек. Требования: опыт разработки на Java, знание стандартной библиотеки Java, популярных фреймворков (Spring), знание шаблонов работы с многопоточностью; знание и понимание принципов работы с асинхронными фреймворками (Netty); опыт работы с базами данных, например PostgreSQL, MySQL/MariaDB, Redis; навыки работы c Linux; опыт работы с системами контейнеризации (Docker, Kubernetes). Будет плюсом: знания других языков программирования Python, C/C++, Go; опыт с GitLab CI. Будет большим плюсом: работа с Kafka Connect, Debezium; опыт работы с Oracle, Greenplum, ClickHouse; знания в области распределённых систем и опыт работы с ними (микросервисы, распределённые хранилища данных); опыт разработки helm charts и (или) kubernetes operator.