Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
Newcode.ai
Осло, Норвегия4 месяца назад
Грейд
Senior
Опыт работы
от 5 лет
Формат работы
Удалённо
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
Newcode.ai — это быстрорастущая компания в области юридических технологий и агентского ИИ, которая трансформирует юридическую работу. Имея команды в Норвегии, Швеции, Ирландии, США и расширяясь, мы работаем на стыке права, технологий и интеллекта. Мы движемся быстро, мыслим масштабно и гордимся тем, что делаем все правильно.
Примечание: мы стремимся быть прозрачными в отношении того, каково это — работать в Newcode. Как быстрорастущий стартап, мы развиваемся и совершенствуемся каждый день. Это означает, что не все процессы, методики или фреймворки уже внедрены, и приоритеты могут быстро меняться.
Люди, которые преуспевают у нас, комфортно чувствуют себя в условиях неопределенности, берут на себя ответственность и не ждут идеальных указаний. Они находчивы, инициативны и способны «разобраться» — решать проблемы, создавать структуру там, где это необходимо, и помогать строить компанию по мере ее развития. Если вам это подходит, отлично! Продолжайте читать, чтобы узнать больше.
Вы будете отвечать за извлечение данных. Когда кто-то задает вопрос нашему продукту, должно быть что-то, что находит правильный фрагмент в больших объемах конфиденциальных документов, решает, действительно ли это правильный фрагмент, и передает его языковой модели, ответ которой в конечном итоге становится реальным профессиональным советом. Весь этот путь ваш: как документы парсятся, разбиваются на части и встраиваются, как поиск сочетает смысл с точными терминами, как результаты ранжируются повторно, и как агент решает, что читать дальше и когда ему достаточно. Именно здесь продукты ИИ терпят неудачу незамеченными. Ответ читается хорошо, цитата неверна, а клиент — тот, кто это обнаруживает.
Это не CRUD-работа и не демонстрационный блокнот. Извлечение данных — это то, где продукты ИИ тихо терпят неудачу: ответ читается хорошо, цитата неверна, и никто этого не замечает, пока это не обнаружит клиент. Ваша задача — предотвратить это и иметь возможность продемонстрировать цифрами, что этого не происходит. Вы будете принимать архитектурные решения рано и жить с ними.
Полностью отвечать за конвейер извлечения данных: парсинг и сегментация документов, встраивание, индексация и поддержание всего этого в актуальном состоянии по мере того, как клиенты добавляют и изменяют материалы. Предоставляется через FastAPI, с фоновыми задачами приема данных и повторной индексации.
Разрабатывать, как мы осуществляем поиск. Сочетание семантического и ключевого поиска в Qdrant, объединение ранжированных списков, фильтрация по метаданным и повторное ранжирование, чтобы небольшой набор результатов, который мы передаем модели, был правильным.
Создавать агентное извлечение: декомпозиция запросов, инструменты, которые модель использует для поиска и навигации по документам, многошаговые циклы, которые знают, когда остановиться, и бюджеты затрат и задержки, которые обеспечивают их честность.
Создавать слой оценки, который сообщает нам, работает ли что-либо из этого: наборы эталонных данных, метрики извлечения, регрессионные тесты на реальных данных клиентов и трассировка, достаточная для того, чтобы плохой ответ привел вас к фрагменту, вызвавшему его.
Выпускать быстрые, надежные сервисы на Python и FastAPI, с тяжелой работой — приемом данных, встраиванием, повторной индексацией — выполняемой в виде фоновых задач, которые выдерживают нагрузку.
Серьезно относиться к безопасности и изоляции данных. Клиенты передают нам конфиденциальные материалы, и арендаторы строго разделены.
Обеспечить, чтобы извлечение данных работало в языках наших клиентов так же хорошо, как и на английском. Сложные формы и инфлексия нарушают разреженный поиск способами, которые никогда не покажет набор данных для оценки на английском языке.
Не менее пяти лет разработки бэкенд-систем, работающих в продакшене, и не менее двух лет выпуска систем извлечения или RAG, на которые полагаются реальные пользователи. Глубокие знания бэкенда без производственного извлечения данных будет недостаточно для этой роли, но наша роль Senior Backend Engineer может быть более подходящей.
Вы диагностировали регрессию извлечения данных в продакшене и устранили ее. Вы можете рассказать нам, что сломалось, как вы это нашли, и какими были цифры до и после. — Вы создали и поддерживали набор эталонных данных. Сколько запросов, кто их пометил, каким метрикам вы доверяете, и изменение, которое вы выпустили или отменили из-за того, что они вам сказали.
Вы запускали векторный индекс в продакшене: выбирали параметры индекса, имели дело с компромиссами между памятью и задержкой, и повторно индексировали, не прерывая поиск.
Сильный Python. Удобно рассуждать о FastAPI или близком аналоге, PostgreSQL и Redis под нагрузкой.
Вы не выпускаете изменение извлечения данных, потому что вывод выглядел лучше на трех запросах, которые вы попробовали вручную.
Вы отвечаете за все от начала до конца — включая скучное обслуживание и технический долг, который никто вам не поручал — вместо того, чтобы создавать интересную часть и передавать остальное.
Вы отслеживаете, что происходит в векторных базах данных и LLM, потому что вам любопытно, а не потому, что это ваша работа. Покажите нам побочный проект, бенчмарк, который вы провели ради удовольствия, или репозиторий, где вы попробовали что-то, прежде чем оно появилось в стеке всех остальных.
Вы работали с помощниками по кодированию ИИ и имеете свое мнение о том, где они помогают, а где нет. Если ваш нынешний работодатель запрещает их, это не будет минусом для вас. Расскажите нам, как бы вы проверяли код, написанный ИИ, вместо этого.
Вы нормально относитесь к стартапу, который меняет направление. Решения принимаются, затем пересматриваются.
Опыт работы со стеком, который мы ожидаем: Python: 5+ лет FastAPI: 2+ года Векторные базы данных в продакшене (мы используем Qdrant): 2+ года. Вы выбирали параметры индекса, имели дело с компромиссами между памятью и задержкой, и повторно индексировали, не прерывая поиск. Модели встраивания и метрики, которые вы используете для оценки качества извлечения PostgreSQL / SQL Прием документов с интенсивным использованием OCR в масштабе; опыт в области информационного поиска (BM25, NDCG, recall@k); абстракции поиска, охватывающие более одного бэкенда.
Роль полностью удаленная. Работайте из любой точки ЕС.
Почему стоит присоединиться к нам? Полностью удаленная работа по всей ЕЭЗ, включая Норвегию. Мы нанимаем через наше собственное юридическое лицо или местного представителя работодателя в зависимости от вашего местоположения, поэтому спросите о вашей стране, и мы сразу же сообщим вам, сможем ли мы это сделать.
У вас должно быть существующее право на работу в стране проживания. Мы не спонсируем визы для этой роли.
Будьте движущей силой инноваций в одном из самых захватывающих ИИ-проектов Работайте с талантливыми коллегами в совместной, энергичной команде Формируйте как продукт, так и культуру по мере нашего роста Гибкая, англоязычная среда
About Newcode.ai Newcode.ai is a fast-growing legal tech and agentic AI company transforming how legal work is done. With teams across Norway, Sweden, Ireland, the US and growing we work at the intersection of law, technology, and intelligence. We move fast, think big, and take pride in doing things the right way.
Note: We believe in being transparent about what it's like to work at Newcode. As a fast-growing startup, we're building and evolving every day. That means not every process, playbook, or framework is already in place, and priorities can shift quickly.
The people who thrive here are comfortable with ambiguity, take ownership, and don't wait for perfect direction. They are resourceful, proactive, and able to "figure it out"—solving problems, creating structure where needed, and helping build the company as they go. If you are good with this then, great! Keep reading to learn more.
The role You'll own retrieval. When someone asks our product a question, something has to find the right passage across large sets of confidential documents, decide it really is the right passage, and hand it to a language model whose answer ends up in real professional advice. That whole path is yours: how documents get parsed, chunked and embedded, how search combines meaning with exact terms, how results get reranked, and how an agent decides what to read next and when it has read enough. This is where AI products fail without anyone noticing. The answer reads well, the citation is wrong, and the client is the one who finds out.
It isn't CRUD work, and it isn't a demo notebook either. Retrieval is where AI products quietly fail: the answer reads well, the citation is wrong, and nobody notices until a client does. Your job is to stop that happening, and to be able to show with numbers that it isn't happening. You'll make architecture calls early and live with them.
The role is fully remote. Work from anywhere in the EU.
Requirements
What You'll Do Own the retrieval pipeline end to end: document parsing and chunking, embeddings, indexing, and keeping all of it current as clients add and change material. Exposed through FastAPI, with ingestion and reindexing running as background jobs.
Design how we search. Combining semantic and keyword retrieval in Qdrant, fusing ranked lists, filtering on metadata, and reranking so the handful of results we pass to the model are the right ones.
Build agentic retrieval: query decomposition, the tools a model uses to search and navigate documents, multi-step loops that know when to stop, and the cost and latency budgets that keep them honest.
Build the evaluation layer that tells us any of this is working: golden sets, retrieval metrics, regression tests on realistic client data, and tracing good enough that a bad answer leads you back to the chunk that caused it.
Ship it as fast, dependable services in Python and FastAPI, with the heavy work - ingestion, embedding, reindexing - running as background jobs that hold up under load.
Take data security and isolation seriously. Clients hand us privileged material, and tenants stay strictly separated.
Make retrieval hold up across our clients' languages as well as it does in English. Compounding and inflection break sparse retrieval in ways an English eval set never shows you.
Who You Are At least five years building backend systems that run in production, and at least two of them shipping retrieval or RAG systems real users depend on. Backend depth without production retrieval won't be enough for this role, but our Senior Backend Engineer role might be the better fit.
You've diagnosed a retrieval regression in production and fixed it. You can tell us what broke, how you found it, and what the numbers were before and after. - You've built and maintained a golden set. How many queries, who labelled them, which metrics you trust, and a change you shipped or killed because of what they told you.
You've run a vector index in production: picked index parameters, dealt with the memory and latency trade-offs, and reindexed without taking search down.
Strong Python. Comfortable reasoning about FastAPI or a close equivalent, PostgreSQL and Redis under load.
You don't ship a retrieval change because the output looked better on the three queries you tried by hand.
You own things end to end — including the boring maintenance and the tech debt nobody assigned you — rather than building the interesting part and handing off the rest.
You track what's moving in vector databases and LLMs because you're curious, not because it's the job. Show us the side project, the benchmark you ran for fun, or the repo where you tried something before it showed up in everyone else's stack.
You've worked with AI coding assistants and have a view on where they help and where they don't. If your current employer forbids them, that's not a mark against you. Tell us how you'd review AI-written code instead.
You're fine in a startup that changes direction. Decisions get made, then revisited.
Experience we expect with the stack: Python: 5+ years FastAPI: 2+ years Vector databases in production (we run Qdrant): 2+ years. You've picked index parameters, dealt with the memory and latency trade-offs, and reindexed without taking search down. Embedding models, and the metrics you use to judge retrieval quality PostgreSQL / SQL OCR-heavy document ingestion at scale; an information-retrieval background (BM25, NDCG, recall@k); search abstractions spanning more than one backend.
The hiring process Stage 1: Online coding challenge Stage 2: Screening Call Stage 3: Technical home assessment Stage 4: Whiteboard challenge and presentation of take home assessment Stage 5: CEO interview
Visa Sponsorship: At this time, Newcode is unable to provide visa sponsorship. Candidates must be authorized to work in the applicable country without employer sponsorship.
Benefits
Why Join Us? Fully remote across the EEA, Norway included. We employ through our own entity or a local employer of record depending on where you are, so ask about your country and we'll tell you straight away whether we can do it.
You'll need the existing right to work where you live. We don't sponsor visas for this role.
Be a driver of innovation in one of the most exciting AI ventures Work with talented peers in a collaborative, high-energy team Shape both product and culture as we grow Flexible, English-speaking environment
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 71 000 до 105 000