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.
As a member of the Silicon Validation software team, you will develop a platform with drivers and tools to enable validation of Google Tensor. The software you developed will be executed in a variety of environments ranging from bare metal to embedded Linux, on a variety of platforms ranging from FPGA emulation to post-silicon hardware.
In addition, you will support users of the software through collaboration with teams inside and outside of the silicon group. You will build a deep understanding of the various components of the hardware pipeline. 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.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with software development in one or more programming languages (e.g., C, C++).
- 1 year of experience working with embedded operating systems.
- 1 year of experience with data structures and algorithms.
- Ability to communicate in English fluently to support clients in the region.
Preferred qualifications:
- Master's degree or PhD in Computer Science or a related technical field.
- Experience in embedded systems design, development, and debugging.
- Experience with emulation platforms or silicon bring up.
- Experience with Embedded Linux, Little Kernel, or Android platform development.
- Experience with multimedia domains (e.g. GPU).
- Design and implement the validation software for Google Tensor.
- Create and integrate software on emulation, FPGA, and silicon environments.
- Develop, maintain, and integrate software test infrastructure, unit tests, and integration tests.
- Collaborate with internal and external partners to support the development and execution of the validation plans.
- Support users in development of production device drivers and debugging failures.