Software Engineer II, Google Search, Infrastructure
Summary
Engineer on Google Search's shopping infrastructure team in Zürich, designing and optimizing high-throughput distributed systems and data ingestion/storage backends that handle millions of queries per second, primarily in modern C++. The role focuses on latency, reliability, and resource efficiency at Google scale while supporting client-team integrations.
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 Google Search, we're reimagining what it means to search for information – any way and anywhere. To do that, we need to solve complex engineering challenges and expand our infrastructure, while maintaining a universally accessible and useful experience that people around the world rely on. In joining the Search team, you'll have an opportunity to make an impact on billions of people globally.
- Design, build, and optimize high-throughput distributed services and systems capable of supporting millions of Queries Per Second (QPS).
- Ensure resource efficiency, system latency, and extreme reliability at Google scale.
- Support client teams in identifying sound solutions and implementing their integrations (plugins, data enrichment, denormalization pipelines) with our system.
- Write clean, robust code (primarily in modern C++) to drive enhancements to our data ingestion and storage backend.
- Coordinate within the shopping organization and with cross-product area partners to identify and deliver pragmatic infrastructure solutions that solve the problem at hand without introducing unnecessary complexity.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript).
- 1 year of experience with data structures and algorithms.
- 1 year of experience building and developing large-scale infrastructure or distributed systems.
Preferred qualifications:
- Fluidity in writing C++.
- Strong interest or background in large-scale backend infrastructure and distributed systems.
- Strong foundation in software engineering fundamentals, coding, algorithms, data structures.
- Strong database fundamentals and scalable data stores.