Software Engineer, Quality & Developer Tools | Consumer Devices
San Francisco • FullTime
Posted 3mo ago
About the job
As a Software Engineer, Quality and Developer Tools, you will build and own the systems that validate our device software. This includes designing and implementing test frameworks, regression infrastructure, hardware-in-the-loop labs, and release gates. You'll develop tooling and automation to ensure quality signals are trustworthy, integrate them into CI/CD pipelines, and create efficient workflows for engineers and QA technicians. The ideal candidate has deep experience in software quality, automation, developer tooling, and hardware-software integration, with a passion for building scalable and reliable systems for validation and release readiness.
Responsibilities
- Design, implement, and maintain a unified test framework for device software across multiple testing levels.
- Integrate test suites with CI/CD tools like Buildkite, enforce release criteria, and automate regression filing.
- Plan and manage hardware-in-the-loop lab infrastructure, including device testing orchestration, flashing, and telemetry.
- Develop tools for API and firmware validation, result triage, log capture, and bug reporting to enhance engineering efficiency.
- Build dashboards and alerts for quality metrics, detect and manage flaky tests, and track delivery metrics.
- Create procedures and tooling for QA vendor technicians to execute repeatable processes and manage rig maintenance.
- Collaborate with embedded and systems software teams on testability and with release engineers on pipelines and deployment strategies.
Requirements
- Deep experience building software quality, test automation, or developer tooling systems for hardware products at scale.
- Proficiency in Python, C, C++, or Rust.
- Strong Linux fundamentals, including processes, networking, storage, and systemd/udev.
- Experience building CI/CD pipelines, artifact management systems, and reproducible test environments.
- Demonstrated success designing and operating hardware-in-the-loop labs and device orchestration systems.
- Fluency with test reliability techniques such as failure triage, flake detection, and signal-quality guardrails.
- Strong debugging skills across software, firmware, devices, and release infrastructure.
- Ability to work effectively across teams and improve engineering and release processes.
Benefits
- Hybrid work model (four days in office per week)
- Relocation assistance for new employees