Systems Software Engineer
Job description
About the role
This role develops foundational runtime systems for personal robots at a company building general-purpose home robotics. The focus is on enabling reliable, low-latency compute infrastructure for perception, controls, and behavior across the fleet.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
Core runtime ownership advances IPC, data logging, and scheduling for robot perception and controls. High-throughput sensor messaging and low-latency event flow are built to connect processes reliably.
CPU performance profiling identifies bottlenecks, and latency is reduced across the stack through focused optimization.
Work dispatch, prioritization, and monitoring are designed to manage real-time workloads on the robot effectively. Tracing, profiling, and runtime introspection are built so engineers understand system behavior and root causes quickly.
Faithful replay of recorded runs is enabled to support debugging, regression testing, and machine learning iteration.
Requirements
Two or more years of systems software development in high-performance, low-latency, or pseudo-realtime environments such as robotics, autonomous vehicles, or HFT are required. Strong proficiency in systems languages such as C++, C, or Rust is mandatory.
Deep Linux expertise covers scheduling, IPC, kernel tuning, memory management, and performance tuning. Hands-on experience optimizing CPU performance is necessary. Strong debugging skills using tools such as perf, ftrace, and eBPF tracing infrastructure are required.
Nice to have
Experience writing systems software for AV, Robotics, or other physical systems is valued. Building observability or tracing infrastructure for distributed or multi-process systems is a plus. Designing or building high-throughput logging systems and exposure to deterministic replay systems are noted. Experience with build systems and OTA updates is also considered.
Skills & tools
The role relies on systems languages, Linux performance tooling, and tracing infrastructure. Build systems, OTA pipelines, and data logging frameworks are used in production.
Practical notes
This role operates within an equal opportunity framework and requires alignment with team standards for reliability and real-time behavior. Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.
Questions to ask
Worth asking in any interview: how the team measures success, who the role works with daily, what the onboarding looks like, and what the company is trying to achieve this year. Asking what past hires did well is a strong final question. Keep the list short and pick the questions that matter most to you.