Senior Software Engineer – Optimization/MIP Solver
Listed on 2025-12-27
-
Software Development
Software Engineer, Senior Developer
Location: St. Louis
Senior Software Engineer – Optimization / MIP Solver
Duration
:
Contract-to-Hire
Compensation
: $75-105/hr
Location
: 100% REMOTE
We are seeking an experienced Software Engineer to join an Agile engineering team focused on developing and enhancing a Mixed‑Integer Programming (MIP) solver. This role requires hands‑on experience building MIP solvers and a strong foundation in algorithms and performance‑critical systems. You will work closely with a dedicated MIP engineering team and a broader group of optimization experts to design, architect, and implement solver components.
The ideal candidate is comfortable working independently, navigating ambiguity, and delivering high‑quality solutions based on written specifications and direct collaboration with stakeholders. As a fast‑moving organization, we value ownership, technical rigor, and the ability to iterate quickly. Engineers are expected to take end‑to‑end responsibility and contribute where needed across the stack.
- Design, implement, and improve components of a Mixed‑Integer Programming solver.
- Develop and optimize core algorithms, cuts, and heuristics.
- Collaborate with optimization experts to translate mathematical concepts into production‑ready code.
- Write high‑performance, maintainable C++ with strong correctness guarantees.
- Apply a data‑driven approach to solver evaluation and improvement.
- Participate in Agile planning, estimation, and iterative delivery.
- Contribute to architectural decisions and technical direction.
- Demonstrated experience designing and implementing MIP solver components.
- Strong proficiency in modern C++ with a focus on performance, maintainability, and testing.
- Solid background in algorithms, software architecture, and distributed memory parallel computing.
- Experience working methodically and independently in a collaborative environment.
- Strong problem‑solving skills and attention to correctness and detail.
- Experience building numerically stable, robust, and scalable optimization software.
- Expertise in low‑level C++ optimization (memory management, cache‑aware data structures, compiler‑aware coding).
- Comfortable working in Linux environments (Ubuntu preferred).
- Familiarity with CI/CD pipelines and automated testing.
- Experience coordinating or leading technical efforts within an engineering team.
- Experience working in Agile development environments.
(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).