QualificationsOperating systemsFull-stack developmentOS KernelsNatural language processingDistributed systemsDoctoral degreeBachelor’s degreeMaster’s degreeDoctor of Philosophy
Bachelor’s degree or equivalent practical experience.
2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree.
2 years of experience with data structures or algorithms in either an academic or industry setting.
Master’s degree or PhD in Computer Science or related technical field.
2 years of experience working with embedded operating systems.
Experience developing accessible technologies.
Experience contributing to opensource linux USB stack.
Experience working with DesignWareController.
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.
With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.
Our team’s mission is to enable the best end user experience with USB-C chargers and accessories and enable USB-C connectivity with host PCs while assuring 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.
In this role, you will develop code across different parts of Android stack right from Android system server, HAL, linux kernel and more. You will also work directly with linux USB open source.
The Google Pixel team focuses on designing and delivering the world’s most helpful mobile experience. The team works on shaping the future of Pixel devices and services through some of the most advanced designs, techniques, products, and experiences in consumer electronics. This includes bringing together the best of Google’s artificial intelligence, software, and hardware to build global smartphones and create transformative experiences for users across the world.
Design and develop linux kernel drivers from scratch to enable USB controllers used in Pixel product roadmap.
Identify and develop impactful user facing USB features to improve product experience by working on full stack USB system software development (e.g., kernel, HAL, Android framework).
Drive the ecosystem by adding feature support to opensource linux kernel and Android open source.
Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form.