Senior Software Engineer, Robotic Applications
Atomicmachines · Emeryville, or Santa Clara, California
About this role
**Atomic Machines — Senior Software Engineer, Robotic Applications** Atomic Machines is building a new era of micromanufacturing with its **Matter Compiler™** technology platform—enabling multi-process, multi-material micromachines through programmable manufacturing automation. **About the Role** Our manufacturing system is composed of **nodes** (each provides a unit of manufacturing capacity for a process). As a Software Engineer, Robotic Applications, you’ll bring nodes to life by designing **automation sequences, state machines, and APIs** that turn integrated hardware into **reliable, repeatable manufacturing capacity**. You’ll primarily work in **Python** across the application layers of the stack, including: - APIs that wrap a node to automate manufacturing processes - Orchestration that sequences **motion, vision, and process steps** for throughput - Calibration and diagnostic tooling to replicate nodes and keep them healthy You’ll collaborate closely with mechanical, electrical, and process engineers during bring-up—often iterating quickly from defining behavior to debugging cycle time and failures across the software/hardware boundary. **What You’ll Do** - Design and implement machine behavior: automation sequencing, state machines, failure detection/recovery, and the APIs that expose it - Write code that makes unsafe commands impossible: enforce invariants, validate before touching hardware, and ensure the machine is left in a known state on every exit path - Ship a simulator/mock with every device; test sequencing, timing, and recovery without the machine; extend the conformance suite in CI - Optimize cycle time by instrumenting sequences and restructuring motion/vision/process steps - Bring up new hardware with cross-functional teams; build calibration, verification, and diagnostic tools to speed up the next machine - Debug across the stack using logs, telemetry, and machine behavior - Improve reliability through observability, fault handling, and graceful recovery (reduce babysitting) - Participate in an on-call rotation: one-week shifts (about once every 10 weeks), with coverage typically **6am–2pm** or **2pm–10pm** and no expectation to work beyond the shift **What You’ll Need** - **3+ years** developing software for systems that interact with hardware or the physical world (posting targets **L3–L5**) - Depth in something you built: be able to explain design decisions, what broke, and how you found/fixed it - Strong programming fundamentals and **fluent Python** (Python is used daily; interview coding exercises are in Python) - A first-principles mindset - Practical understanding of state machines, sequencing, and failure modes in systems where software drives physical hardware - Systematic debugging habits and collaboration skills across software/electrical/mechanical boundaries - **BS** in CS, EE, ME, Mechatronics, Robotics, or equivalent experience **Bonus Points For** - Experience bringing up and integrating electromechanical systems in production environments - Fluency in a systems language (C++, Rust, Go) — motion stack is C++ - Robotics depth: kinematics, motion planning, vision-based alignment, calibration (hand-eye, kinematic, galvo scan-field), and experience landing it in shipped systems - Hardware-in-the-loop test design, observability, or simulation/digital-twin validation beyond unit mocks - Realtime/embedded experience (valuable on adjacent teams) **Location** Offices in **Emeryville** and **Santa C
Listing freshness
CronJobs last confirmed this listing 2h ago. If its source stops confirming the opening for seven days, this page is removed from active inventory.