About the Role
About The Job
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.
Responsibilities
Our team builds and maintains the largest fleet of Jupyter runtimes in the world. This role is focused on driving forward the next generation of AI-centric runtimes and serving infrastructure to drive growth on our partner platforms by focusing on the simple, model agnostic, scalable and performant AI tools. Recently we have made a big push to headless Colab powered by a new agent friendly CLI, and soon to be shipped with a public API and hosted MCP. We want to grow these new offerings which bring challenges to ensure the capacity to expand (hardware and infra problems), develop novel/state of the art abuse detection, and ensure modern AI/agent workloads.
Minimum Qualifications
- Bachelor's degree or equivalent practical experience.
- 8 years of experience programming in a modern language (C++, Golang, Rust).
- 5 years of experience testing, and launching software products.
- 5 years of experience building and developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage, or hardware architecture.
- 3 years of experience with software design and architecture.
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.
- 3 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 with notebook products.
Compensation
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $207000 - $301000 (USD) + 20% bonus target + equity + benefits
Requirements
Bachelor's degree
A degree or equivalent practical experience is required.
8 years programming experience
Experience in modern programming languages such as C++, Golang, or Rust is essential.
Large-scale infrastructure experience
Experience in building and developing large-scale infrastructure or distributed systems is necessary.
Software design experience
At least 3 years of experience in software design and architecture is required.
Nice to Have
Advanced degrees in Engineering or Computer Science are preferred.
Experience leading project teams and setting technical direction is a plus.
Benefits
Health insurance
Comprehensive health, dental, and vision insurance is provided.
Retirement benefits
401(k) with company match is available.
Paid time off
20 days of vacation per year, plus sick time and holidays.
Maternity leave
28-30 weeks of maternity leave is offered.