Software Engineer, GPU Embedded System
Google Taipei, Taipei, Taiwan
Software Development · 10,001+ employees
About the role
Design, develop, and maintain the system software stack for GPU compute solutions. Integrate and validate GPU software, kernel drivers, and firmware while developing test suites for system-level verification.
What they look for
Requirements
Requires a bachelor's degree in a technical field and at least one year of experience in software, firmware, or driver development. Proficiency in C/C++ and experience in Linux environments are essential for this role.
Full description
Minimum qualifications:
- Bachelor's degree in Electrical Engineering, Computer Science, a related technical field, or equivalent practical experience.
- 1 year of experience in software, firmware and driver development in languages such as C/C++.
Preferred qualifications:
- Master's degree or PhD in Electrical Engineering, Computer Science, or related technical fields.
- Experience designing and developing device drivers for peripherals like GPUs, PCIe switches and connectivity buses like I2C, USB, PCIe.
- Experience in doing the debug, development, and testing work in the Linux environment.
- Experience in server system architecture, networking or embedded systems.
- Experience using revision control systems like git and perforce.
- Experience in problem-solving and technical innovation.
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.
Platforms Engineering performs research, design and development for the hardware, software and networking technologies that power all of Google's products and services (including Google Cloud Platform, Tensor Processing Units, Storage and Networking services). We constantly work on solutions not only to deliver the next generation compute, storage and networking products for the Google worldwide data centers, but also to counter the implications of Moore’s Law. Platforms offers impactful projects at every level of the technology stack, from the chip level to massive distributed systems design and software development.
Within the Platforms organization, the GPU System Software team is responsible for building top quality GPU compute solutions that power various Google services like Google Cloud, YouTube, Deep Mind, etc.
Responsibilities:
- Design, develop and maintain the system software stack for GPU system software.
- Help identify dependencies in cross functional teams and drive NPI execution with a peculiar focus on development velocity and quality.
- Drive System Software integration to enable next generation GPU Accelerators for Google Data Center.
- Develop, integrate and validate data center GPUs software/kernel driver/firmware.
- Develop test suites that enable unit, integration and system level testing of our system software.