Principal Software Quality Engineer
Industry Technology & Software
Industry Technology & Software
This role is for one of Weekday’s clients
Min Experience: 10+ years Location: Remote (India), Bengaluru, Karnataka, India JobType: full-time
We are looking for an experienced Principal Software Quality Engineer to define and drive the quality strategy for a distributed database platform. This is a senior individual-contributor role requiring deep expertise in distributed database testing, systems engineering, debugging, and test automation.
The ideal candidate will have hands-on experience working with distributed database or storage systems, preferably NoSQL platforms. They should be comfortable reading server-side code, tracing complex defects to their root cause, designing fault-injection scenarios, and collaborating with QE, client, and server engineering teams to ensure product reliability.
The role will also lead the integration of AI agents into testing frameworks, enabling automated test generation, failure triage, and evaluation of agent reliability.
Requirements
Key Responsibilities
Quality Strategy and Test Architecture - Own the overall quality strategy for the distributed database platform, including test architecture, coverage models, release gates, and risk-based prioritization. - Drive quality across server components, client SDKs, operator and backup tooling, and management interfaces. - Design comprehensive testing strategies for replication, rebalancing, partitioning, sharding, consistency models, transactions, isolation, secondary indexes, query planning, compaction, backup and restore, snapshots, and cross-datacenter replication. - Establish reliable coverage for critical database operations and ensure quality requirements are incorporated early in the development lifecycle.
Distributed Systems and Fault-Injection Testing - Validate cluster correctness under challenging production-like conditions, including node failures, network partitions, clock skew, disk-full scenarios, slow disks, rolling upgrades, mixed-version deployments, and long-running soak tests. - Design and execute fault-injection scenarios using process crashes, GDB-driven state manipulation, packet drops, latency injection, corrupted wire data, oversized inputs, and version skew between master and replica nodes. - Identify failure scenarios that conventional positive testing cannot adequately cover. - Investigate complex system defects involving off-by-one errors, out-of-bounds reads, encoder/decoder mismatches, compression and CRC issues, and consistency violations. - Reproduce defects at the source-code level, identify suspect functions, and provide developers with minimal reproducible test cases and detailed root-cause analysis.
Test Automation and Framework Development - Build and maintain scalable test frameworks using Python, pytest, custom harnesses, API testing, and end-to-end automation. - Ensure test suites run reliably across shared test infrastructure and CI/CD environments such as GitHub Actions and Jenkins. - Improve test-farm reliability by reducing flaky tests, identifying noisy failures, and strengthening regression coverage. - Develop testing strategies across unit, integration, API, contract, end-to-end, performance, scalability, upgrade/downgrade, and long-running regression testing.
AI-Agent Integration and Testing - Lead the integration of AI agents into existing testing frameworks. - Design agent workflows that can plan and execute tests, interact with tools, inspect logs, traces, metrics, and database state, and generate actionable defect reports. - Develop evaluation frameworks using golden datasets, graders, and regression suites to measure the reliability and accuracy of AI-generated outputs. - Integrate AI agents with pytest, custom testing harnesses, and MCP-style tool servers. - Enable agents to generate negative and edge-case scenarios, maintain flaky tests, and assist with failure triage while retaining human oversight where required.
Cross-Functional Collaboration and Technical Leadership - Participate in feature reviews, product requirement discussions, design reviews, and client specifications to define testability requirements before implementation. - Create test plans for new features and collaborate with development teams to validate technical designs. - Convert production and pre-release incidents into permanent regression tests, monitoring checks, and preventive measures. - Drive debugging and defect-resolution efforts across QE, client, and server engineering teams. - Mentor senior QEs and SDETs on debugging techniques, test architecture, and framework development. - Establish engineering practices and quality standards that can be adopted across teams without requiring direct people-management responsibilities.
Required Skills and Qualifications - 10–18 years of experience in Software Quality Engineering, SDET, or Systems Engineering, with a strong focus on quality systems and demonstrated Staff or Principal-level technical impact. - Deep hands-on experience testing distributed databases or storage systems, preferably NoSQL platforms such as Cassandra, ScyllaDB, MongoDB, Couchbase, Redis, DynamoDB, or HBase. Experience with distributed relational databases such as CockroachDB, TiDB, YugabyteDB, or Spanner-style systems is also relevant. - Strong experience testing replication, partitioning, sharding, consistency, transactions, secondary indexes, backup and restore, and cross-datacenter replication. - Solid understanding of distributed-systems fundamentals, including replication protocols, consensus, quorum reads and writes, strong and eventual consistency, split-brain scenarios, clock skew, and failure/recovery semantics. - Ability to read and debug server-side code written in C, C++, Go, Rust, or Java and trace defects to specific functions and root causes. - Understanding of protocol and serialization edge cases, including wire formats, MessagePack, Protocol Buffers, Thrift, and compression codecs. - Strong software engineering and automation skills in Python, with proficiency in at least one systems programming language. - Practical experience with fault injection, GDB, chaos-style testing, process termination, network partitions, latency and packet-loss injection, disk faults, corrupted inputs, version skew, and boundary-value testing. - Experience across multiple testing layers, including unit, integration, API, contract, end-to-end, performance, scalability, upgrade/downgrade, and soak testing. - Proven ability to lead debugging and root-cause investigations across QE, client, and server teams, providing actionable technical analysis and following defects through to resolution. - Strong CI/CD experience with GitHub Actions, Jenkins, or equivalent tools, along with experience managing shared test infrastructure. - Practical experience using AI agents for testing, including agent workflows, tool integration, prompt and evaluation design, and integration with real-world testing frameworks. - Excellent written and verbal communication skills, with the ability to produce clear technical tickets, investigation reports, Slack discussions, and RFCs.
Strongly Preferred Skills - Experience testing client SDKs across multiple programming languages, including Python, Java, Go, C, Node.js, and .NET. - Knowledge of compatibility matrices, upgrade/downgrade scenarios, and behavioral consistency across client SDKs. - Experience testing backup and restore, checkpointing, snapshotting, and WAL/journal correctness, including performance at terabyte scale. - Expertise in query-engine and secondary-index testing, including query planning, index selection, pagination, boundary values, and encoding/collation correctness. - Kubernetes and database operator testing experience using tools such as KUTTL, Chainsaw, or envtest. - Cloud infrastructure experience across AWS, GCP, or Azure, including TLS/mTLS, IAM, secrets management, and air-gapped installations. - Security-focused testing experience, including fuzzing, CVE reproduction, and identifying memory-safety issues such as out-of-bounds reads and use-after-free defects in native code.
Success Metrics - Critical database workflows, including replication, rebalancing, consistency, transactions, secondary indexes, backup and restore, and cross-datacenter replication, have comprehensive and reliable test coverage. - Critical regressions are identified before release through high-signal, low-flakiness automated tests. - Defect reports consistently include minimal reproducible cases, root-cause analysis, and suspected source-code locations. - Development teams experience shorter defect-resolution cycles across the areas owned by the role. - AI agents become an integral part of the testing framework, supporting test generation and failure triage with measurable reliability through evaluation suites. - Test-farm flakiness decreases, upgrade/downgrade coverage improves, and new features have test plans before implementation is complete. - Engineering teams across QE, client, and server functions adopt the testing frameworks, practices, and quality standards introduced by the role.
Role Expectations
This is a senior technical individual-contributor position, not a manual QA or people-management role. The candidate is expected to write framework code, debug server processes, investigate low-level system behavior, evaluate AI-agent performance, and build reliable testing infrastructure that other engineers can operate and extend.
Must-Have Skills - Distributed Database - Software Testing
Good-to-Have Skills - Database Testing