About this role
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.
The Remote Compose team builds a reactive, cross-platform UI engine for Android. Replacing RemoteViews and ProtoLayout, it aligns with Jetpack Compose to power widgets and generative interfaces. Remote Compose focuses on two primary areas: ultra-low-power display offload: running always-on display (AOD) and glanceable experiences directly on low power microcontroller units (MCUs).
Generative and Cross-Device UI: serving compact, binary UI payloads generated on-device or by servers/LLMs to render natively across Android devices.
On Wear OS, Remote Compose is the primary graphics technology for Wear 7+, powering system surfaces, watch faces, and apps.
Are you ready to shape the future of wearable technology and impact how millions of people experience wearables daily? Are you ready to empower developers building the apps that define this rapidly evolving device category? Help us with one of the most important challenges: designing for the most personal devices worn today by millions of users. The Wear OS team's mission is to effortlessly connect users with their health, loved ones, and the world around them, offering a seamless smartwatch experience with access to their favorite apps and services. We provide the core Android experience, tailored specifically for wearables. The age of wearable computing is upon us and Wear OS is at the forefront of creating a place for users, hardware manufacturers, and app developers to come together and help make lives simpler and more seamless.
Minimum qualifications:
- Bachelor’s degree in Engineering, Computer Science, a related field, or equivalent practical experience.
- 5 years of experience with 2D graphics, rendering pipelines, UI toolkits, or embedded systems programming.
- Experience in Rust or modern embedded C++.
Preferred qualifications:
- Experience developing for ARM Cortex-M or similar microcontrollers, RTOS/bare-metal environments, and power profiling.
- Experience with Android framework internals, platform system services, SystemAPIs, SDK development, or AOSP components.
- Understanding of Android UI architecture, view rendering pipelines, or Jetpack Compose runtime internals.
- Experience with Skia/eSkia, Android Canvas, FreeType, HarfBuzz, BiDi layout algorithms, vector path rasterization, and GLSL/SkSL/AGSL runtime shaders.
- Experience developing multi-language bindings and FFI layers (CXX, JNI, WASM).
- Familiarity with Bazel, Cargo, Soong, CMake, and LLVM/Clang toolchains with excellent general Software engineering skills.
- Build, optimize, and maintain cross-platform player runtimes (Android, microcontrollers, Web) to ensure visual consistency and protocol conformance. Develop high-impact, efficient rust solutions for resource-constrained wearables.
- Design, implement, and benchmark embedded Rust operations to optimize binary size, memory, and execution overhead on MCUs.
- Implement 2D vector rendering, path morphing, AGSL shaders, and curved text shaping for memory-constrained co-processors.
- Develop and maintain libraries to run small-footprint operations on wearable MCUs and resource-constrained systems. Manage display offload lifecycles, bind state variables, and optimize offload/deoffload latency. Build automated screenshot and golden tests, fuzz testing, and debugging tools.
- Collaborate with cross-site engineering teams to build high-quality, end-to-end Remote Compose solutions for Google and the Android community.