Yugabyte is on a mission to become the default transactional database for enterprises building cloud-native applications. They are seeking a Senior Software Engineer in Test who will design and develop automation frameworks to ensure the quality of YugabyteDB, collaborating closely with development teams to validate core functionalities and performance under stress.
Responsibilities:
- Architect, develop and maintain test automation frameworks
- Design and execute comprehensive test suites focusing on the "hard problems" of distributed databases: stress, resiliency, scalability, and performance
- Design and orchestrate distributed systems tests that simulate real-world failure modes
- Own the end-to-end quality of major features, from initial design review and test planning to production-ready automation
- Modernize existing test footprints by identifying opportunities for redesign, improved efficiency, and higher stability in CI/CD pipelines
- Uncover deep-seated bugs such as data corruption and consistency violations
- Deep-dive into the codebase to understand technical dependencies and execution paths, ensuring tests target the most critical logic
- Scale our test infrastructure, ensuring that the built tests scale with our growing feature set
- Define and inspire changes to our product with our development engineering team based on feedback from tests and customer issues
- Act as a technical lead for junior engineers and serve as an internal advocate for the customer experience
- Develop and contribute to internal and external knowledge bases. Be a champion for our customers
- Go above and beyond to ensure customers are getting the most out of their investment in the Yugabyte database
Requirements:
- 5–8 years of experience in Software Development in Test (SDET) or Systems Engineering, with a BS/MS in Computer Science or a related field
- Strong foundation in Distributed Systems: Deep understanding of distributed architecture, including consistency models (linearizability, serializability), the CAP theorem, and consensus protocols (Raft)
- Database Internals Expertise: Highly desirable knowledge of query processing, transactions (ACID), recovery logs, and concurrent B-tree access
- Proficient in Data Structures and Concurrent Programming. Must be comfortable reading and navigating the complex C++ codebase to identify potential failure points
- Working knowledge of SQL, Python and Java programming languages
- Sound understanding of JDBC APIs and database connectivity
- Hands-on experience with Linux, shell scripting, Git, and architecting scalable CI/CD pipelines
- Ability to leverage generative AI and LLM-based coding assistants to accelerate the authoring, refactoring, and optimization of complex test suites
- Exceptional troubleshooting skills with a 'break-it' mindset; ability to trace issues from high-level test failures down to the code level for both internal and customer-reported bugs
- A proven track record of identifying complex bugs, specifically data corruption and consistency issues