info_outline
X In most instances, this position requires in-person interviews as part of the hiring process.
Minimum qualifications: - Bachelor's degree or equivalent practical experience.
- 5 years of experience programming in C , or 3 year of experience with an advanced degree in an industry setting.
- 5 years of experience designing and developing distributed databases or storage systems.
- Experience in performance analysis, debugging, and optimization for distributed or low-level systems.
- Experience with concurrency, multithreading and 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 with transactional database systems.
- Understanding of distributed computing concepts, consensus algorithms (e.g., Paxos).
About the jobSpanner is a globally-replicated, scalable, SQL-aware database that provides strong consistency guarantees and is a key asset of Google's product portfolio of storage services.
In this role you will be responsible for building critical features and enhance their scalability, reliability, and availability. You will have opportunities to work with a broad range of areas in the Data Protection domain. You will build deep knowledge of and contribute to many crosscutting technologies throughout Spanner's stack. In this role, you will be working on large-scale feature development and integrating with other products in the wider Spanner ecosystem. We are seeking software engineers to extend and build out the core components of Infra Spanner so that they meet the growing needs of our most demanding customers at Google.
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 .
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.