What are the responsibilities and job description for the Staff Software Engineer, Mechatronics position at Atomic Machines?
Atomic Machines is ushering in a new era in micromanufacturing with its Matter Compiler (MC) technology. The MC 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. The MC promises to unlock MEMS manufacturing both for the many device classes that never could be made by semiconductor methods but also to open up entirely new classes. Furthermore, the MC is fully digital in the way 3D printing is digital, but where 3D printing produces parts of a single material using a single process, the MC is a multi-process, multi-material technology: 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 – that we will be unveiling to the world soon.
Our offices are in Berkeley and Santa Clara, California.
About The Role:
We are seeking a seasoned software engineer who will be building the nervous system of our Matter Compiler, an automated manufacturing and assembly platform conceived from the ground up as a system for making modular, multi-material devices with micron-scale features. This person can be in Santa Clara or Berkeley.
\n- Design and build the distributed software system that controls the Matter Compiler. You will develop the Manufacture Execution System (MES) that orchestrates the activities of the system – including production planning, resource management, and data collection.
- Develop the APIs and data infrastructure that support operation of manufacturing nodes, material transport systems, and the system-level controller. A monolithic central controller (Go, Postgres, gRPC) communicating to a distributed network of physical machines.
- Run, monitor, and debug software. 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, write a GUI for it, and debug it down to the hardware. You’ll be a go-to software leader at the company – able to guide practices & work productively with experts in other fields (mechanical engineering, AI / modeling / simulation, electrical engineering, & more).
- 10 years of industry experience
- Bachelor of Science in Computer Science or a related field.
- Ability to code fluently in multiple languages, at multiple levels of the stack.
- A high-performance systems language like C, C , or Rust.
- A compiled, garbage-collected language like Go or Java.
- A scripting language like Python or JavaScript.
- Understanding of how computers work. Our work involves a variety of processors and computing environments – Linux, FreeRTOS, and bare metal. Strong fundamentals help build system context and enable broad contribution. Undergraduate-level knowledge of:
- Operating systems.
- Networks
- Concurrency & execution models.
- Computer architecture.
- Experience designing, building, and shipping complex distributed software systems that control hardware, as part of a team.
- Experience with instrumenting software for observability and debugging.
- Experience with version control, Infrastructure-as-Code, and DevOps workflows.
- Familiarity with the fundamentals of robotic systems, such as feedback control systems, motion planning, and computer vision.
- Familiarity with CAD and CAM software, focusing on geometry engines, toolpath generation, and machining strategies.
- Familiarity with embedded systems programming, particularly for ARM architectures and real-time operating systems (RTOS)
Salary : $170,000 - $230,000