Google logo

Software Engineer, NDK Translation, ChromeOS

Google

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.

A large number of top Android apps use native ARM code. The Native Development Kit (NDK) Translation team is working on a just-in-time binary translator that enables running such code on x86 devices. The team is actively working on translation optimizations and providing compatibility in Android releases.

Chrome OS delivers quality computing at scale to provide universal and unfettered access to information, entertainment, and tools. Our mission is to empower anyone to create and access information freely through fast, secure, simple, and intelligent computing.

Responsibilities

  • Ensure the correctness of the translation by implementing and maintaining the emulation of ARM instruction sets, Android’s Native APIs and Operating System behavior.
  • Maintain the translation in functioning state within the most recent Android codebase, including emulation of new features introduced to Android.
  • Ensure appropriate applications performance by developing compiler and just-in-time engine optimizations, including performance analysis activities.
  • Maintain translator integration with various Android implementations, including monitoring production metrics and triaging bugs that are specific to apps’ target platforms.

Qualifications

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 2 years of experience with software development in one or more programming languages such as C or C++.
  • 2 years of experience with data structures or algorithms.
  • Experience testing, maintaining, or launching software products.
  • Experience with compilers or system programming.

Preferred qualifications:

  • Master's degree or PhD in Computer Science or a related technical field.
  • Experience with one or more of the following: Assembly Language, ARM ARM Assembly, X86/Assembly, Android NDK.
  • Experience in embedded system or low-level software development.
  • Experience working with embedded operating systems.
  • Knowledge of Linux or other operating systems.

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.

Similar jobs

Last update: 23 minutes ago

Google logo
Google

Staff Software Engineer, ChromeOS Developer AI

Staff Software Engineer role at Google, focusing on AI and ChromeOS development in Cracow, Poland.

Google logo
Google

Software Engineer II, Android Mobile Development

Join Google as a Software Engineer II in Android Mobile Development in Warsaw. Engage in innovative projects with a global impact.

Google logo
Google

Tech Lead, Software Engineering, ChromeOS Developer AI

Lead AI development for ChromeOS at Google, focusing on embedded systems, Android, and performance engineering.

Google logo
Google

Software Engineer II, Video Creation

Join Google as a Software Engineer II in Warsaw, focusing on video creation for Google Ads. Develop front-end tools and collaborate with back-end teams.

Google logo
Google

Software Engineer, Borg, Google Cloud

Join Google Cloud as a Software Engineer on the Borg team, focusing on cluster-management and large-scale system design.

Google logo
Google

Senior Full Stack Software Engineer

Join Google as a Senior Full Stack Software Engineer to build innovative solutions using LLMs in Warsaw.

Google logo
Google

Software Engineer III, Full Stack

Join Google as a Software Engineer III, Full Stack in Warsaw, Poland, working on next-gen technologies for billions of users.

Google logo
Google

Software Engineer III, Full Stack

Join Google as a Software Engineer III, Full Stack in Warsaw to develop next-gen technologies for Pixel Biometrics.

Google logo
Google

Software Engineer III, Full Stack

Join Google as a Software Engineer III, Full Stack, to develop next-gen technologies impacting billions of users.

Google logo
Google

Software Engineer, Gmail Android Development

Join Google as a Software Engineer for Gmail Android Development, focusing on innovative technologies and user experience.

Google logo
Google

Software Engineer III, Frontend, Networking Core Services

Join Google as a Software Engineer III in Warsaw, focusing on frontend development with Angular, Java, and TypeScript.

Google logo
Google

Software Engineer, Node Platform

Join Google as a Software Engineer on the Node Platform team, working with C++ and Go in New York.

Google logo
Google

Software Engineer, Mobile (Android), GenAI

Join Google as a Software Engineer for Android development in GenAI, focusing on innovative AI tools for YouTube.

Google logo
Google

Principal Software Engineer, Google Compute Engine Control Plane

Join Google as a Principal Software Engineer to lead GCE projects, focusing on cloud computing and AI/ML solutions.

Google Cloud - Minnesota logo
Google Cloud - Minnesota

Software Engineer III, Google Cloud

Join Google Cloud as a Software Engineer III in Warsaw, Poland. Develop cutting-edge technologies and solve critical business problems.

Google logo
Google

Software Engineer, Google Cloud AI

Join Google Cloud AI as a Software Engineer to develop next-gen technologies in AI, cloud computing, and more.

Google Cloud - Minnesota logo
Google Cloud - Minnesota

Software Engineer II, Embedded Systems/Firmware

Join Google Cloud as a Software Engineer II in Warsaw, specializing in Embedded Systems/Firmware. Develop cutting-edge technologies.

Grammarly logo
Grammarly

Entry Level Back-End Software Engineer (Java)

Join Grammarly as an Entry Level Back-End Software Engineer in Berlin. Work with Java, AWS, and more in a hybrid environment.

Google logo
Google

Senior Software Engineer, Artificial Intelligence

Join Google as a Senior Software Engineer in AI, focusing on machine learning, Python, and data structures.

Google logo
Google

Software Engineer III, Infrastructure, Android

Join Google as a Software Engineer III in Infrastructure, focusing on Android. Work on large-scale systems in San Jose, CA.

Google logo
Google

Software Engineer III, Infrastructure, Core

Join Google as a Software Engineer III in Madison, WI, focusing on infrastructure and core technologies.

Grand Parade logo
Grand Parade

Senior Full Stack Developer (Node.js, React.js)

Join Grand Parade as a Senior Full Stack Developer, working with Node.js and React.js in a hybrid role in Cracow, Poland.

Google logo
Google

Software Engineer, YouTube Knowledge

Join Google as a Software Engineer on the YouTube Knowledge team in Paris, working on large-scale systems and machine learning.

Uber logo
Uber

Staff Software Engineer - Backend

Join Uber as a Staff Software Engineer - Backend, focusing on membership systems. Work with Java, Python, C++, and more in Amsterdam.