Staff Software Engineer, Rapid Storage
Google Cloud's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. 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 Cloud's needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. You will anticipate our customer needs and be empowered to act like an owner, take action and innovate. 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 work on optimizations, kernel-bypass, and squeezing every microsecond out of data center networking. You will be bypassing traditional abstractions to build object storage solutions optimized for the modern hardware stack. You will be designing and prototyping the C++ systems that interface with Colossus and networking protocols.Google Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
In this role, you will work on optimizations, kernel-bypass, and squeezing every microsecond out of data center networking. You will be bypassing traditional abstractions to build object storage solutions optimized for the modern hardware stack. You will be designing and prototyping the C++ systems that interface with Colossus and networking protocols.Google Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
The US base salary range for this full-time position is $197,000-$291,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.
Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about benefits at Google.
Responsibilities
- Drive the end-to-end design and implementation of software for Google Customer Solutions (GCS), moving from early-stage prototyping to a production-ready, distributed storage solution.
- Build low-latency, high-throughput storage access patterns for Graphics Processing Unit (GPU)-centric workloads, including the integration and optimization of GPU direct storage.
- Develop and integrate storage components that leverage Google’s server and networking infrastructure, utilizing systems optimizations to maximize hardware efficiency.
- Partner with hardware and platform teams to influence system architecture and define emerging industry standards for next-generation object storage.
- Monitor and improve system performance, resource utilization, and scalability to ensure the platform meets the demands of global Google Cloud Platform (GCP) customers.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience with programming in C++.
- 7 years of experience with software design and architecture.
- 7 years of experience with optimizing performance for distributed systems.
- 5 years of experience in designing and implementing networking stacks or protocols (e.g., Remote Direct Memory Access (RDMA), Transmission Control Protocol/Internet Protocol (TCP/IP) or Data Plane Development Kit (DPDK)) to minimize latency in data center environments.
- 5 years of experience with Linux kernel internal.
Preferred qualifications:
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- Experience with distributed storage systems architecture and implementation.
- Experience with hardware offload technologies and Network Interface Card (NIC) architectures.
- Experience with performance analysis and optimization of Input/Output (I/O) pipelines.
- Experience with technologies like Non-Volatile Memory Express (NVMe), RDMA, and GPU Direct Storage.