Full Stack Engineer (Legal AI Software) - German-speaking

GAIL
Munich, ND, United States
2 days ago
Apply on arc.dev
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Languages
English, German
Job source

Tech stack

Microsoft Word JavaScript (Programming Language) Artificial Intelligence Amazon Web Services Amazon S3 Microsoft Azure Microsoft Outlook Software Debugging Distributed Systems Github Python (Programming Language) MongoDB
+21 more
Next.js Search Technologies Data Streaming TypeScript Management of Software Versions WebSocket Tailwind ReactJS Backend AWS ECS Fastapi Pytest Stripe Playwright Front End Software Development React Redux Functional Programming Api Design Api Gateway Amazon Simple Queue Service (SQS) Webhooks

Job description

  • Own end-to-end features across our Next.js frontend and FastAPI backend-design, build, test, ship, and monitor.
  • Harden and evolve our document processing pipeline: uploads * S3 * async processing (Azure Document Intelligence / Textract / multimodal) * DB persistence * semantic search (vector stores).
  • Improve reliability and correctness of event-driven processing (SQS * Lambda handlers), idempotency, retries, DLQs, and observability.
  • Build and maintain real-time UX (WebSocket events + SSE streaming) for long-running AI and document workflows.
  • Work in the billing system (Stripe subscriptions, consolidated subscriptions, plan switches, schedules, proration) and make changes safely via tests + rollout strategy.
  • Collaborate directly with users/stakeholders (often in German) to understand workflows and iterate quickly.
  • Raise engineering standards through crisp PRs, tests, refactors, and documentation.

Tech stack (what you’ll touch)

  • Frontend: Next.js 16, TypeScript, Redux Toolkit + RTK Query, MUI 9 + Tailwind 4, NextAuth (Cognito), WebSockets, SSE.
  • Backend: FastAPI (async), MongoDB (PyMongo AsyncMongoClient), Pydantic models, repository/service patterns.
  • AWS: ECS (containers), Lambda, S3, SQS (+ DLQ), API Gateway / NLB, Secrets Manager.
  • Word and Outlook add-ins (Office.js)
  • AI: multi-provider AI module, OpenAI Agents SDK (tool use, streaming, context management), extraction into typed Pydantic models, evaluation/quality workflows.
  • Testing: pytest (incl. integration/real-PDF suites), Jest/RTL, Playwright., * Stripe subscription lifecycle experience (schedules, proration, consolidated subscriptions, webhooks).
  • OCR/document extraction pipelines and working with imperfect inputs (PDFs, scans, tables/forms).
  • Building agentic systems: tool design, guardrails, evals, prompt versioning, cost/perf tradeoffs.
  • Comfort owning a service: operational runbooks, alerts, and “never fail the same way twice” postmortems.
  • Experience with MongoDB Atlas Search and vector search in production.

How we work (and what we value)

  • High ownership: you ship outcomes, not tickets.
  • Type safety and correctness: Pydantic models, enums over strings, explicit error handling, tests on critical paths.
  • Move fast with discipline: small PRs, measurable changes, and production awareness.
  • Thoughtful use of AI tools: we use AI daily to accelerate; you must be able to verify, test, and own the final result.

First 30 / 60 / 90 days (success looks like)

  • 30 days: run the stack locally; ship a few small production changes; understand our critical flows (billing, document processing, SQS/Lambda tasks, real-time streaming).
  • 60 days: own a medium-sized end-to-end feature; improve reliability or testing in a critical area (billing or document processing); be comfortable taking primary responsibility for a production incident in your area.
  • 90 days: lead a high-impact project (e.g., quality improvements for a real PDF workflow, billing lifecycle hardening, or real-time reliability) and set a sustainable standard others can follow.

Logistics

  • Remote (time zone overlap with Central Europe preferred). Working in our Munich Office is also possible.
  • German-speaking required.
  • Compensation, engagement model, and ESOP depend on seniority and scope; we hire for impact and long-term ownership.
  • Start: ASAP.
  • Apply by emailing: karriere@notarnow.de (feel free to include your GitHub)

Requirements

  • Have 5+ years building and shipping production web systems and can independently deliver end-to-end features.
  • Are strong in TypeScript/React/Next.js and comfortable with complex client state (RTK Query caching/invalidation, auth/session flows, real-time updates).
  • Are strong in Python/FastAPI with async I/O, API design, and disciplined data modeling (Pydantic, enums, typed interfaces).
  • Have shipped systems on AWS and understand queues, retries, idempotency, and failure modes in distributed systems.
  • Can debug production issues quickly (logs, metrics, traces), write fixes safely, and communicate clearly.
  • Have a product mindset: you enjoy talking to users and see “product” as part of the job.
  • Speak German fluently (you can run user calls, write clear German messages, and work with German legal/administrative terminology). English is used in code and many docs.

About the company

About NotarNow

NotarNow is building a digital notary platform that streamlines German document and notarization workflows. We combine a modern web product (Next.js/TypeScript) with a FastAPI backend deployed on AWS and ship AI-powered document understanding, search, and real-time collaboration.

We’re one of Europe’s fastest-growing bootstrapped legal-tech scale-ups. We passed 3M ARR within two years and are scaling fast towards 10M ARR. Our products run real high-stakes professional workflows, process real documents, and are used by 1,000+ legal professionals.

Now we’re adding a engineer to the core product team. This role is for an engineer who can ship end-to-end, own production outcomes, and move fast without lowering the bar. You’ll be part of a small, talented, highly driven dev-team all of whom bring the same level of ownership, curiosity, and ambition you value yourself. No passengers. No layers. High trust, high ownership, high standards.

Your role

This role is for an engineer who can ship end-to-end, own production outcomes, and move fast without lowering the bar. You’ll be part of a small, talented, highly driven dev-team all of whom bring the same level of ownership, curiosity, and ambition you value yourself. No passengers. No layers. High trust, high ownership, high standards.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on arc.dev
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

10:22 min

Managing recurring subscriptions and products with Stripe

Dávid Lévai · LIVE

3:05 min

Tagging and organizing execution scenarios with pytest markers

Florian Bruhin · World Congress 2021

6:36 min

Funding open source through GitHub Accelerator and Sponsors

Stormy Peters · World Congress 2023

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

2:10 min

Integrating Stripe checkout using serverless API routes

Christian K · JS Congress

10:50 min

Analyzing candidate soft skills and developer onboarding frameworks

Sebastian Hans · LIVE

Videos

See all

Related articles

See all