Point your AI agent at freehire and let it find you a job.

Get the CLI →

Google

Senior Software Engineer, D Management Layer

Posted Updated 7 views
Discussion

Summary

Senior engineer on Google's 'D' storage layer, building and scaling the distributed control plane that provisions, balances, and automates storage capacity across Google's fleet. Day-to-day involves writing system code, design reviews, and debugging large-scale storage infrastructure, with C++ and distributed-systems skills core to the 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.

D is the foundational layer of Google’s storage stack. It is a low-level storage system that stores bytes directly to disk or flash and serves the majority of Google’s data. It is the critical mediation layer between higher-level storage systems and data center management facilities.

We're looking for engineers to help us build and scale this critical distributed control plane. You'll get to rethink how storage capacity is provisioned, isolated, and made available at Google scale.

This is an exciting time in the evolution of Google's core storage architecture, as we strive to maximize the utilization and efficiency of our storage resources fleetwide. By improving how we balance load, manage failure domains, and automate device lifecycles, you'll directly impact the reliability and cost-effectiveness of Google's global storage infrastructure.

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.

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

US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits

Learn more about benefits at Google.
  • Write and test product or system development code.
  • Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
  • Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback.
  • Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • 5 years of experience with software development in one or more programming languages.
  • 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
  • 3 years of experience with developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies or storage.
  • Experience in storage systems, large-scale distributed systems.
  • Experience with data analytics.

Preferred qualifications:

  • Master's degree or PhD in Computer Science or related technical field.
  • 5 years of experience in technical leadership.
  • Experience in concurrency, multi-threading and synchronization.
  • Experience with low-level system software (Linux kernel, filesystems, networking).
  • Experience with performance optimization.
  • Strong coding skills; preferably C++.

Skills

What Senior Software Engineering jobs ask for — and how much of it you have →
Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.