Senior Python Engineer
Engineering · Remote (United States) · Full-time · posted 24 Sep 2026
The work
CivitasOPS is civil engineering AI: a web application for land survey and civil firms. A firm signs in from a browser, brings the documents a job runs on, and gets back work a licensed professional may have to put a seal behind. An AI reads the documents; it is never allowed to compute a number or to guess at a reading it could not make. That means heavy document handling, a great deal of exact arithmetic on what the AI transcribed, and a harness that holds the AI to the rules — for many firms at once, on whichever AI provider each firm brings, with each firm's work kept apart from every other's. Every number it produces is computed rather than guessed, and points back at the page it came from. That rule is the product. It is also the engineering problem.
You would own that application: how documents are handled, the numerical core, how one firm's work is kept from another's, and the way the whole thing behaves when a document is long, badly scanned or strange.
We do not describe what the product produces on a public careers page. You will see all of it, running, on the first call.
What you would do
- Make document handling faster and more certain: a file is read once, by the cheapest route that works, and everything downstream agrees on the result.
- Hold the AI to its rules. Every finding has to quote its page or be discarded, every uncertain reading has to be flagged, and a change to how the AI is asked is measured against a fixture library before it ships.
- Keep the numbers right. This is software people put a professional seal behind, and a result that is off in the last place is a bug, not a rounding difference.
- Work on the geometry and numerical code, and on the tests that pin it to answers a surveyor has checked by hand.
- Keep each firm's work its own as the product grows. Every feature has a written answer for "who can see this".
What we are looking for
- Several years of Python, on web services that other people's work depends on.
- Experience shipping on language-model APIs in production — evaluating output against known-good answers, and knowing where a model should not be trusted at all.
- Comfort with numerical code — NumPy, geometry, and knowing why the wrong unit conversion can cost somebody their licence.
- Experience keeping many customers' data apart inside one service, and explaining how to someone who has to sign off on it.
- A habit of measuring before deciding. Our design notes are tables of timings, and we would like yours to be too.
- Land surveying, GIS or CAD experience is a strong plus, not a requirement.
How we work
Small team, written decisions, a test for every promise the product makes. Remote within the United States, with a few days together each quarter.