Senior Embedded Software Engineer

Atomic MachinesSanta Clara, CA
3h

About The Position

As a Senior Embedded Software Engineer, 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 tuning motors 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 Emeryville or Santa Clara and is well-suited to an engineer with strong fundamentals, curiosity, and the fire to grow into systems-level thinking.

Requirements

  • 5 + years of industry experience with embedded systems programming, particularly for ARM architectures and real-time operating systems (RTOS)
  • Multi programming language fluency. Ability to code fluently in multiple languages, at multiple levels of the stack. Our embedded engineers primarily use C++ and Python. Experience with similar languages is ok, and knowledge of Go is a bonus.
  • A deep understanding of how computers work. Our work involves a variety of processors and computing environments, including Linux, FreeRTOS, and bare-metal.
  • Undergraduate-level knowledge of Operating Systems, Networks, Concurrency & execution models, and Computer architecture.
  • Experience designing, building, and shipping complex distributed software systems that control hardware, as part of a team.
  • A first-principles mindset — you question assumptions, reframe problems from the ground up, and approach challenges with a foundational understanding rather than relying solely on precedent.
  • Bachelor of Science in Computer Science or a related field.

Nice To Haves

  • Experience writing 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 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.

Responsibilities

  • 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 in cross-functional teams to take projects from concept to production.
  • Work with electrical engineers to ensure boards meet requirements.
  • Work at multiple levels of the software stack: you’ll implement firmware, design a protocol, implement it in multiple languages, and deliver to users.

Benefits

  • The compensation for this position also includes equity and benefits.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service