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.
Rust is a modern programming language for building memory safe software that can match C++ in performance and resource efficiency. It's a critical component of Google's long-term goal to increase adoption of memory safe languages across the company. We empower Googlers to be productive by providing developer tools, services, and support for the languages that underpin Google's core products and services.
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.
- Develop and refine agentic workflows that automate the large-scale migration of C/C++ codebases to idiomatic, memory-safe Rust.
- Collaborate with the wider Rust team on C++/Rust interop, developer tooling, and AI benchmarks.
- Optimize AI-generated Rust code for performance and resource efficiency, leveraging benchmarks to guide translation, then level-up these optimizations into the tooling.
- Implement advanced verification workflows, including differential fuzzing and formal verification, to guarantee bit-identical behavior with legacy 3P C/C++ libraries.
- Design multi-agent harnesses for automated code translation, self-review, verification, and performance analysis to ensure safe by design outputs.
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in C++ or Rust, or 1 year of experience with an advanced degree.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in C++ or Rust, or 1 year of experience with an advanced degree.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical fields.
- Experience developing accessible technologies.
- Experience with the Agentic tooling landscape.
- Experience with programming language design or compilers.