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.
With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.
Napa is the new peta-scale, multi-homed, distributed storage engine optimized for high-update throughput of metrics data. Napa provides materialized views, supports low-latency point queries and high-throughput table scans; updates are consistently applied to materialized views across data centers. Napa is used for a wider variety of use cases, enabling data analysis across revenue critical Google applications, products, and services. We are a part of the Artificial Intelligence (AI) Foundation team.
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.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience in software development.
- 7 years of experience building and developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage, or hardware architecture.
- 5 years of experience with design and architecture; and testing/launching software products.
- Experience in distributed databases and large-scale distributed systems.
- Experience in C++.
Preferred qualifications:
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 8 years of experience with data structures and algorithms.
- 5 years of experience in a technical leadership role leading project teams and setting technical direction.
- 3 years of experience working in a complex, matrixed organization involving cross-functional, or cross-business projects.
- Experience in SQL, database internals, storage systems.
- Provide technical leadership on high-impact projects and manage project priorities, deadlines, and deliverables.
- Influence and coach a distributed team of engineers and facilitate alignment and clarity across teams on goals, outcomes, and timelines.
- Design, develop, test, deploy, maintain, and enhance large scale software solutions.
- Work on infrastructure productionization and deployment.
- Partner with infrastructure and client teams to guide integrations.