Software Engineer, Mobile Performance
Summary
Software engineer on Google's Core team working on AppReduce, a Java bytecode/whole-program optimization engine, to improve Android app performance by reducing memory footprint, latency, and binary size. Day-to-day involves compiler optimization work, analyzing Perfetto traces, systems programming in C++, and partnering with Android teams across Google.
As a part of the Agentic Mobile Revolution, you will help shape the future of mobile experiences across Google Applications. In this role, as a key member of this team, you will architect cutting-edge solutions to solve complex compiler optimization challenges using AppReduce, our Java bytecode and whole-program optimization engine. You will address intricate technical problems to drastically reduce application memory footprint, latency, and binary size, and accelerate Android app performance, delivering immediate and tangible benefits to billions of users worldwide. You will also leverage a broad suite of diagnostic tools to navigate the Android stack and overcome highly complex technical hurdles, while partnering with Android development teams across Google and beyond, and inspiring the developer community by sharing your expertise at tech talks and conferences.The Core team builds the technical foundation behind Google’s flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google’s products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company.Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
- Collaborate within the AppReduce compiler team, evaluating Perfetto traces to enhance compiler correctness, execution speed, and decision-making quality.
- Formulate and execute a long-term strategic goal, partnering closely with key clients, specifically internal and external engineering teams building Android applications.
- Architect state-of-the-art infrastructure aimed at lowering memory usage, minimizing binary sizes, and optimizing performance for Android applications reaching billions of users.
- Explore deep layers of the Android stack, utilizing various internal and external diagnostic tools to resolve highly complex technical challenges.
- Engage in cross-functional environments, solving intricate technical problems through customer-centric development and collaborative feature design.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- Experience in developing, debugging, or optimizing Android OS components, framework services.
- Experience with compiler technologies, runtime systems, program analysis, or toolchain development.
- Experience in systems programming using C++.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field.
- 5 years of experience with data structures and algorithms.
- Experience working with two or more from the following: Compiler Optimizations, LLVM, Java bytecode, Android development, Kernel development, machine learning, information retrieval, natural language processing, networking or security software development.
- Experience in one or more of the following: test automation, refactoring code, test-driven development, build infrastructure, optimizing software, debugging, building tools and testing frameworks.
- Software development experience in one or more general purpose programming languages.