Software Engineer, Robotics (ALL LEVELS)
Designs and builds distributed software systems controlling robotics hardware for micromanufacturing, handling real-time constraints, device coordination, and failure recovery. Requires 5+ years experience with C++, Python, Linux, and hardware-interfacing software; BS in CS or related field.
What You'll Do
- Write, operate, and debug software and firmware for complex robotics with hard real-time constraints.
- Design and operate software that coordinates state, timing, and failure recovery across a distributed network of devices.
- Work hands-on with manufacturing robotics and design software to coordinate a distributed network of devices.
- Work at multiple levels of the software stack—you'll design and implement a networked API and debug it down to the hardware.
What You'll Need
- 5+ years of industry experience developing software that interfaces with hardware.
- Multi-language programming fluency—ability to code fluently in multiple languages at multiple levels of the stack (our robotics engineers primarily use C++ and Python; knowledge of Go is a bonus).
- Deep and broad understanding of how computers work (our work involves a variety of processors and computing environments at multiple levels of the stack).
- Familiarity with robotics-adjacent systems (sensors, actuators, timing constraints, physical failure modes).
- Experience designing, building, and shipping complex software systems that control hardware as part of a team.
- Experience with version control and working on Linux machines.
- First-principles thinking with sound instincts for strategic tradeoffs.
- Bachelor of Science in Computer Science, Computer Engineering, Electrical Engineering, Mechatronics Engineering, Mechanical Engineering, Robotics, or a related field.
Bonus Points For
- Experience or interest in heterogeneous, distributed computing architectures.
- Experience in abstracting the control of manufacturing machines, material transport systems, and factory-level orchestration.
- Experience with instrumenting software for observability and debugging.
Compensation
Salary Range: $185,000—$260,000 USD (also includes equity and benefits).
Senior Robotics Software Engineer
Senior robotics software engineer building perception, motion planning, and controls software for autonomous solar farm construction robots. Requires Python, C++, real-time/embedded experience, and onsite work in San Leandro, CA.
Senior Software Engineer, Sensor Platform
Design and develop sensor and compute systems for autonomous vehicles. Requires strong C++ skills, Linux kernel experience, and 6+ years building real-time systems from drivers to applications.
Autonomy Software Engineer – Path Planning
Develop and integrate core path planning algorithms for autonomous aerial systems (UAVs, fighter aircraft) supporting military missions. Requires 3-5 years experience with sampling/grid-based planning methods, C++ or Python, and outer-loop control systems.
Staff Embedded Software Engineer
Technical leadership role driving design, development, and validation of firmware for autonomous industrial vehicle controllers. Requires 8+ years embedded experience, safety-critical standards expertise, and cross-functional hardware/software collaboration.