Senior Java-разработчик
ООО СинемаЛабМинскHH.ru
Описание вакансии
CinemaLab разрабатывает высоконагруженные цифровые системы для индустрии развлечений — кинотеатров и театров.
Наши продукты помогают управлять продажей билетов, расписанием, кассовыми операциями, интеграциями и клиентскими сервисами. Это бизнес-критичные системы с реальными транзакциями, пиковыми нагрузками и большим количеством взаимосвязанных процессов.
Ищем Senior Java-разработчика, который умеет не только реализовывать задачи, но и принимать технические решения: проектировать сервисы и API, работать со сложной бизнес-логикой, развивать архитектуру и поддерживать высокий инженерный уровень команды.
Это hands-on позиция без обязательного управления людьми.
Чем предстоит заниматься
- развивать backend-сервисы платформы CinemaLab;
- проектировать и поддерживать REST API и интеграции с внутренними и внешними системами;
- работать с бизнес-критичными транзакционными сценариями и большими объёмами данных;
- участвовать в проектировании архитектуры и выборе технических решений;
- декомпозировать задачи и заранее оценивать технические риски;
- оптимизировать SQL-запросы, производительность приложений и работу с базами данных;
- рефакторить и модернизировать крупные участки существующей системы;
- проводить code review и поддерживать единые инженерные подходы;
- делиться экспертизой и помогать разработчикам команды профессионально расти.
Что для нас важно
- от 5 лет коммерческой разработки на Java;
- сильное знание Java Core и практический опыт с Java 17/21+;
- уверенное знание Spring Framework и Spring Boot 3:
- dependency injection;
- configuration и profiles;
- validation;
- AOP;
- жизненный цикл приложения;
- опыт проектирования и поддержки REST API;
- хорошее понимание HTTP, JSON, обработки ошибок и версионирования API;
- уверенная работа с реляционными базами данных, желательно MySQL:
- оптимизация SQL-запросов;
- транзакции и уровни изоляции;
- индексы;
- блокировки;
- поиск причин проблем с производительностью;
- практический опыт с JPA/Hibernate и/или MyBatis;
- опыт работы со Spring Security, ролевой моделью доступа и JWT;
- опыт написания unit- и integration-тестов с JUnit 5, Mockito и Spring Boot Test;
- уверенная работа с Maven, включая multi-module проекты;
- сильное понимание ООП, SOLID, паттернов проектирования и принципов поддерживаемой архитектуры;
- опыт проведения code review, декомпозиции задач и оценки технических рисков;
- способность принимать архитектурные решения и понятно объяснять их команде;
- опыт менторинга и обмена техническими знаниями;
- уверенная работа с Git и стандартными командными процессами разработки.
Будет преимуществом Не ожидаем, что у кандидата будет весь перечисленный ниже опыт. Любая из этих компетенций станет плюсом:
- разработка real-time систем на WebSocket: управление сессиями, reconnect, heartbeat/ping-pong и параллельная доставка сообщений;
- RabbitMQ или другие брокеры сообщений: acknowledgements, retries, message ordering и dead-letter queues;
- Quartz и распределённые scheduled jobs;
- Docker, Ansible, CI/CD и развёртывание Java-сервисов;
- Spring Boot Actuator, Micrometer, Prometheus и Grafana;
- OpenAPI/Swagger;
- Spring Cache или Ehcache;
- MapStruct и Lombok;
- работа с несколькими источниками данных, master/replica-конфигурациями и connection pools;
- понимание API Gateway, SSO и межсервисной аутентификации;
- feature flags;
- интеграционные тесты с Testcontainers;
- JVM profiling, настройка garbage collection, поиск утечек памяти и проблем с производительностью;
- модернизация крупных систем, включая переход на Spring Boot 3, jakarta.* и новые LTS-версии Java;
- разработка desktop-приложений на JavaFX и интеграция JavaFX со Spring.
Почему эта работа может быть интересна
- Собственный продукт, а не постоянное переключение между клиентскими проектами.
- Задачи, результат которых напрямую влияет на продажи и работу кинотеатров и театров.
- Сложная предметная область: платежи, транзакции, интеграции, real-time сценарии и высокие нагрузки.
- Возможность влиять на архитектуру и инженерные практики, а не только закрывать готовые задачи.
- Пространство для модернизации системы и внедрения собственных технических решений.
- Команда, в которой от Senior-разработчика ждут самостоятельности и аргументированной позиции.
Условия
- полная занятость;
- работа в офисе в Минске: метро «Восток»;
- график 5/2, восьмичасовой рабочий день;
- официальное оформление по контракту в соответствии с ТК РБ;
- испытательный срок;
- 24 календарных дня отпуска;
- sick days;
- уровень дохода обсуждаем индивидуально с учётом опыта и технической экспертизы;
- возможность профессионального роста внутри компании.
Этапы отбора
- Короткий скрининг.
- Техническое интервью с командой.
Мы не ищем человека, который просто совпадает со списком технологий. Нам нужен инженер, способный разбираться в сложных системах, принимать обоснованные решения и отвечать за качество результата.