Software Engineer III, Embedded, Pixel Core USB
- Location
- New Taipei, Banqiao District, New Taipei City, Taiwan
- Work model
- On-Site
- Level
- Entry
- H-1B history
- 2,460 approvals (FY2023)
- Posted
- 1h ago
Skills
About this role
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward. The Pixel Core USB team designs and delivers the end-to-end USB connectivity, charging, and Type-C software architecture across Pixel phones, tablets, and accessories. We ensure seamless interoperability with first-party and third-party accessories, robust host and device modes, high power-efficiency, and long-term hardware port health across every stage of the product lifecycle. As an Embedded Software Engineer on the Pixel Core USB team, you will contribute across multiple layers of the Android and Linux system software stack—from low-level device drivers to the HAL and Android framework. You will take ownership of critical USB subsystems, including power management states (AP suspend, SoC hibernation), USB audio offload, recovery mechanisms, and automated validation frameworks to ensure high product reliability and performance for current and upcoming Pixel phones and tablets. Google's mission is to organize the world's information and make it universally accessible and useful. Our Devices & Services team combines the best of Google AI, Software, and Hardware to create radically helpful experiences for users. We research, design, and develop new technologies and hardware to make our user's interaction with computing faster, seamless, and more powerful. Whether finding new ways to capture and sense the world around us, advancing form factors, or improving interaction methods, the Devices & Services team is making people's lives better through technology.
Develop, maintain, and debug Linux kernel drivers from scratch and HAL interfaces to enable new USB controllers used in Pixel product roadmap. Implement and optimize USB host/device power states, including AP suspend during USB audio offload, low-power hibernation modes, and fast recovery paths across system resets. Collaborate with cross-functional hardware, software, and SoC teams during pre-silicon emulation and post-silicon bring-up for next-generation Tensor platforms. Identify systemic issues for USB and contribute clean, maintainable patches in Linux upstream that are easier to maintain over several generations on Tensor SoCs. Design and automate test suites to prevent regressions in USB tethering, audio, and device enumeration. Drive root-cause analysis and triage for factory, dogfood, carrier, and partner-reported issues.
Minimum qualifications: Bachelor’s degree or equivalent practical experience. 2 years of experience with software development in one or more programming languages (C or C++), or 1 year of experience with an advanced degree. 2 years of experience working with embedded operating systems, Linux kernel development, or device driver architecture. Experience with embedded debugging tools (e.g., JTAG, logic analyzers, protocol analyzers, ftrace, or GDB). Preferred qualifications: Master's degree or PhD in Computer Science or related technical fields. Experience with the USB Specification (USB 2.0/3.x, USB Type-C, USB Power Delivery, or USB Audio Class). Experience with Design Ware Controller (dwc) stack.