Not specified
Principal Software Quality Engineer
- Location
- India
- Work type
- Remote · Full-time
- Salary
- Not listed
- Posted
- (4 days ago)
About the role
This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for a Principal Software Quality Engineer based in India.
We are looking for an accomplished Principal Software Quality Engineer to define and lead the quality strategy for a sophisticated distributed database platform. In this senior individual-contributor role, you will drive reliability, scalability, and product excellence across database infrastructure, client SDKs, and management tools. You will design advanced testing architectures, investigate complex distributed-systems failures, and develop robust automation frameworks to prevent critical production defects. Working closely with quality, client, and server engineering teams, you will influence technical decisions and establish engineering standards across the organization. You will also spearhead the integration of AI agents into testing workflows, transforming how test scenarios are generated, executed, and evaluated. This is an opportunity to tackle challenging systems-level engineering problems while shaping the future of intelligent, automated software quality.
Accountabilities:
Requirements:
Professional Experience: 10–18 years of experience in Software Quality Engineering, SDET, or Systems Engineering, with demonstrated Staff or Principal-level technical impact and a strong focus on building quality systems. Distributed Database Expertise: Extensive 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. Database Testing Knowledge: Strong experience validating replication, partitioning, sharding, consistency, transactions, secondary indexes, backup and restore, and cross-datacenter replication. Distributed Systems Fundamentals: Deep understanding of replication protocols, consensus mechanisms, quorum reads and writes, strong and eventual consistency, split-brain scenarios, clock synchronization issues, and failure-recovery semantics. Systems-Level Debugging: Ability to read, analyze, and debug server-side code written in C, C++, Go, Rust, or Java, tracing complex defects to specific functions and identifying underlying technical causes. Protocol and Serialization Knowledge: Understanding of communication protocols, serialization formats, and edge cases involving wire formats, MessagePack, Protocol Buffers, Thrift, and compression codecs. Programming and Automation: Strong Python programming and software automation skills, with proficiency in at least one systems programming language. Fault-Injection Experience: Practical experience with fault injection, GDB, chaos-style testing, process termination, network partitions, latency and packet-loss injection, disk failures, corrupted inputs, version incompatibilities, and boundary-value testing. Comprehensive Testing Expertise: Experience across multiple testing layers, including unit, integration, API, contract, end-to-end, performance, scalability, upgrade/downgrade, and long-running soak testing. CI/CD and Test Infrastructure: Strong experience with CI/CD platforms such as GitHub Actions, Jenkins, or equivalent tools, including managing and improving shared testing infrastructure. AI-Agent Testing: Practical experience integrating AI agents into software testing workflows, including agent orchestration, tool integration, prompt design, evaluation methodologies, and integration with real-world testing frameworks. Technical Communication: Excellent written and verbal communication skills, with the ability to produce clear technical documentation, defect reports, investigation summaries, RFCs, and cross-functional engineering discussions. Ownership and Leadership: Proven ability to independently lead complex investigations, collaborate across engineering teams, communicate technical findings, and drive defects through to resolution.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 and downgrade scenarios, and behavioral consistency across different client SDKs. Experience testing backup and restore mechanisms, checkpointing, snapshots, and WAL/journal correctness, including performance testing at terabyte scale. Expertise in query-engine and secondary-index testing, including query planning, index selection, pagination, boundary conditions, and encoding or collation correctness. Experience with Kubernetes and database operator testing 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.