Eine zielgenaue Bewerbung für diesen Job — ein maßgeschneiderter Lebenslauf und ein Anschreiben, die genau zur Stellenanzeige passen.
Circonomit in Berlin seeks an Applied Operations Research Engineer to translate customer problems into production-ready optimization models. You will transform planning problems with capacities, costs and constraints into actionable solutions, and bridge software with mathematical modeling.
You will own models from data ingestion (ERP/Excel) through to deployment, handling messy data and deadlines while collaborating with the OR team. The role is based in Berlin.
Hi, I'm Erik, CTO of Circonomit. This ad is specific on purpose: you should be able to tell from it whether this is your job. We build decision infrastructure for industrial companies: our customers model their production, with its capacities, costs and constraints, and we compute the answer to "what should we do?" before the decision is made. Our engine turns that model into one artifact that both evaluates like a spreadsheet and optimizes like a solver. It sits between two worlds: the mathematics that makes the answer correct, and the product that has to make it usable by people who are not mathematicians. That bridge is your mission. You work with our math and OR team to translate real customer problems into models, and you develop the engine that runs them. We will not sugarcoat it: combinatorial search is unpredictable, customer data arrives messy, and some weeks a deadline sets the priority.
Customer models, end to end. Turn a planning problem, with its capacities, costs, lead times and shift plans, into a model whose answer a plant manager acts on. That includes the data it runs on: ERP and Excel exports, and catching the numbers that cannot be right before the customer does. The interface between software and mathematics. Our engineers, and eventually our customers, build and extend models without needing us in the room. That means deciding where the abstraction belongs and what the modeling vocabulary has to cover, then building it and keeping it standing.
Answers people can act on. A planner watches the number improve, can defend it in a meeting weeks later, and still gets something usable when the honest answer is "impossible": which rules collide, and what it would cost to bend one. Scale in both directions. A model that answers for one site still answers when it covers twelve, over more periods, against harder constraints. And a hundred customers solving at once, none of them noticing each other.
Your features from first line to production. Nobody hands you a ticket and waits.
Small team, short lines of communication, no layers. You own your work end to end: you build it, you ship it to production yourself, you run it. Feedback runs both ways and continuously, in daily work and in weekly one‑on‑ones. We talk as equals, communicate proactively, and flag it early when something isn't working out. Saying no is part of the job. We review each other's work, and we like being together in the Cologne office, because the fastest conversations still happen in a room. Modeling and engine work sit in the same person here by design.
You have modeled and shipped combinatorial optimization in industry (MILP, CP, or both), with models that survived messy data, deadlines and real users. Algorithm design you have actually shipped: you know where methods and solvers reach their limits, CP-SAT and Gurobi included, and you can say which technique bought you what, from warm starts and rolling horizon to relax‑and‑fix, aggregation, matheuristics, or a plain heuristic when an exact solve is the wrong tool. You have run optimization workloads where someone was waiting on the answer, not only in notebooks: cancellation, timeouts and parallel solves are problems you have already solved once. Python at production quality: tests, types, review, and a profiler before an optimizer. You know how numerics go wrong where a model me… Applied Operations Research Engineer — Circonomit, Berlin.