Edge Engineer
- Company
- Queue
- Location
- Remote - United States
- Work type
- Full Time
- Posted
- 2026-10-09
Job description
About the Role
We are building out the Edge squad: the engineers who write the software that runs on our machine and tells its hardware what to do. You work where that software meets the hardware: the links to the motor board and the other controllers, the state machines that sequence each fill, and the contracts with the firmware and vision engineers. On every path you touch you build to one rule: when the machine cannot confirm a step, it stops safely and says why.
This is a mid-level role.
What You'll Own
Hardware links — One or more of the edge software's links to the motor board and the other controllers, over CAN, serial, USB and Ethernet: framing, timing, errors, reconnects and the tests that prove them.
Fill sequencing — Your part of the state machines that take a fill from the moment it reaches the machine to the moment the machine finishes or stops, with every step explicit and tested.
Contracts with microcontrollers and vision — Your changes to the messages between the edge software and the boards it drives, and between the edge software and the vision service. You version them and make them with the engineers on the other side, so that both sides read the same version.
Fail-closed behavior — The rule on every path you touch: when the machine cannot confirm a step, it stops safely and says why. You design the failure path first and test it on the bench.
First 90 Days
Day 30: You have made your first visit to headquarters, built the edge software, run it against the boards on a bench, and merged your first change through review. You can trace a fill through the state machines and name each point where it has to stop if a step cannot be confirmed.
Day 60: You own one hardware link end to end: its code, its bench tests and what it does when the link drops. You have changed a contract with the engineers on the other side.
Day 90: You have taken a change to fill sequencing from design to merge, with its failure paths designed and tested first.
What We're Looking For
Must-Have
Ownership — you have written production C, C++ or Rust on Linux and owned what you shipped, from the first design to the fault found after release.
Hardware integration over buses — CAN, RS-485 and other serial links, USB. You have debugged a link with an analyzer on the wire when the logs and the hardware disagreed.
Real-time orchestration and state machines — you have sequenced several subsystems where partial failure is normal, and you design the failure path first: when a step cannot be confirmed, the system stops safely and says why.
MCU boundary literacy — you do not write the firmware, but you understand how a microcontroller runs and what it exposes to a Linux host, and you have maintained a versioned protocol between a device and its host through change, for example a protobuf schema, a CAN message set or a register map.
The edge software is written in Rust, and you will work in it every day. Rust experience is a plus, not a requirement.
Nice-to-Have
Industrial x86 and ARM platforms in a shipped product.
Devices in the field: updates, remote diagnostics and telemetry.
Changes to an embedded Linux image: services, devices and packages.
NVIDIA Jetson: JetPack and Linux for Tegra, secure boot, field updates and the inference stack.
Robotics, medical devices, automotive or industrial automation.
How We Hire
Recruiter Screen (30 min)
Technical Interview (90 min) — a take-home exercise of 2 to 3 hours, in C, C++ or Rust, sent at least 24 hours before: a small piece of device software built around a state machine, which has to stay correct when power is lost at any step. We go through it together: what you built, how it recovers, and what you would test next.
Design Interview (60 min) — a link to a controller board and the state machine that drives it, designed with everything that can go wrong in from the start.
Leadership Interview (60 min) — how you own your work and work across squads.