Embedded Software Engineer II on the Connectivity Systems team (eero/Amazon), building platform software for embedded Linux, networking, and build infrastructure across eero devices, onsite in Los Gatos, CA.
Location: Los Gatos, CA onsite
Salary: USD 165,200 - 223,600 per year
Experience: 3+ years
Education: Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent work experience
Responsibilities
- Collaborate with hardware engineers during board bring-up to diagnose boot sequences, initialize peripherals, and configure device settings
- Assist manufacturing and operations to ensure firmware quality for production and reliable flashing and provisioning processes
- Create and maintain low-level drivers to ensure secure, reliable, and scalable fleet-wide deployments
- Design and maintain system services and daemons on eeroOS (embedded Linux) using Go, Python, and C/C++
- Develop and optimize low-level platform components in C/C++ for eero devices, covering system initialization, process management, and hardware abstraction layers
- Maintain and evolve the eeroOS distribution, including kernel configuration, package management, and system image builds
- Implement and debug networking features across layers 2 through 4 (Ethernet, Wi-Fi/802.11, TCP/IP, mDNS, DHCP) within the platform
- Collaborate with firmware and radio teams to integrate wireless subsystems and optimize performance
- Maintain and improve CI/CD pipelines, build systems (Yocto/ BitBake or equivalent), and developer tooling to accelerate velocity and enhance code quality
- Develop automated testing frameworks for validating device software
- Analyze telemetry and diagnostics from beta releases, dogfood builds, and production fleets to identify regressions and performance issues
- Lead root-cause analysis for field issues using remote debugging, log analysis, and device diagnostics
- Lead technical design reviews and mentor junior engineers in embedded platform practices
- Contribute to architectural decisions affecting the entire eero device portfolio
Requirements
- 3+ years of professional software development experience
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent work experience
- 2+ years of experience with embedded Linux or Linux-based platform development
- Proficiency in C/C++ and one scripting/systems language (Python or Golang)
Technologies
- Golang
- Python
- C/C++
- eeroOS (embedded Linux)
- Yocto
- BitBake
Benefits
- Health insurance
- 401(k) matching
- Paid time off
- Parental leave
A Day in the Life
- The Platform Software Development team maintains eeroOS and the build infrastructure used by feature teams across eero devices, Smart Home Hub, Automation and Tooling
- An SDE on the platform team builds applications in Go and Python on eeroOS, spanning all hardware, and helps maintain and improve the OS and build systems
About the Team
The Platform Software Development team owns eeroOS, the embedded Linux based operating system powering all eero devices, along with the software build infrastructure, Smart Home Hub integration, and automation tooling used by feature teams across the organization. We operate at the intersection of embedded systems and modern software engineering, delivering reliable, performant services on resource constrained networking hardware deployed to millions of homes. The team also serves as a core group responsible for triaging and resolving customer issues across production, beta, and dogfood deployments, working cross-functionally with Cloud, Data, and Mobile app teams.
Preferred Qualifications
- Experience with Golang for platform and systems service development
- Experience with Linux internals: systemd, networking stack (netlink, iptables/nftables), filesystems, process management
- Experience building systems for embedded targets (Yocto, OpenWrt, Buildroot, or equivalent)
- Experience with networking protocols (802.11, Ethernet switching, TCP/IP, mesh networking)
- Rust experience in systems programming contexts
- Familiarity with hardware debugging tools (serial consoles, JTAG) and reading device trees
- Experience with secure boot, firmware signing, or OTA update security
- Experience with fleet-scale device management and telemetry systems
- Familiarity with CI/CD for embedded targets (cross-compilation, hardware-in-the-loop testing)
- Experience working in resource-constrained environments (memory optimization, startup time reduction)
- Track record of debugging complex cross-layer issues spanning application, kernel, and hardware