Software Engineer, Proof and Verification Engineer

GoogleSeattle, WashingtonOn-siteFull-timeJunior, 1–2 yearsListed 17 minutes ago

Apply now

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.

In this role, you will have a strong programming languages (PL) and formal verification background, to help with the evolution of our Rust verification tools, and their application to real-world problems across Google’s code base, and knowledge of Lean, Rust and its semantics, and concurrent separation logic.

Individual pay is determined by factors including job-related skills, experience, and relevant education or training.

Germany: €106000 - €108000 (EUR) + 15% bonus target + equity + benefits
US: $147000 - $210000 (USD) + 15% bonus target + equity + benefits

Learn more about benefits at Google (https://www.google.com/about/careers/applications/benefits/).

Minimum qualifications:

- Bachelor’s degree or equivalent practical experience.

- 2 years of experience building software for data privacy or security (e.g., identity and access management).

- 2 years of experience with software development in one or more programming languages.

- Experience designing and applying privacy-preserving technologies (e.g., differential privacy, federated learning) and frameworks (e.g., Privacy by Design).

- Experience with security protocols (e.g., cryptography, authentication, authorization and security, multi-factor authentication, single sign-on, identity management).

- Experience in security engineering.

Preferred qualifications:

- Master's degree or PhD in Computer Science or related technical fields.

- 4 years of experience in software development.

- 2 years of experience with data structures and algorithms.

- 2 years of experience in formal verification.

- Experience developing accessible technologies.

- Experience in designing and applying privacy-preserving technologies (e.g., differential privacy, federated learning) and frameworks (e.g., Privacy by Design).

- Evolve our Rust verification tools using a strong programming languages (PL) and formal verification background.

- Apply Rust verification tools to real-world problems across Google’s code base.

- Use knowledge of Lean, Rust and its semantics, and concurrent separation logic to solve complex verification challenges.

- Write product or system development code.

- Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).