Minimum qualifications:- Bachelor's degree or equivalent practical experience.
- 5 years of experience with software development in C .
- 5 years of experience in performance analysis, debugging, and optimization for distributed or low-level systems.
- 5 years of experience in one or more of the following: architecting or developing distributed systems or concurrency, multi-threading, synchronization.
Preferred qualifications:- Master's degree or PhD in Computer Science or a related technical field.
- Experience with database internals and diagnosing of issues such as memory leaks, data corruption, database performance and tuning.
- Experience designing and developing distributed databases or storage systems.
- Understanding of database concepts such as high-availability and disaster recovery.
About the jobSpanner is a globally-replicated, scalable SQL-aware database that provides consistency guarantees and high availability and is a key asset of Google's product portfolio of storage services.
In this role, you will build knowledge of and contribute to many cross-cutting technologies throughout Spanner's stack, to name a few, co-processors, group management, range-map, indexing, query engines, and much more. You will need to have an interest and significant systems experience to solve critical problems related to Spanner availability and scale.
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 - $253000 (USD) 15% bonus target equity benefits
Learn more about benefits at Google .
Responsibilities - 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.