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