Software Engineer, Robotics Platform
Summary
Build and own the low-level robotics platform (OS, middleware, networking) that runs Chef Robotics' fleet, from system design to hardware integration.
About the Role
What You’ll Do:
- Architect and build our next-generation robotics platform — the foundation layer our robotics stack and forward-deployed models run on, spanning compute, OS, middleware, and networking — taking the lessons from the platform in production today into a clean-sheet design.
- Build the infrastructure and frameworks that carry a robot across its whole software lifecycle — provisioning a new instance so it joins the fleet, then keeping its software updated from there on — working with manufacturing to do this at scale.
- Lead an upgrade of our autonomy software OS and middleware.
- Help integrate new robot hardware, sensors, and cameras, and monitor performance.
- Investigate, debug and fix difficult low-level systems software problems and performance, e.g. with drivers, networking, Linux configuration.
Qualifications
- Strong experience and expertise in Linux systems — building complex software in a Linux environment.
- Strong systems programming in C, C++, or Rust (Python a plus).
- Excellent software engineering fundamentals.
- Experience leading and shipping complex software projects.
- Experience deploying and managing software across networked edge devices (robot fleets, embedded systems) and/or with ROS 2 middleware — the DDS-based publish/subscribe (topics) layer that connects a robot's software components.
Nice-to-Have
- Robotics experience.
- Experience with the broader robotics tech stack, e.g. OpenCV, CUDA.
- Understanding of network and time protocols, e.g. TCP, UDP, PTP.
- Experience in systems engineering.
- Experience with basic mechatronics and electronics.
- Experience leading projects or people in a tech-lead or similar capacity.
- A Master's or PhD — not required, but we value the depth of reasoning that sustained research develops.