Senior Software Engineer, Applications
About The Role:
As a Senior Software Engineer, 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 from low-level device interfaces to user-facing tools. One sprint, you might be doing path planning for robot motion or working on FPGA interfaces; the next, implementing a HIL test or modeling an analog to digital converter.
You’ll be joining a fast-paced, interdisciplinary environment with close collaboration across teams — including modeling and simulation, materials science, process development, and mechanical engineering — as we bring truly novel technology to life.
This role is based in either our Emeryville or Santa Clara locations and is well-suited to an engineer who is on a mission to extend their existing track record of excellence in robotics and automation to another chapter.
What You’ll Do:
- Write, operate, and debug software and firmware for complex robotics with hard real-time constraints. The code you write is what drives all manufacturing operations at Atomic Machines – and must be reliable, fault tolerant, and well instrumented.
- 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:
- 6+ years of industry experience with application software (navigation, vision, and multi-agent coordination) in the context of real-time requirements (think drones, legged robots, or autonomous vehicles).
- Bachelor of Science in Computer Science or a related field.
- Multi programming language fluency. Ability to code fluently in multiple languages, at multiple levels of the stack. Our software engineers primarily use C++ and Python. Experience with similar languages is ok, and knowledge of Go is a bonus.
- Demonstrated proficiency designing, building, and shipping complex distributed software systems that control hardware, as part of a team.
- Demonstrated proficiency with the fundamentals of robotic systems, such as feedback control systems, motion planning, and computer vision.
Bonus Points For:
- Industry- or graduate-level knowledge of Operating systems, Networks, Concurrency & execution models, and Computer architecture.
- A deep understanding of how computers work. Our work involves a variety of processors and computing environments – Linux, FreeRTOS, and bare metal.
- Experience architecting APIs and infrastructure that support operation of manufacturing nodes, material transport systems, and the system-level controller. Our monolithic central controller (Go, Postgres, gRPC) communicates with a distributed network of physical machines.
- Experience with and passion for instrumenting software for observability and debugging.
- Familiarity with CAD and CAM software, focusing on geometry engines, toolpath generation, and machining strategies.
The compensation for this position also includes equity and benefits.
Salary Range
$170,000 - $220,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