Senior Embedded Software Engineer, Pixel Core USB
Google Mountain View, California, United States · $174K–$252K/yr
Software Development · 10,001+ employees
Applying here? Try the free cover letter tool — paste this posting and your résumé, no account needed.
About the role
Develop and maintain Linux kernel drivers for USB and Type-C controllers while optimizing software architectures for Pixel products. Collaborate across teams to define hardware abstraction layers and improve USB performance and system health.
What they look for
Requirements
Requires a bachelor's degree and at least 5 years of software development experience, including 3 years with embedded operating systems. Proficiency in C and experience with Linux-based embedded systems are essential for this role.
Benefits
Full description
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages (e.g., C).
- 3 years of experience working with embedded operating systems.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- Experience contributing to opensource linux USB stack.
- Experience with Linux-based embedded systems development.
- Experience reading hardware spec sheets to infer hardware capabilities.
- Experience with DesignWare Controller (DWC) stack.
About the job:
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.
Our team’s mission is to build next generation of USB (Universal Serial Bus) connectivity and charging for Pixels and enable end users to use Google’s first-party and third-party chargers and accessories, USB-C connectivity with host PCs while ensuring USB-C port health and reliability. Our team owns the software stack needed to provide seamless experience while using Type-C USB ports in Pixel phones and tablets.This is a unique opportunity to experience full stack Android system software development.
In this role, you will direct code across different parts of Android stack right from Linux kernel, HAL, Android system server to fiddling with hardware in bootloader and directly influencing silicon architecture. You will be working and collaborating across areas and through every stage of development from schematic reviews to user experience.
The Platforms and Devices team encompasses Google's various computing software platforms across environments (desktop, mobile, applications), as well as our first party devices and services that combine the best of Google AI, software, and hardware. Teams across this area research, design, and develop new technologies to make our user's interaction with computing faster and more seamless, building innovative experiences for our users around the world.
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google. Responsibilities:
- Develop linux kernel drivers from scratch to enable new USB controllers and Type-C controllers used in Pixel product roadmap.
- Identify and work cross Product Area to develop meaningful user facing USB features to improve product experience.
- Identify systemic issues for USB and merge solutions in Linux upstream that are easier to maintain over several generations on Tensor SoCs.
- Investigate on scalable USB software architectures and influence SoC architecture when needed. Optimize USB usecase for performance and other system health metrics.
- Abstract hardware interfaces to Android userspace, define and deliver the needed system software layers (Hardware Abstraction Layer (HAL), Android framework).
Similar roles
-
Technical Product Owner - Embedded Systems
PACCAR Bellevue, Washington, United States · $90K–$142K/yr
-
Staff Software Engineer - Distributed Embedded Systems
GE HealthCare Madison, Wisconsin, United States
-
Senior Embedded Software Engineer
CACI Colorado Springs, Colorado, United States · $115K–$252K/yr
-
Embedded Software Manager
TOYOTA TSUSHO NEXTY ELECTRONICS INDIA PRIVATE LIMITED Noida, Uttar Pradesh, India
-
Embedded Software Engineer
Codan Limited Adelaide, South Australia, Australia
-
Embedded Software Engineer II - C++ I Middleware
Honeywell Aerospace Phoenix, Arizona, United States