Ведущий Java Backend-разработчик AI/LLM
Опыт работы: 3–6 лет. Занятость: полная. График: 5/2, 8 рабочих часов. Формат: удалённо или гибрид.
Компания разрабатывает NobiChat — корпоративную AI-платформу, в которой AI является ядром продукта. Строится собственный слой оркестрации LLM и AI-агентов: backend отвечает за управление контекстом и состоянием диалога, agent loop, вызов инструментов, контроль прав, выполнение действий и интеграцию моделей с корпоративными системами.
Ищем ведущего Java Backend-разработчика с опытом backend-разработки от четырёх лет (предстоит вести задачи от обсуждения потребностей с заказчиком до реализации и запуска) и практическим опытом создания LLM-приложений. Одного опыта промпт-инжиниринга или простого подключения ChatGPT/OpenAI API будет недостаточно.
Контекст работы — «внутренний стартап»: высокие темпы, постоянное прототипирование, смена требований, накопление технического долга.
Задачи в AI-контуре:
- Проектировать и развивать runtime для работы с LLM и AI-агентами, участвовать в проектировании собственного orchestration / harness layer вокруг LLM.
- Управлять контекстом модели и историей диалогов.
- Разрабатывать agent loop и управлять жизненным циклом агентных сценариев.
- Проектировать инструменты для агентов и интеграции с корпоративными системами; обеспечивать контроль доступа, согласованность состояния и обработку ошибок удалённых операций.
- Развивать RAG и интеграцию корпоративных данных в LLM-приложения.
- Работать со structured output, развивать потоковые диалоги (streaming), обеспечивать хранение истории диалогов и сохранение состояния.
- Развивать наблюдаемость AI-вызовов, диагностировать и улучшать поведение LLM и агентов.
Задачи в backend-контуре:
- Развивать архитектуру модульного backend-приложения, REST API и бизнес-логику, включая валидацию, обработку ошибок и документацию.
- Проектировать модели данных и миграции, оптимизировать запросы и кеширование.
- Развивать аутентификацию, авторизацию и ролевую модель; контролировать доступ к внешним данным и управлять подключениями.
- Программно управлять контейнерными средами: от создания и ожидания готовности до обработки сбоев и освобождения ресурсов.
- Писать тесты, диагностировать production-проблемы, развивать наблюдаемость, согласовывать API с frontend-разработчиками.
Обязательные требования Java / Backend:
- Уверенное владение 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 на уровне настройки окружения, понимания сборки и развертывания, диагностики проблем.
- Опыт модульного и интеграционного тестирования с JUnit и Testcontainers, включая проверки с базами данных.
- Навыки диагностики по логам, метрикам и трассировкам с использованием Actuator, Micrometer, OpenTelemetry и OTLP.
- Понимание React и TypeScript на уровне согласования API-контрактов и совместной диагностики frontend/backend.
- Понимание специфики корпоративного ПО для внешних заказчиков: ролевой модели и безопасности, интеграций с их ИТ-ландшафтом, требований к надёжности и влияния изменений на процессы пользователей.
Обязательные требования AI / LLM Engineering:
- Практический опыт разработки приложений с использованием LLM API: потоковые ответы через SSE, история диалогов и управление контекстом.
- Понимание устройства контекста и основных проблем LLM-систем.
- Практический опыт tool/function calling. Понимание принципов построения agent loop и агентных систем с сохранением состояния.
- Практический опыт построения RAG-систем и векторного поиска в Qdrant.
- Практический опыт работы со structured output.
- Понимание трассировки AI-вызовов.
Будет плюсом:
- Опыт использования LangChain4j, Spring AI, LangChain/LangGraph или аналогичных фреймворков — важнее понимание лежащих под ними принципов.
- Опыт разработки AI-агентов, MCP-серверов, собственных фреймворков оркестрации или runtime-слоёв вокруг LLM.
- Регулярное самостоятельное использование AI-инструментов разработки — Cursor, Codex, Claude Code, OpenCode, Hermes и аналогов, практическое понимание работы моделей, возможностей и ограничений этих инструментов, с проверкой генерируемого кода и предлагаемых решений.
Что важно:
- Уметь общаться с бизнес-заказчиками, выявлять реальную потребность за первоначальным запросом, уточнять требования, объяснять варианты решения и переводить бизнес-задачи в техническую реализацию.
- Самостоятельно прорабатывать задачи и работать итерационно: формулировать гипотезы, обсуждать их, проверять, корректировать и учитывать обратную связь.
- Декомпозировать работу, оценивать сроки, согласовывать приоритеты и своевременно сообщать о рисках и необходимости помощи.
- Отвечать за результат до эксплуатации, учитывать пограничные сценарии и последствия изменений.
- Аргументировать решения, слышать коллег, конструктивно давать и принимать обратную связь.
- Проводить code review, делиться знаниями и помогать другим разработчикам.
- Находить баланс между пользой для пользователя, качеством, сложностью реализации, техническим долгом и сроками.
Что предлагают:
- Работу над корпоративным продуктом NobiChat, объединяющим backend, интеграции, контейнерные среды и AI.
- Развитие экспертизы в AI-инжиниринге и агентных системах.
- Оформление по ТК РФ; после испытательного срока подключение к ДМС, компенсация спортивных программ.
- Работа в аккредитованной IT-компании (льготы IT-ипотеки, отсрочки).
- Возможность работы в одном из офисов или удалённо, преимущественно по желанию сотрудника.
- График 5/2, гибкое начало рабочего дня, отсутствие дресс-кодов и только полезная бюрократия.
- Интересные корпоративные мероприятия, клубы по интересам.
- Круг единомышленников, командный подход и адекватное, открытое к диалогу и новым идеям руководство.
- Систему профессионального, карьерного и финансового развития.