Minimum qualifications:
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering or equivalent practical experience.
- 1 year of experience with software development in C++, or a related object oriented language.
- Experience with Software Implementation/Integration.
Preferred qualifications:
- Master's degree in Computer Science, Computer Engineering.
- 3 year of experience with software development in C++, or a related object oriented language.
- Experience in software development with C++ in embedded APIs/runtime/firmware or applications with hardware accelerators such as Demand-side platforms (DSPs), Graphics Processing Units (GPUs) and Tensor Processing Unit (TPUs).
- Experience with performance and power analysis with embedded systems or machine learning.
- Experience in Runtimes, Firmware, GPU Drivers, Embedded Systems, Embedded Processors, Real Time Systems.
- Experience in Android/Linux with the knowledge of operating systems internals.
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.In this role, you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.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
- Build C++ based runtime and firmware to enable compute on the Tensor System on a chip (SoC).
- Define stable, backward-compatible Application programming interfaces (APIs) to support application level compute acceleration. Collaborate with first-party app developers on Google devices to ensure a high quality user experience.
- Develop unit tests and end-to-end tests to validate the software stack.
- Create tools and infrastructure that allow customers to integrate and test their code seamlessly.
- Guide the direction for new system architectures to support future applications such as heterogeneous compute.
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.