Software Engineer - Mixed-Integer Programming; MIP Solver
Listed on 2026-02-07
-
Software Development
Software Engineer
Location: St. Louis
Duration: Contract-to-Hire
Compensation: $75-105/hr
Location: 100% REMOTE
We are seeking a Senior Software Engineer to join an Agile engineering team responsible for building and advancing a performance-critical Mixed-Integer Programming (MIP) solver. This is not a general software engineering role and not an applied optimization or data science position. You will work closely with a dedicated MIP engineering team and optimization researchers to design, implement, and optimize solver internals including branching strategies, cutting planes, heuristics, and core algorithms.
Success in this role requires deep familiarity with solver architecture, mathematical optimization, and low-level systems programming. Engineers are expected to operate with high autonomy, translate mathematical specifications into production code, and own solver components end-to-end.
- Design, implement, and maintain core MIP solver internals
- Develop and optimize branch-and-bound, cutting planes, primal heuristics, and search strategies
- Implement performance-critical algorithms in modern C++
- Translate mathematical optimization concepts into correct, production-grade solver code
- Analyze solver performance using benchmarks, metrics, and profiling tools
- Contribute to solver architecture decisions and long-term technical direction
- Participate in Agile planning, estimation, and iterative delivery
- Demonstrated experience building or extending a MIP solver (commercial, open-source, or proprietary)
- Hands-on work with MIP internals such as:
- Branch-and-bound / branch-and-cut
- Cutting planes
- Primal heuristics
- Presolve or propagation
- Expert-level C++ (performance-critical, low-level, memory-aware)
- Strong foundation in algorithms, data structures, and optimization theory
- Experience translating mathematical formulations into solver implementations
- Ability to work independently from written specs and ambiguous problem statements
- Proven focus on correctness, numerical stability, and performance
- Experience contributing to or working with commercial or open-source solvers (e.g., SCIP, Gurobi, CPLEX, CBC)
- Expertise in low-level optimization (cache locality, memory management, compiler optimization)
- Experience with parallel or distributed MIP solving
- Comfortable working in Linux environments (Ubuntu preferred)
- Familiarity with CI/CD, benchmarking pipelines, and automated testing for numerical software
- Experience leading or owning solver subsystems within an engineering or research team
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).