- Career Center Home
- Search Jobs
- Developer
Description
We’re looking for a developer who sits comfortably at the intersection of software engineering and mathematical optimisation. This role is ideal for someone who enjoys building production-grade code while also understanding how models, constraints, and solvers fit together to solve real-world problems.
You need to have some familiarity with mathematical optimisation, ideally with some experience of building a system that uses it.
We are a startup, headquartered in Chicago, aiming to offer an innovative solution to industrial clients. We have already developed the backbone of the product and it is being piloted with clients. The location is either remote or Chicago (our Senior Software Architect is based in London, but the company HQ is in Chicago).
Requirements
Software Engineering
- Develop clean, maintainable Python code for optimisation workflows and data pipelines
- Implement modelbuilding logic, scenario generation, and resultprocessing modules
- Write unit tests and contribute to continuous integration
- Work with APIs, databases, and internal services to ingest and prepare data
- Collaborate with senior engineers on architecture, refactoring, and performance improvements
Mathematical Optimisation
- Assist in formulating optimisation problems (LP, MILP, MIP, or nonlinear depending on context)
- Translate business requirements into variables, constraints, and objective functions
- Build and maintain models using frameworks such as Pyomo, PuLP, ORTools, or similar
- Run experiments, analyse solver output, and help diagnose infeasibilities or performance issues
- Understand the importance of an extensive test suite and be rigorously enforce test-driven development.
