Build and debug distributed software and firmware controlling complex robotics and manufacturing systems with real-time constraints. Requires 5+ years experience interfacing software with hardware, fluency in C++/Python, and a relevant BS degree.
185k – 260k
On-site5+ YOEEmbedded Engineering
About the role
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.
Develops and implements algorithmic improvements for autonomous robot motion planning to enhance safe driving in complex urban environments. Requires C++ fluency, knowledge of planning techniques like A*, RRTs, PRMs, and real-time algorithm experience.
189k – 270k
HybridEmbedded Engineering
Software Engineer, Robotics
Applied IntuitionSunnyvale, CA
As a Robotics Engineer, you will work across the full stack to design, implement, and tune core robotics software for general-purpose robots. This hands-on role involves developing real-time control software, building simulation infrastructure, and debugging physical robots.
190k – 271k
On-site4+ YOEEmbedded Engineering
IC Layout Automation Software Engineer
Rigetti ComputingFremont, CA
Develop and maintain software systems for IC layout generation supporting superconducting quantum circuit design and fabrication. Requires strong Python skills, GDSII experience, and familiarity with EDA tools and lithography processes.
190k – 220k
On-siteEmbedded Engineering
Design Verification Engineer
Cerebras SystemsSunnyvale, CA
Develop verification strategies, reusable testbenches, and coverage plans for large-scale AI chip designs. Requires 3+ years of Design Verification experience with SystemVerilog, UVM, and strong debugging skills.
190k – 230k
On-site3+ YOEEmbedded Engineering
Software Engineer, Virtualization
FalSan Francisco, CA
Build and automate custom GPU-accelerated compute environments, including bare metal, virtual machines with GPU passthrough, and dedicated Kubernetes clusters with high-performance networking for fal's generative media platform.