Hayot Bank

Java-разработчик (Spring MVC)

Не указана
  • Ташкент
  • От 3 до 6 лет
Обязанности:
  • Разработка и сопровождение веб-приложений: Написание чистого, тестируемого кода на Java с использованием Spring MVC для создания надежных серверных решений.

  • Проектирование и поддержка REST/SOAP API: Разработка, оптимизация и документирование (OpenAPI/Swagger) программных интерфейсов для взаимодействия с фронтендом и внешними системами.

  • Работа с реляционными базами данных: Проектирование схем БД, оптимизация сложных SQL-запросов, настройка ORM (Hibernate, Spring Data JPA) и управление миграциями (Flyway, Liquibase).

  • Аутентификация и безопасность: Настройка и поддержка модулей безопасности на базе Spring Security (OAuth2, JWT, сессионная аутентификация).

  • Интеграция с внешними сервисами: Подключение сторонних API, настройка асинхронного взаимодействия через брокеры сообщений (RabbitMQ, Apache Kafka).

  • Тестирование и качество кода: Написание unit- и интеграционных тестов (JUnit, Mockito, Spring Boot Test), проведение Code Review и проведение рефакторинга.

  • Участие в командных процессах: Работа по Agile/Scrum/Kanban, участие в планировании спринтов, оценке задач и обсуждении архитектурных решений.

Требования:
  • Уверенное знание Java 17+ и современных возможностей языка
  • Опыт разработки на Spring Boot и Spring MVC
  • Понимание многопоточности и конкурентности в Java
  • Уверенное знание PostgreSQL: написание и оптимизация запросов, транзакции
  • Опыт работы с Spring Data JPA / Hibernate или Spring Data JDBC
  • Опыт работы с Redis и Cassandra
  • Опыт версионирования схемы БД (Liquibase или аналоги)
  • Понимание OAuth2 / JWT, опыт работы с Keycloak, ролевой модели доступа
  • Опыт проектирования REST API, документирование в OpenAPI
  • Знание принципов SOLID, паттернов проектирования, слоистой архитектуры
  • Опыт написания unit- и интеграционных тестов (JUnit 5, Mockito, Testcontainers)
  • Опыт работы с Maven, Git, Docker
  • Понимание принципов наблюдаемости: логирование, метрики, трейсинг (OpenTelemetry)
  • Готовность работать по строгим стандартам кода и проходить code review