Back to jobs

Embedded Software Engineer

Santa Clara, California

About Atomic Machines

Atomic Machines is ushering in a new era of micromanufacturing with its Matter Compiler™ technology. This full-stack technology enables new classes of micromachines to be designed and built by offering manufacturing processes and a materials library that is inaccessible to semiconductor manufacturing methods. It promises to unlock MEMS manufacturing for the many device classes frustrated by semiconductor methods and to open up entirely new product classes. The Matter Compiler™ technology fully realizes the digital manufacturing dream: bits and raw materials go in, and complete, functional micromachines come out. The Atomic Machines team has also created an exciting first device—one that was only made possible by the existence of the Matter Compiler™ technology—that we will be unveiling to the world soon.

Our offices are in Emeryville and Santa Clara, California.

About The Role:

As an Embedded Software Engineer, you will develop software that powers Atomic Machines’ precision manufacturing systems. You will work on real-time control and device-level software running on bare-metal microcontrollers and embedded Linux platforms.

This role focuses on building reliable, high-performance embedded systems using modern C++. You will contribute to software that interfaces directly with hardware, coordinates distributed components, and enables precise, repeatable machine behavior.

You’ll work closely with electrical, mechanical, and controls engineers to bring up new systems, debug issues in the lab, and ship production-ready software. This position is well-suited for engineers with strong fundamentals in embedded systems who are looking to deepen their systems-level understanding and take ownership of meaningful components.

The role is based in Santa Clara.

What You'll Do

  • Develop, debug, and maintain embedded software and firmware for real-time systems.
  • Write production-quality modern C++ for embedded systems, and in Python for testing, tooling, automation, and system-level integration.
  • Implement device drivers, hardware interfaces, and communication protocols between distributed system components.
  • Contribute to system bring-up, including debugging hardware/software interactions using lab equipment (e.g., oscilloscopes, logic analyzers).
  • Write reliable, testable, and well-instrumented code for systems with real-time and reliability constraints.
  • Collaborate with cross-functional teams (electrical, controls, mechanical) to define requirements and deliver integrated solutions.
  • Contribute to testing and validation infrastructure, including HIL setups and system-level debugging.

What You'll Need

  • 2–5 years of experience developing embedded software or firmware.
  • Proficiency in modern C++ (C++14/17 or later) in resource-constrained or real-time environments.
  • Experience with testing, automation, or tooling for software systems (in Python or similar scripting languages).
  • Experience working with ARM-based microcontrollers (e.g., STM32) and familiarity with embedded Linux systems.
  • Solid understanding of core embedded systems concepts, such as:
    • Memory management and constraints
    • Concurrency and real-time behavior (interrupts, scheduling, RTOS)
    • Hardware/software interfaces (SPI, I2C, UART, ADC, GPIO)
  • Experience debugging issues that span software and hardware boundaries.
  • Ability to work within an existing codebase and contribute to larger systems as part of a team.
  • Bachelor’s degree in Computer Science, Electrical Engineering, or a related field, or equivalent practical experience.

Bonus Points For

  • Familiarity with Xilinx platforms (e.g., KR260, Zynq) or FPGA-adjacent systems.
  • Experience designing or implementing communication protocols between embedded and higher-level systems.
  • Familiarity with the fundamentals of robotic systems, such as feedback control systems, motion planning, and computer vision.

The compensation for this position also includes equity and benefits.

Salary Range

$150,000 - $180,000 USD

Create a Job Alert

Interested in building your career at Atomic Machines? Get future opportunities sent straight to your email.

Apply for this job

*

indicates a required field

Phone
Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...
Select...
Select...
Select...
Select...