Senior MIP Developer

Gurobi Optimization
Summary
Join Gurobi Optimization as a Senior MIP Developer and contribute to enhancing and expanding our core optimization algorithms and APIs. Lead the development of algorithms for various mathematical programming problems, collaborate with a skilled team, and provide internal support. Implement and benchmark new algorithmic ideas, develop user-friendly APIs, and create comprehensive test cases and documentation. Present new features at conferences and engage with users. This role requires a Ph.D. or Master's degree in a related field and extensive experience in developing high-performance mathematical programming solvers.
Requirements
- Ph.D. in Operations Research, Computer Science, or a related discipline. Alternatively, a master's degree in one of these fields, coupled with multiple years of practical experience developing an LP or MIP solver
- Proficiency in both written and spoken English
- Boasts a five-year background in developing high-performance mathematical programming solvers, primarily in C or C++, covering a wide range of problem classes, including LP, MIP, SOCP, NLP, MIQCP, and MINLP, with expertise in algorithms like simplex, interior point, and MIP components
- Proficient in understanding, implementing, and extending complex mathematical algorithms
- Experience in evaluating the performance and numerical robustness of a mathematical programming solver
- Comfortable collaborating with international teams in a cross-functional capacity
- Content with operating from a home office in a remote work environment
- Flexible and willing to travel as required based on the specified travel level
- Ability to participate in meetings scheduled across various global time zones, considering reasonable constraints
- Motivated to achieve assigned Objective Key Results (OKRs)
- Committed to upholding company policies and procedures
- Willingness to renew a passport and obtain necessary international travel documents, where applicable
- 3 years of experience in programming in C
- Strong knowledge of computer science, including software design and parallel computing
- Proficiency in using macOS and Microsoft 365
Responsibilities
- Lead the development and enhancement of algorithms to solve various mathematical programming problems, such as LP, QP, QCP, MILP, MIQP, MIQCP, etc
- Collaborate closely with a small team of highly skilled software developers
- Offer internal support, as required, to assist with internal product support and marketing functions
- Develop comprehensive test cases and product documentation as part of creating and releasing new product capabilities
- Present new product features and capabilities at technical conferences and actively engage with product users
Preferred Qualifications
Knowledge of additional programming languages, such as C++, Java, C#, Python, Matlab, and R, is considered a plus
Benefits
Remote work environment