Software Applications Engineer, Robotic Systems
Role details
Job location
Tech stack
Job description
As a Software Applications Engineer, Robotic Systems, you will build the distributed software systems that control the Matter Compiler. These systems coordinate real hardware - sensors, actuators, and manufacturing processes - under real-time and reliability constraints.
You will work across layers of the stack, from low-level device interaction to higher-level APIs that define machine behavior. In one sprint, you might debug a timing issue between devices; in another, you may implement an interface that enables coordination across a fleet of machines.
This role is well-suited for engineers with strong fundamentals, hands-on curiosity, and a desire to grow into systems-level thinking through exposure to real-world, hardware-driven systems. This role is based in either our Santa Clara or Emeryville offices.
What You'll Do
- Write, test, and debug software that directly interfaces with robotics and manufacturing systems
- Build and operate distributed systems that coordinate state, timing, and behavior across multiple devices
- Investigate and resolve issues spanning software, firmware, and physical systems
- Contribute to system reliability through logging, observability, and fault handling
- Work across the stack-from device-level interaction to networked APIs
- Collaborate closely with mechanical, electrical, and process engineers to define system behavior
Requirements
- 3+ years of experience (research, robotics projects, or relevant industry work)
- Bachelor's degree in Computer Science, Electrical Engineering, Mechanical Engineering, Robotics, or a related field
- Strong proficiency in Python for building and debugging production systems (our stack primarily includes Python, C++, and Go)
- Experience with at least one systems or strongly typed language such as C++, Rust, or Go
- Solid understanding of core computer science fundamentals (data structures, concurrency, systems basics)
- Experience building or debugging systems that interact with hardware or other external systems
What Makes You Stand Out
- Experience working with robotics, embedded systems, or hardware-adjacent software
- Familiarity with real-time systems or resource-constrained environments
- Experience debugging complex issues across multiple layers (software, firmware, hardware)
- Exposure to distributed systems or networked device coordination
- Interest in how physical systems behave under real-world constraints (latency, noise, failure, safety)
- Experience with observability, testing, or infrastructure tools