Embedded Software Engineer II , Connectivity Systems at eero
About the role
At eero, our mission is to serve as the central nervous system of the home. While we began by revolutionizing home WiFi, we aim to create comprehensive solutions that serve both wireless and wired connectivity needs for customers and businesses across the globe. Our cross-functional team, spanning hardware, software, and manufacturing, develops advanced Ethernet switching and gateway products, alongside state of the art security features, to complement our award-winning mesh WiFi systems. As an Amazon company, we combine the best of startup culture with the resources and stability of one of the world's leading technology companies. Our team builds products that customers love - from mesh routers to high-performance wired networking devices - and we're looking for you to join us in shaping the future of the connected home.
Responsibilities
Hardware Bring-Up & Production Support
Partner with hardware engineering during board bring-up to debug boot sequences, peripheral initialization, and device configurations
Support manufacturing and operations teams to ensure production firmware quality and flash/provisioning reliability
Develop and maintain low level driver ensuring secure, reliable, and stable fleet-wide deployments
Embedded Linux Platform Development
Design, develop, and maintain system-level services and daemons on eeroOS (embedded Linux) using Golang, Python, and C/C++
Develop and optimize low-level platform components in C/C++ for eero devices, including system initialization, process management, and hardware abstraction layers
Maintain and evolve the eeroOS distribution, including kernel configuration, package management, and system image builds
Networking & Connectivity
Implement and debug networking features spanning L2–L4 (Ethernet, Wi-Fi/802.11, TCP/IP, mDNS, DHCP) within the platform layer
Collaborate with firmware and radio teams on wireless subsystem integration and performance tuning
Build Infrastructure & Tooling
Maintain and continuously improve CI/CD pipelines, build systems (Yocto/ BitBake or equivalent), and developer tooling to accelerate team velocity and code quality
Develop automated testing frameworks for device software validation
Data-Driven Quality
Analyze telemetry and diagnostics data from beta, dogfood, and production fleets to identify regressions, performance issues, and improvement opportunities
Drive root-cause analysis for field issues using remote debugging, log analysis, and device-level diagnostics
Mentorship & Leadership
Lead technical design reviews and mentor junior engineers on embedded platform best practices
Contribute to architectural decisions that impact the full eero device portfolio
Qualifications
Basic Qualifications
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)
Preferred Qualifications
Experience with Golang for platform/systems service development
Experience with Linux internals: systemd, networking stack (netlink, iptables/nftables), filesystems, process management
Experience with building systems for embedded targets (Yocto, OpenWrt, Buildroot, or equivalent)
Experience with networking protocols (802.11, Ethernet switching, TCP/IP, mesh networking)
Experience with Rust 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 (application ↔ kernel ↔ hardware)