Описание вакансии
Задачи:
— Развивать архитектуру модульного backend-приложения, REST API и бизнес-логику, включая валидацию, обработку ошибок и документацию;
— Проектировать модели данных и миграции, оптимизировать запросы и кеширование;
— Развивать аутентификацию, авторизацию и ролевую модель;
— Контролировать доступ к внешним данным и управлять подключениями;
— Программно управлять контейнерными средами: от создания и ожидания готовности до обработки сбоев и освобождения ресурсов;
— Развивать AI-функции: потоковые диалоги, хранение истории, сокращение контекста, агентные инструменты и RAG — от подготовки данных до использования найденного контекста в ответах;
— Обеспечивать проверку прав, согласованность состояния и обработку ошибок при выполнении удалённых операций и вызовах инструментов;
— Писать тесты, диагностировать production-проблемы, развивать наблюдаемость, согласовывать API с frontend-разработчиками.
Требования:
— Уверенное владение Java, опыт production-разработки на Spring Boot и готовность работать с Java 21 и Spring Boot 3.5;
— Опыт проектирования архитектуры и REST API, самостоятельного принятия технических решений и развития существующей кодовой базы;
— Знание Spring MVC, Spring Security, Spring Data JPA/Hibernate, валидации запросов и документирования API через OpenAPI;
— Практический опыт PostgreSQL, SQL и Liquibase;
— Понимание транзакций, индексов, оптимизации запросов, кеширования и пулов подключений;
— Опыт подключения внешних реляционных источников, включая MS SQL Server, и разграничения доступа к данным;
— Опыт реализации аутентификации и авторизации с JWT, OAuth2 и OIDC/SSO;
— Владение Maven и Git;
— Опыт OpenFeign для HTTP-интеграций, JGit для работы с репозиториями, MapStruct для преобразования объектов и Ehcache для кеширования;
— Практический опыт Docker и программного управления контейнерами через docker-java;
— Знание Docker Compose, Docker Swarm, Traefik и GitLab CI на уровне настройки окружения, понимания сборки и развёртывания, диагностики проблем;
— Практический опыт LLM API и LangChain4j: потоковые ответы через SSE, история диалогов и управление контекстом;
— Опыт построения RAG, работы с эмбеддингами и векторным поиском в Qdrant;
— Опыт агентных сценариев, вызова инструментов и MCP-интеграций с проверкой прав и обработкой ошибок;
— Опыт модульного и интеграционного тестирования с JUnit и Testcontainers, включая проверки с базами данных;
— Навыки диагностики по логам, метрикам и трассировкам с использованием Actuator, Micrometer, OpenTelemetry и OTLP;
— Понимание трассировки AI-вызовов;
— Понимание React и TypeScript на уровне согласования API-контрактов и совместной диагностики frontend/backend;
— Понимание специфики корпоративного ПО для внешних заказчиков: ролевой модели и безопасности, интеграций с их ИТ-ландшафтом, требований к надёжности и влияния изменений на процессы пользователей.
Что важно:
— Уметь общаться с бизнес-заказчиками, выявлять реальную потребность за первоначальным запросом, уточнять требования, объяснять варианты решения и переводить бизнес-задачи в техническую реализацию;
— Готовность работать итерационно: сформулировать гипотезу, обсудить ее, проверить, скорректировать и двигаться дальше;
— Самостоятельно прорабатывать задачи, проверять гипотезы и учитывать обратную связь;
— Декомпозировать работу, оценивать сроки, согласовывать приоритеты и своевременно сообщать о рисках и необходимости помощи;
— Отвечать за результат до эксплуатации, учитывать пограничные сценарии и последствия изменений;
— Аргументировать решения, слышать коллег, конструктивно давать и принимать обратную связь;
— Проводить code review, делиться знаниями и помогать другим разработчикам;
— Находить баланс между пользой для пользователя, качеством, сложностью реализации, техническим долгом и сроками.
Условия:
— Работа над корпоративным продуктом, объединяющим backend, интеграции, контейнерные среды и AI;
— Развитие экспертизы в AI-инженерии и агентных системах;
— Оформление по ТК РФ, после испытательного срока подключение к ДМС, компенсация спортивных программ;
— Работа в аккредитованной IT-компании (льготы IT ипотеки, отсрочки);
— Возможность работы в одном из офисов или удаленно, преимущественно по желанию сотрудника;
— График работы 5/2, гибкое начало рабочего дня, отсутствие дресс-кодов и только полезная бюрократия;
— Интересные корпоративные мероприятия, клубы по интересам;
— Система профессионального, карьерного и финансового развития.
Контакты работодателя доступны по кнопке «Откликнуться» после входа.