Lux Mentis строит AI-платформу для работы с юридическими документами. Платформа автоматизирует рутину юристов и юротделов: интеллектуальный анализ договоров (извлечение сторон, сроков, сумм, обязательств, рисков), сравнение редакций, семантический и полнотекстовый поиск по базе знаний, AI-ассистент с контекстом документа, генерация договоров и меморандумов по шаблонам, аналитические дашборды. Нагрузка реальная, домен сложный, цена ошибки высокая — поэтому ищем сильного инженера, а не «ещё одни руки».
Формат работы: удалёнка (full-remote)
Занятость: полная
Оформление: обсуждаемо (ИП / самозанятость / ТК — на выбор)
Стек Node.js:
- Node.js, NestJS 9, TypeScript (strict)
- PostgreSQL (Sequelize + sequelize-typescript), MongoDB (Mongoose 8)
- Elasticsearch 8 (полнотекстовый поиск, релевантность, кастомные анализаторы)
- NATS (межсервисное взаимодействие, request/reply, JetStream)
- Keycloak (OIDC, роли, ресурс-сервер)
- @nestjs/microservices, Swagger/OpenAPI
- RxJS, Axios, Docker, CI/CD
Что нужно будет делать:
- Проектировать и развивать микросервисы платформы (анализ документов, поиск, оркестрация LLM-пайплайнов, биллинг, права доступа)
- Принимать архитектурные решения и защищать их на ревью
- Разбираться с распределёнными сценариями: идемпотентность, согласованность, ретраи, backpressure
- Интегрироваться с Python-сервисами ML/LLM через NATS
- Оптимизировать горячие участки (event loop, запросы в PG/Mongo, индексы в Elastic)
- Писать код, который не стыдно оставить после себя: типы, тесты, наблюдаемость (логи/метрики/трейсы)
Жёсткие требования (входной фильтр):
- От 4 лет коммерческой разработки на Node.js, из них от 2 лет на NestJS в продакшене
- Глубокое понимание event loop: microtasks/macrotasks, back-pressure, утечки, профилирование (clinic.js, --inspect, heap snapshots)
- Уверенный TypeScript: generics, conditional/mapped types, корректная типизация DI и декораторов Nest
- Практический опыт с обеими БД уровня продакшена: PostgreSQL (индексы, планы запросов, транзакции, уровни изоляции) и MongoDB (агрегации, схемы, индексы)
- Опыт работы с брокером сообщений в продакшене (NATS / Kafka / RabbitMQ)
- Опыт проектирования микросервисов с нуля: границы сервисов, контракты, версионирование API
- Keycloak / OIDC / JWT — понимание потоков
- Docker, git, осознанное код-ревью
Требования по AI:
- Ежедневная работа с LLM как с инженерным инструментом
- Осознанный промпт-инжиниринг: умеете декомпозировать задачу, давать модели контекст, проверять вывод
- Желательный уровень — опыт оркестрации нескольких параллельных AI-агентов (Claude Code и аналоги) на разных задачах одновременно, с разделением веток/воркспейсов
- Понимаете границы моделей: где LLM врёт, где галлюцинирует, где её нельзя пускать без верификации
- На собеседовании попросят показать реальный сценарий использования AI в вашей работе
Большой плюс:
- Опыт работы с LLM-пайплайнами на бэке (стриминг, токен-лимиты, retry-логика, function calling)
- Векторные БД (Milvus / Qdrant / pgvector)
- Опыт работы с юридическим/финтех/документным доменом
- Вклад в open-source
