Senior Applied Scientist (Scheduling and Optimization)
Canada (Remote)
Senior Level
Full-Time
Top Benefits
Flexible time off
Training and development investments
Competitive salary and equity opportunities
About the role
- We’re looking for a Senior Software Engineer to own the constraint-solving engine behind our Scheduling Agent, one of the most strategic bets on our Planning & Scheduling roadmap
- The engine is a Python service built on CP-SAT that takes work orders, technicians, and a mix of hard and soft constraints, and produces a feasible weekly schedule that enterprise maintenance teams can trust
- Your focus will be evolving the solver to handle increasingly complex, real-world scheduling scenarios and exposing it as tools for GenAI agent workflows
- This is a high-ownership role. You’ll have the space to shape the modeling approach, partner closely with product and design on what scheduler users actually need, and ship iteratively against feedback from real enterprise customers
- Own and evolve the Python optimization service that powers the Scheduling Agent, modeling, solving, and iterating on the constraint formulation as new use cases emerge
- Design and implement increasingly sophisticated scheduling capabilities: trade and crew constraints, irregular capacity patterns, production downtime windows, multi-site considerations, and reactive re-scheduling
- Build and maintain API routes and tools that expose the solver to GenAI agent workflows (tool calling, structured input/output)
- Partner with PM and design to translate messy real-world scheduling problems into solver constraints, and push back when “optimal” isn’t what users actually want
- Iterate the solver with real users via design partnerships and pilot deployments. Take feedback from human schedulers seriously and reflect it back into the model
- Contribute to the surrounding Python service: performance, observability, testing, and reliability of the optimization runtime
- Help shape how scheduling intelligence integrates with the broader MaintainX product over time, including learning from execution data to improve solver inputs
Benefits
- Flexible time off
- Training and development investments
- Competitive salary and equity opportunities
- Comprehensive healthcare coverage- Product mindset and delivery orientation, you ship, you measure, you iterate. You think about the user outcome, not just the objective function
- 5+ years of professional software engineering experience, with significant time spent on optimization, constraint programming, or operations research problems shipped to real users
- Academic grounding in Operations Research, Industrial Engineering, Computer Science, or a related quantitative field, at minimum a strong undergraduate foundation; advanced degrees are common in this space but not required
- Track record of iterating optimization systems with real users, you’ve felt what happens when a human rejects the “optimal” answer and you’ve redesigned the model in response
- Solid Python service engineering: APIs, async, testing, profiling, observability. You can own a production service end-to-end
- Comfort with ambiguity. You can co-design the constraint data model with the team rather than waiting for a clean spec
- Familiarity with GenAI tooling (LLM tool calling, structured output, prompt design for constrained generation) is expected
- Strong fluency with CP-SAT and at least one other optimization paradigm (MILP via Gurobi/CPLEX/HiGHS, metaheuristics, or similar). You’ve hit the limits of one approach and made informed choices about when to use which
- Experience at a known, reputable product company shipping optimization or scheduling products at scale
- Domain experience in scheduling, workforce management, field service, manufacturing, logistics, or similar resource-constrained planning problems
- Exposure to learning-augmented optimization, using historical execution data to estimate durations, priors, or constraint weights
- Tech-lead experience or interest in growing into a tech-lead role on this team