Описание вакансии
Задачи:
— Полный цикл разработки backend-сервисов: от анализа требований и технического дизайна до вывода в продакшен и сопровождения;
— Проектирование архитектуры новых сервисов и доработка существующих, включая выбор паттернов интеграции, границ сервисов и моделей данных;
— Разработка интеграций с внешними и legacy-системами по REST, SOAP и через Kafka;
— Подготовка технических решений (design docs, ADR) и их защита перед командой и архитектором;
— Проектирование контрактов API и событий, согласование их со смежными командами.
Требования:
— Опыт коммерческой разработки на Java от 5 лет, уверенное знание Java 17+ (records, sealed classes, pattern matching, Stream API, многопоточность, java.util.concurrent, JVM и GC на уровне диагностики проблем);
— Опыт с Java 21 (virtual threads) приветствуется;
— Глубокое знание Spring Boot 3 и экосистемы Spring: Spring Web, Spring Data JPA, Spring Security, Spring Cloud;
— Практический опыт проектирования и разработки микросервисной архитектуры: декомпозиция, межсервисное взаимодействие, отказоустойчивость (retry, circuit breaker, idempotency, graceful degradation), service discovery, API Gateway;
— Опыт с распределёнными транзакциями (Saga, Transactional Outbox), DDD и event-driven архитектурой;
— Опыт миграции с legacy-систем и декомпозиции монолита: Strangler Fig, анти-коррупционный слой, поэтапный перенос функциональности без остановки системы;
— Проектирование и реализация REST API: версионирование, обработка ошибок, документирование (OpenAPI/Swagger), contract-first подход;
— Разработка и интеграция SOAP-сервисов: WSDL/XSD, Spring WS или JAX-WS, генерация клиентов, работа с XML (JAXB), WS-Security;
— Уверенная работа с Apache Kafka: проектирование топиков и партиционирования, гарантии доставки, consumer groups, обработка повторов, дублей и DLQ, схемы сообщений (Avro/JSON Schema, Schema Registry);
— Уверенная работа с PostgreSQL: проектирование схемы, индексы, анализ планов запросов (EXPLAIN), транзакции и уровни изоляции, блокировки, миграции (Liquibase/Flyway);
— Распределённое кэширование и координация: Redis или Hazelcast, стратегии инвалидации кэша, распределённые блокировки, планировщики задач в кластере (ShedLock, Quartz);
— Безопасность приложений: Spring Security, OAuth2 / OpenID Connect, JWT, Keycloak или аналогичный Identity Provider, mTLS между сервисами, понимание OWASP Top 10;
— Опыт работы с высоконагруженными системами или большими объёмами данных;
— Observability: Prometheus, Grafana, ELK/OpenSearch, распределённая трассировка (OpenTelemetry);
— Docker, Kubernetes, опыт работы с CI/CD (GitLab CI, Jenkins, GitHub Actions);
— Культура тестирования: unit- и интеграционные тесты (JUnit 5, Mockito, Testcontainers), контрактное тестирование;
— Python для автоматизации тестирования или вспомогательных задач;
— Опыт code review и менторства младших разработчиков.
Условия:
— Работа в стабильной IT-компании, аккредитованной Минцифрой РФ;
— График работы 5/2 с 9:00-18:00;
— Корпоративный ДМС после прохождения испытательного срока;
— Трудоустройство по ТК РФ c первого дня, официальная заработная плата.