Java-разработчик не ниже Middle (мобильный сервис продажи билетов)
Описание
Аккредитованная ИТ-компания. Разрабатываем и сопровождаем популярный высоконагруженный мобильный сервис продажи и записи электронных билетов на транспортные карты с многомиллионной аудиторией. Наш backend взаимодействует с мобильным приложением, банковскими системами, билетными шлюзами и сервисами фискализации. Ищем Java-разработчика уровня Middle и выше, которому интересно разбираться в устройстве работающего продукта, развивать его и решать задачи на стыке многопоточности, асинхронной обработки и интеграций. Вы будете работать в небольшой команде вместе с бэк- и фронт-разработчиками, QA и DevOps, видеть результаты своего вклада в проект, влиять на технические решения. Что предстоит делать Разрабатывать backend-сервисы на Java, разбираться в существующем коде и дорабатывать его. Развивать API для мобильного приложения и фронтенда: обрабатывать запросы, возвращать корректные данные, статусы операций, ошибки. Реализовывать и сопровождать интеграции с платёжными и билетными шлюзами, обработку сообщений через Kafka. Работать с PostgreSQL: писать SQL-запросы, обеспечивать корректное чтение и изменение данных. Находить и устранять ошибки, в том числе в асинхронных и многопоточных процессах; писать тесты и проверять исправления вместе с QA. Что ожидаем от кандидата От трёх лет коммерческой разработки на Java. Уверенное знание Java Core, опыт работы со Spring Framework, Spring Boot и JPA/Hibernate. Коммерческий опыт разработки и сопровождения сервисов с Kafka: отправка и обработка сообщений, обработка сбоев и повторной доставки. Понимание многопоточности и опыт диагностики асинхронных и конкурентных процессов. Хорошее знание SQL, опыт работы с PostgreSQL и понимание транзакций. Понимание HTTP и REST API: запросов и ответов, кодов состояния, обработки ошибок и повторных запросов. Опыт написания тестов с JUnit, Mockito и Testcontainers. Уверенная работа в Linux: командная строка, просмотр логов и диагностика процессов. Умение самостоятельно разбираться в существующем коде, находить причины ошибок и доводить backend-задачи до результата без постоянных подсказок и контроля. Английский язык на уровне чтения и понимания технической документации. Основной стек Java; Spring Framework, Spring Boot, JPA/Hibernate; Kafka; PostgreSQL; JUnit 4/5, Mockito, Testcontainers; Maven/Gradle, Git, Docker, GitLab CI/CD, Linux. Будет преимуществом Опыт интеграции приёма платежей через эквайринг банковских карт или СБП, интеграции с сервисами фискализации и билетными шлюзами. Условия Официальное оформление по трудовому договору, полная занятость. Зарплата в указанном в вакансии диапазоне – по результатам отбора. График 5/2, 8-часовой рабочий день. Ежедневные рабочие встречи начинаются в 10:00. Офис: Москва, Донской район (метро «Ленинский проспект», «Шаболовская», «Тульская», МЦК «Площадь Гагарина»). Испытательный срок – три месяца. После него возможен гибрид по согласованию и результатам работы. ДМС после прохождения испытательного срока. Что написать в отклике Пожалуйста, ответьте в сопроводительном письме на два вопроса: Подходят ли вам указанный зарплатный диапазон и формат работы? Есть ли у вас личный опыт интеграции приёма платежей (эквайринг или СБП)? Укажите компанию и проект из резюме, а также банк или платёжный сервис, с которым выполняли интеграцию. Отклики без ответов на эти вопросы рассматриваем с меньшим приоритетом.