Staff Software Engineer, Combinatorial Optimization
Divergent is a technology company that has architected, invented, built, and commercialized an end-to-end factory system called the Divergent Adaptive Production System (DAPS) that comprehensively uses machine learning to optimally engineer, additively manufacture, and flexibly assemble complex integrated vehicle structures and subsystems. Products created using DAPS are superior in performance, lower in cost, rapidly customizable to meet mission and customer-specific requirements, faster to market, and scalable on demand to high volume production. Divergent is a qualified Tier 1 supplier to global automotive OEMs, and Divergent is now expanding to support mission critical needs in the Aerospace and Defense sector. Join us to be a part of this transformative journey, where your impact will shape the future of technology and production.
About the Role
We are seeking a Staff Software Engineer, Combinatorial Optimization with a strong background and hands-on experience using the latest technologies in task planning, scheduling, and simulation. You will be working on designing, developing, and deploying software leveraging state-of-the-art decision-making technologies (SAT/SMT solvers, constraint programming, and more). You will be participating in an end-to-end solution that includes system and infrastructure design, algorithm development, and production deployment. This role will be key to building optimization-powered applications for robotics and manufacturing that improve process efficiency and product quality at Divergent.
Key Responsibilities
- Design, develop, and deploy innovative planning algorithms using the latest task planning, scheduling, and simulation techniques.
- Determine the system design and deployment architecture for the software pipeline.
- Collaborate with cross-functional teams to integrate and optimize planning solutions into products and processes.
- Document your work, including code, algorithms, user manuals, and procedures, to support knowledge sharing and future development efforts.
- Develop and maintain software development best practices to ensure high-quality code, efficient testing, and timely releases.
- Stay updated on advancements in planning algorithms and technologies, and contribute fresh ideas and insights to the team.
Basic Qualifications
- Ability to lawfully access information and technology that is subject to US export controls
- Bachelor's or Master's in Computer Science (or related) + 5 years of professional software-engineering experience.
- Advanced proficiency in Python and C++ (multithreading, memory management).
- Proven experience with SAT/SMT solving, combinatorial optimization, and constraint programming.
- Strong background in task planning and scheduling (PDDL, heuristic/temporal planners, resource-constrained project scheduling).
- Hands-on with open-source planning/scheduling libraries or equivalent.
- CI/CD pipeline design, Docker & Kubernetes deployment, automated unit-testing, debugging, and performance profiling.
- Excellent analytical, problem-solving, written/oral communication, and collaboration skills.
- Solid understanding of system design, scalability, and cloud-native architecture.
Preferred Qualifications
- Ph.D. (or equivalent research experience) with a strong publication record in task planning, scheduling, or related optimization venues.
- Active open-source contributions to solver/planner projects.
- Familiarity with C# and TypeScript.
- Domain expertise in robotics or manufacturing workflows.
- Experience leading medium-sized technical initiatives from definition through delivery.
- Strong stakeholder communication and conflict-resolution abilities.
- Experience integrating ML/DL models with planning pipelines for hybrid approaches.