Java-разработчик (Spring MVC)
Коротко
Develops and maintains web applications in Java with Spring MVC; designs REST/SOAP APIs; works with PostgreSQL, Hibernate, Spring Data JPA; configures Spring · Needs: Strong knowledge of Java 17+; experience with Spring Boot, Spring MVC, PostgreSQL, Spring Data JPA/Hibernate, Redis, Cassandra, Liquibase, OAuth2/JWT
Описание от работодателя
Обязанности: Разработка и сопровождение веб-приложений: Написание чистого, тестируемого кода на 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