Software Engineer, Robotic Applications
Indexed description
Our offices are in Emeryville and Santa Clara, California.
About The Role:
As a Senior Software Engineer, Robotic Applications, you will design and build the distributed software system that controls the Matter Compiler. You'll have the chance to work across layers of the stack, abstracting low-level device interfaces into high-level automation APIs. One sprint, you might be designing system behavior with a mechanical engineer; the next, you could be bringing up and integrating complex electromechanical systems.
You'll be joining a fast-paced, interdisciplinary environment where teams collaborate closely—including modeling and simulation, materials science, process development, electrical engineering, and mechanical engineering—as we bring truly novel technology to life.
This role is based in either our Santa Clara or Emeryville office and is well-suited to an engineer with strong fundamentals, curiosity, and a drive to develop systems-level thinking.
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.
- 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
- 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
Salary Range: $165,000 USD - $190,000 USD
Create a free Caio profile to unlock the full index and keep your job-search signal for future recommendations.
Unlock free search