DiliTrust
Париж, Франция1 месяц назад
Готовы присоединиться к революции в области Legal Tech? Видение: Являясь ведущим поставщиком программного обеспечения как услуги (SaaS), DiliTrust — это глобальная компания, специализирующаяся на предоставлении интегрированного набора продуктов для юридической деятельности и управления. Наше видение — оцифровка юридических отделов по всему миру. С годовым темпом роста более 40% с 2020 года, наша цель — стать ведущей Legal Tech компанией в мире, с оценкой более 1 миллиарда долларов к 2026 году. Наше влияние: От генерации отчетов по общим собраниям до управления жизненным циклом контрактов с помощью ИИ, наши команды в 8 офисах во Франции, США, Мексике, странах Ближнего Востока и Африки, Германии, Испании, Италии и Канаде являются движущей силой нашего глобального успеха. Мы с гордостью поддерживаем 2400 клиентов в 64 странах, причем 80% нашей клиентской базы составляют листинговые компании на крупных рынках, таких как Европа, Северная Америка и Ближний Восток. Наше признание: DiliTrust находится на переднем крае инноваций в Legal Tech, будучи первой Legal Tech компанией с функциями ИИ с 2022 года. Компания известна предоставлением позитивной и предпринимательской рабочей среды. Мы гордимся тем, что с 2019 года ежегодно получаем награды "Happy at Work" и "Tech at Work". Роль: Lini — это проприетарный ИИ-движок DiliTrust, который обеспечивает работу Ask Lini, Risk Detector, Document Summarization, Minute Generation и всех ИИ-возможностей во всем пакете. Мы создаем выделенную команду вокруг него и ищем сильного инженера-разработчика / продакт-инженера с фокусом на архитектуре нашей платформы, чтобы помочь нам вывести ее на новый уровень. Как инженер-разработчик, вы будете работать на стыке ИИ, продукта и разработки. Вы будете вносить свой вклад в создание, улучшение и масштабирование функций, которые делают Lini надежным и мощным ИИ-слоем для всего пакета DiliTrust. Мы ищем инженера, который пишет чистый, готовый к производству код и комфортно берет на себя ответственность за функции от начала до конца, от технического дизайна до развертывания. Нам также важно, как вы мыслите об ИИ: проявляете ли вы искреннее любопытство к продукту и можете ли вы преобразовать возможности модели в отличный пользовательский опыт.
Задачи Пишите спецификации как долговечный актив проекта. Исполняемые критерии приемки и — что крайне важно — нефункциональные требования, которые спецификации почти никогда не содержат: классификация данных, матрица авторизации конечных точек × роли, предположения об объеме данных, бюджеты задержки и пропускной способности. Это требования, последующая коррекция которых является суперлинейной, поэтому они решаются до генерации, а не после. Зафиксируйте контракты перед любым распространением. Схемы API, типы, границы модулей, инварианты. Агенты не договариваются об интерфейсе в коридоре: каждый сделает правдоподобное и несовместимое предположение, обнаруженное при интеграции. Пилотируйте кодирующих агентов с четким брифом и ограниченным контекстом — узкие задачи, определенные входные и выходные артефакты, явные условия остановки и бюджеты, полная прослеживаемость того, что произвело каждое изменение. Держите продюсера и верификатора отдельно. Вы не подписываете в одиночку генерацию, которую вы пилотировали, и выступаете в качестве независимого верификатора срезов своих коллег — с враждебным брифом («найдите, что ломается по сравнению с этой спецификацией»), никогда — «подтвердите, что это выглядит нормально». Создавайте асимметричные ворота, которые делают срез безопасным при больших объемах — дорогие в выполнении, дешевые в проверке: свойства, контрактные тесты, бюджеты количества запросов и выделения памяти, проверки планов выполнения, политика как код, доказательства обратной совместимости. Написаны до того, как реализация существует, поэтому агент замыкает петлю обратной связи самостоятельно, не отвлекая внимание человека. Используйте чтение кода как инструмент калибровки, а не как ворота. Выбирайте образцы целенаправленно, по зонам риска, чтобы измерить реальный уровень дефектов пары генератора и ворот и поддерживать ментальную модель системы командой. Поддерживайте низкий уровень незавершенной работы. Ограниченный размер PR, тонкие вертикальные срезы, trunk-based разработка с очень короткими ветками, feature flags вместо долгоживущих веток, CI как первая задача агента, а не последняя. Больше фич в процессе не означает более быструю доставку, когда узким местом является верификация. Проектируйте с учетом радиуса поражения. Обратимость, постепенное развертывание, структурированные логи, трассировки, метрики и инструменты, генерируемые как само собой разумеющееся. На многих путях обнаружение за пять минут лучше, чем трехдневный обзор, который ничего не предотвращает.
Требования Проживание во Франции с полным правом на работу. Свободное владение французским и английским языками. Опыт и стаж: 8+ лет профессионального опыта в разработке программного обеспечения, значительная часть которого была потрачена на создание и эксплуатацию B2B SaaS платформ в производственной среде. Подтвержденный опыт полного жизненного цикла функций — от дизайна, доставки, итераций до обслуживания — для долгоживущих, многолетних продуктов. Глубокие знания сложных, масштабируемых веб-архитектур, включая реальную модульность: вы видели, где связанность останавливает параллельную работу. Практика AI-Native: Демонстрируемое, устойчивое использование кодирующих агентов в производственной работе — не автозаполнение, а делегированная реализация с проверкой и ответственностью. Конкретное, сформулированное видение того, где сгенерированный код дает сбой: коррелированные дефекты, а не идиосинкразические, однородное поверхностное качество, которое разрушает обычные сигналы ревью «посмотрите сюда», правдоподобие без автора, которого можно допросить. Комфорт в принятии ответственности за код, который вы не писали, и дисциплина отказаться от изменения, которое вы не можете объяснить. Верификация и качество: Реальное свободное владение property-based testing, контрактным тестированием и выводом тестов из спецификации, а не из кода. Стратегия тестовых данных, включая поддержание репрезентативного по объему набора данных как части аппарата верификации — не просто желательное условие. Интуитивное понимание разницы между строгой проверкой и масштабируемой: растет ли стоимость проверки с объемом произведенного? Безопасность и производительность (не подлежат обсуждению в этой роли): Моделирование авторизации в многопользовательских системах и почему декларативная, централизованно принудительная авторизация лучше, чем проверка каждой конечной точки. Сгенерированный код надежно проверяет, кто вы, и регулярно забывает, разрешено ли вам. Осведомленность об уязвимостях, специфичных для конвейера с поддержкой агентов: инъекции запросов через описания задач, комментарии к коду и README зависимостей; риск в цепочке поставок из-за галлюцинированных названий пакетов; принцип наименьших привилегий для нечеловеческих идентификаторов; и самый частый риск — утечка производственных данных или проприетарного кода в цикл разработки. Производительность как измеренное число, а не мнение, основанное на чтении кода: бюджеты запросов на HTTP-запрос, N+1, неограниченные наборы результатов, отсутствующие индексы на новых путях запросов, сетевые вызовы в циклах, обзор планов выполнения. Это невидимо при тестировании на тестовых данных и дорогостояще в производственной среде. Продукт и командное взаимодействие: Отличные навыки письменного общения — написание спецификаций теперь является ключевым инженерным навыком в этой роли, а не дополнительной нагрузкой по документированию. Обширный опыт работы непосредственно с менеджерами по продукту, дизайнерами и заинтересованными сторонами в продуктоориентированной среде. Сильное чувство ответственности и здравый смысл в отношении рисков: что строить, что не строить, какой остаточный риск приемлем и почему. Образование: Магистр инженерии или эквивалентный практический опыт работы в старших SaaS-средах.
Чем эта роль НЕ является Мы предпочитаем сказать это сразу: Это не роль инженера по промптингу и не роль исследователя ML/LLM. Это не роль, где зеленые тесты являются достаточным доказательством. В отношении безопасности и производительности «спецификация выполнена и тесты проходят» — это не слабый сигнал, а нулевой. Это не очередь задач. Профиль, который сокращается в команде AI-Native, — это тот, чья ценность заключалась в реализации назначенных задач между двумя границами.
Наш технологический стек Backend: Node.js / TypeScript Frontend: Vue.js 3 База данных: PostgreSQL, MariaDB DevOps: Docker, Kubernetes, Terraform Облако: GCP Инженерный аппарат, который вы будете использовать и помогать создавать: кодирующие агенты, детерминированно оркестрированные в CI, агенты верификации с областным скоупом (авторизация, производительность, соответствие спецификациям, зависимости), политика как код, property-based и контрактное тестирование, тестовые данные по объему, ворота нагрузки и выносливости на критических путях, feature flags, постепенное развертывание и сквозная трассировка.
Что мы предлагаем Присоединяйтесь к быстрорастущей компании в дружелюбной, международной среде — инжиниринг в основном в Париже, с дополнительным присутствием инженеров в Берлине, Монреале и Уилмингтоне (DE), и офисами во Франции, Италии, Испании, Германии, Канаде, США, Мексике и Дубае; Наша «Политика удаленной работы» гарантирует, что вы сможете найти правильный баланс между «Офис» и «Удаленно»; И последнее, но не менее важное: все повседневные льготы CSE, талоны на обед, бонусы от распределения прибыли и т. д...
Процесс подбора персонала Собеседование с членом команды TA (30/45 мин) Собеседование с менеджером по инжинирингу (1 час) Техническое собеседование (1 час 30 мин) — две части: преобразование неоднозначного требования в спецификацию с исполняемыми критериями приемки, затем враждебный обзор диффа, сгенерированного агентом, по отношению к этой спецификации. Собеседование с CTO (45 мин)
Оценка RocketHunt по реальным зарплатам
Грейд
Senior
Опыт работы
от 8 лет
Формат работы
Удаленно, Офис
Уровень английского
C1 - Продвинутый
ИИ напишет его по твоему резюме, останется только отправить