Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in Java programming language, or 1 year of experience with an advanced degree.
- 2 years of experience with data structures or algorithms.
- 2 years of experience with application development.
Preferred qualifications:
- Master's degree or PhD in Computer Science or a related field.
- 2 years of experience with compiler engineering and static analysis.
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.
Android is Google’s open-source mobile operating system powering more than 3 billion devices worldwide. Android is about bringing computing to everyone in the world. We believe computing is a super power for good, enabling access to information, economic opportunity, productivity, connectivity between friends and family and more. We think everyone in the world should have access to the best computing has to offer. We provide the platform for original equipment manufacturers (OEMs) and developers to build compelling computing devices (smartphones, tablets, TVs, wearables, etc) that run the best apps/services for everyone in the world.
Responsibilities
- Work on the R8 optimizing compiler generating DEX code for Android applications, implementing new optimizations and optimizing the runtime performance of the compiler itself.
- Work with the latest Kotlin and Java compilers to ensure new features are properly supported for Android developers.
- Work closely with teams integrating the compiler into their build systems to ensure new features are properly supported for all developers, including the Android Studio team and the Android Platform team.
- Build additional tooling around the compiler to help developers understand the compiler and analyze their builds.
- Help drive the android ecosystem forward by ensuring that new language constructs and APIs can be used on older devices.