QualificationsAILinuxOS KernelsNatural language processingData structuresBachelor’s degreeDoctoral degreeDoctor of PhilosophyMaster’s degree
Minimum qualifications:
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.
Preferred qualifications:
Master’s degree or PhD in Computer Science, Artificial Intelligence, Machine Learning, or related technical field.
2 years of experience working with embedded operating systems.
Experience developing accessible technologies.
Experience developing runtime stack for mobile GPU’s.
Experience supporting standard compute API’s (e.g., OpenCL, Vulkan).
Experience developing kernel drivers, firmware for mobile compute devices.
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.
The Silicon team develops custom silicon solutions that provide differentiated user experiences in Google Hardware products and optimize performance and power for our use cases. This includes systems on a chip (SoCs) and other mixed signal, logic, and sensor integrated circuits (ICs) for our product portfolio. Silicon also supports product teams to deploy firmware.
In this role, you will be instrumental in bringing Google’s innovations in Image Processing, Computer Vision, and ML to the Pixel mobile phone lineup. You will enable high performance applications in a Linux/Android environment.
Google’s mission is to organize the world’s information and make it universally accessible and useful. Our team combines the best of Google AI, Software, and Hardware to create radically helpful experiences. We research, design, and develop new technologies and hardware to make computing faster, seamless, and more powerful. We aim to make people’s lives better through technology.
Responsibilities
Design and implement the software stack for a mobile SoC with heterogeneous compute IP’s (e.g., TPU, DSP, GPU, etc.).
Develop abstractions and interfaces that allow easy and efficient dispatch of software workloads to the various compute IPs in the system.
Integrate the low-level API’s and interfaces with higher-level language frameworks, for use by Google’s first-party app developers and also Android third-party app developers.
Work with framework teams (e.g., TF, NNAPI, Vulkan, etc.) to provide a Runtime stack that effectively uses all available compute IPs in the system.
Port, profile, and analyze representative workloads/apps to the Heterogeneous Compute Runtime in order to provide data-driven feedback on possible improvements throughout the software stack and to the hardware.
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.