Staff Software Engineer, USB Fuchsia Platform Drivers
In this role, you will be ensuring Fuchsia integrates reliably with both prototype hardware and stable production environments. Your focus will be taking ownership of the Fuchsia USB subsystem, driving the initiative to build a performant stack that reliably serves Fuchsia developers, end-users, and our internal infrastructure labs.
You will lead the effort to resolve pain points, addressing complex bugs and performance bottlenecks to elevate our USB implementation to full Google production quality. You will require flexibility and willingness to contribute across other platform driver domains as needed.
This position demands deep technical expertise in USB specifications and a pragmatic approach to system-level debugging.You will have a proven track record of stabilizing complex hardware-software interfaces and shipping production-grade drivers.
Fuchsia is a modern, open source operating system that is simple, secure, updatable, and performant. It’s a general purpose OS, designed to power an ecosystem of hardware and software, and provides core operating system functions like system resource management, a driver framework, and software abstractions.Individual pay is determined by factors including job-related skills, experience, and relevant education or training.US: $207000 - $300000 (USD) + 20% bonus target + equity + benefits
Learn more about benefits at Google.
Responsibilities
- Lead the technical design of the Fuchsia USB subsystem. Drive system-level power management and data throughput optimizations, with a deep focus on complex USB-C Power Delivery (PD) negotiations and USB 3.x metrics.
- Leverage our infrastructure labs to maximize driver reliability and throughput, actively utilizing hardware-in-the-loop testing to resolve performance bottlenecks. Ensure compatibility across a vast ecosystem of first-party and third-party USB devices.
- Address the most complex system-level bugs at the hardware/software interface utilizing protocol analyzers, oscilloscopes, and hardware debuggers.
- Define best practices for driver development and hardware-software integration, and mentor team members to raise the overall technical bar.
- Partner closely with kernel, product, and hardware teams to align hardware integration efforts with overarching system requirements and product roadmaps.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience in software development.
- 5 years of experience testing, and launching software products.
- 5 years of experience working with embedded operating systems.
- 3 years of experience with software design and architecture.
- Experience with Linux device drivers.
Preferred qualifications:
- Experience reading hardware spec sheets to understand hardware capabilities.
- Prior experience contributing to open source Linux USB stack.
- Prior experience with the Design Ware Controller (dwc) stack.
- Embedded development experience in Linux or other operating systems.
- Deep knowledge of USB specifications.