{"title": "Senior Software Engineer, Machine Learning Compiler, Silicon", "level": "Mid", "location": "Taipei, Taiwan", "description": "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\u2019s 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. We are the team that builds Google Tensor TPU, Google\u2019s custom System-on-Chip (SoC) ML accelerator that powers the latest Pixel phones. Tensor makes transformative user experiences possible with the help of Machine Learning (ML) running on Tensor TPU. The compiler team is responsible for analysis, optimization, and compilation of ML models targeting the EdgeTPU. Our work enables Gemini Nano, our efficient AI model for on-device tasks to run on Pixel phones. Our goal is to productize the latest ML innovations and research by delivering computing hardware and software. 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.", "salary": "", "key_qualifications": "Bachelor's degree in Computer Science, Electrical Engineering, or equivalent practical experience. 5 years of experience with software development in one or more programming languages, and with data structures/algorithms. 5 years of experience in C++ programming. 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture. Experience with compilers including optimization, parallelization, etc.", "preferred_qualifications": "Master's degree or PhD in Computer Science or related technical field. 1 year of experience in a technical leadership role. Experience optimizing ML models for inference, MLIR, or LLVM. Experience in technical project management. Experience with compiler development in the context of accelerator-based architectures.", "responsibilities": "Work as part of the EdgeTPU compiler team, including analyzing and improving the compiler quality and performance on optimization decisions, correctness, and compilation time. Lead parallelization and scheduling algorithms to optimize compute and data movement costs to execute ML workloads on the EdgeTPU. Lead the work with EdgeTPU architects to design future accelerators, the hardware/software interface, and co-optimizations of the next generation EdgeTPU architectures. Lead the work on efficient mapping of Generative AI models and other key workloads into EdgeTPU instructions through the compiler. Lead collaboration with ML model developers, researchers, and EdgeTPU hardware/software teams to accelerate the transition from research ideas to excellent user experiences running on the EdgeTPU.", "company": "google"}