About the role
Ready to be part of the Legal Tech revolution?
Vision:
As a leading software-as-a-service (SaaS) provider, DiliTrust is a global company dedicated to offering an integrated suite of legal and governance products. Our vision is to digitize legal departments worldwide. With an annual growth rate of over 40% since 2020, our ambition is to become the world's leading Legal Tech company, aiming for a valuation exceeding $1 billion by 2026.
Our Impact:
From generating General Meeting reports to leveraging AI-assisted contract lifecycle management, our teams in our 8 offices across France, the US, Mexico, MEA, Germany, Spain, Italy, and Canada are the driving force behind our global success. We proudly support 2,400 customers in 64 countries, with 80% of our clientele comprising listed companies in major markets such as Europe, North America, and the Middle East.
Our Recognition:
DiliTrust has been at the forefront of Legal Tech innovation, being the first Legal Tech with AI features since 2022. The company is renowned for providing a positive and entrepreneurial work environment. We are honored to have received the "Happy at Work" and "Tech at Work" labels every year since 2019.
The Role:
Lini is DiliTrust's proprietary AI engine, powering Ask Lini, Risk Detector, Document Summarization, Minute Generation, and every AI capability across the suite.
We are building a dedicated squad around it and are looking for a strong Software / Product Engineer, with a focus our platform architecture, to help us bring it to the next level.
As a Software Engineer work at the intersection of AI, product, and engineering. You will contribute to building, improving, and scaling the features that make Lini a reliable and powerful AI layer across the entire DiliTrust suite.
We are looking for an engineer who writes clean, production-ready code and is comfortable taking ownership of features end-to-end, from technical design to deployment. We also care about how you think about AI: whether you bring genuine curiosity to the product, and whether you can translate a model capability into a great user experience.
Missions
• Write specifications as the durable asset of the project. Executable acceptance criteria, and — crucially — the non-functional requirements that specs almost never carry: data classification, endpoint × role authorization matrix, volumetry assumptions, latency and throughput budgets. These are the requirements whose later correction is superlinear, so they get decided before generation, not after.
• Freeze the contracts before any fan-out. API schemas, types, module boundaries, invariants. Agents do not negotiate an interface in the hallway: each will make a plausible and incompatible assumption, discovered at integration.
• Pilot coding agents with a tight brief and a bounded context — narrow tasks, defined input and output artifacts, explicit stop conditions and budgets, full traceability of what produced each change.
• Keep producer and verifier separate. You do not sign off alone on generation you piloted, and you act as independent verifier on your peers' slices — with an adversarial brief ("find what breaks against this spec"), never "confirm this looks fine".
• Build the asymmetric gates that make the slice safe at volume — expensive to satisfy, cheap to check: property tests, contract tests, query-count and allocation budgets, execution-plan checks, policy-as-code, backward-compatibility proofs. Written before the implementation exists, so the agent closes the feedback loop itself without consuming human attention.
• Use code reading as a calibration instrument, not as a gate. Sample deliberately, by risk zone, to measure the real defect rate of the generator-plus-gates pair and to keep the team's mental model of its
View original listing ↗