Kodiak Software Engineer, Controls (C++) developing production-level vehicular controls software for articulated trucks. Implements control strategies and collaborates to advance vehicle control architecture.
Responsibilities
Implement control and actuation strategies
Develop and test reliable, safety-critical software that controls articulated trucks driving on highways
Characterize the vehicle platform, including braking, steering, and acceleration
Develop models for both onboard and simulated motion prediction
Specify requirements and document their implementation
Apply degraded operations capabilities for fail-safe driving
Collaborate with Planning, Hardware, Systems, and Infrastructure colleagues to advance a robust vehicle control architecture
What you’ll bring:
2+ year of experience developing production-level vehicular controls software
Software development experience writing production-level C++
A strong background in robotics, controls, and mathematics
Experience developing, testing, and tuning controllers for autonomous robots, ideally trucks, cars, or flying vehicles
Qualification
Strong background in roboticsExperience developingCharacterizedFacility with control theoryProficiency with PythonProficiency with MATLAB / Simulink
Required
2+ years of experience developing production-level vehicular controls software
Software development experience writing production-level C++
Strong background in robotics, controls, and mathematics
Experience developing, testing, and tuning controllers for autonomous robots, ideally trucks, cars, or flying vehicles
Preferred
Characterized, modeled, and simulated robotic systems
Facility with control theory, including stability analysis
Written low-level drivers for software/hardware interfacing using protocols such as CAN or ethernet
Developed efficient code running on resource-constrained embedded systems with a real-time operating system
Experience with software design and implementation in safety-critical domains (e.g. automotive, aerospace, medical, etc)
Knowledge of formal verification methods, writing requirements, and systems engineering processes