Kodiak
Software Engineer, Routing
About this role
Kodiak Robotics seeks a senior Software Engineer to lead behavior and motion planning for autonomous trucking. You'll own complex planning challenges end-to-end, from algorithm design to real-world validation, working across robotics, optimization, and real-time systems to improve the safety and performance of the Kodiak Driver.
What you'll do
- Design and deploy behavior and motion-planning capabilities for complex driving scenarios
- Own technical problems from concept through production rollout and iterative refinement
- Shape architecture, interfaces, and requirements for planning-related systems
- Translate driving goals into robust algorithms, cost functions, and production code
- Build evaluation frameworks and tooling to measure autonomy improvements from real-world data
- Provide technical leadership, mentoring, and code review guidance across cross-functional teams
What they're looking for
- Robotics and motion planning
- Optimization and controls
- C++ production software development
- Real-time systems
- Algorithm design and implementation
- Cross-functional technical leadership
- Performance-critical system design
- Data-driven evaluation and validation
Opens the application — the Jobs AI extension fills it for you. Set up autofill
Opens the official application on the employer’s site. No login required.
Kodiak
Kodiak builds autonomous trucking systems and software that enable self-driving vehicles for commercial transportation. The company is hiring engineers across verification & validation, vehicle integration, behavior planning, sensor hardware, and manufacturing quality to develop and deploy its autonomous driving technology.
View all jobs at KodiakLikely interview questions
- Walk us through a motion planning or optimization problem you've solved in production. How did you balance algorithmic correctness with real-time performance constraints?
- Describe your experience translating high-level driving or control objectives into cost functions and algorithms. How did you validate that your approach achieved the intended behavior?