Job Details

Software Engineer, Applications

As a Software Engineer on the Applications team 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 abstracting low-level device interfaces into high-level user-facing APIs. One sprint, you might be defining machine behavior with a mechanical designer; the next, coordinating manufacturing robot behavior.
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 Santa Clara or our Emeryville office and is well-suited to an engineer with strong fundamentals, curiosity, and the fire to grow into systems-level thinking.
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.
- You will be working hands-on with manufacturing robotics, designing 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
- 2+ years of experience (industry, internships, robotics competitions, IEEE, extracurricular projects, open source contributions etc)
- Bachelor of Science in Computer Science, Computer Engineering, Electrical Engineering, Mechatronics Engineering, Mechanical Engineering, Robotics or a related field.
- Multi-language programming language 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.
- A depth and breadth understanding of how computers work. Our work involves a variety of processors and computing environments at multiple levels of the stack.
- 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
Bonus Points For
- Embedded programming for ARM architectures and real-time operating systems (RTOS)
- Experience or interest in heterogeneous computing architectures (AMD ZYNQ)
- A passion for building user-centric APIs with industry-standard tools (gRPC, Postgres, Protobuf)
- Experience abstracting the control of manufacturing machines, material transport systems, and factory-level orchestration.
- Experience with instrumenting software for observability and debugging.
- Infrastructure-as-Code, and DevOps workflows.
- Familiarity with the fundamentals of robotic systems, such as feedback control systems, motion planning, and computer vision.
Copyright 2025 Jobelephant.com Inc. All rights reserved.
Posted by the FREE value-added recruitment advertising agency
jeid-d36423c6a26bf54dad61a9dbb794a900