What's the difference between a QA engineer and an SDET?
The honest answer is that titles vary wildly between companies, so I'd define it by what the job actually demands.
The honest answer is that titles vary wildly between companies, so I'd define it by what the job actually demands.
A QA engineer is primarily accountable for finding defects and assessing quality. The core skills are test design, risk assessment, and product judgement. Automation may be part of the role, usually at the level of consuming a framework someone else built.
An SDET is a software engineer whose product is quality infrastructure. You build the frameworks, the test harnesses, the CI pipelines, the test-data systems and the tooling that other engineers use. You're expected to pass a real coding interview, review production code, and design systems. You also, crucially, still need the QA judgement — knowing what to test is worthless if you can only build, and being able to build is worthless if you test the wrong things.
The distinction that matters in practice: an SDET is measured partly on the leverage they create. Writing 200 tests is QA work. Building the framework and CI pipeline that lets 20 developers write and trust their own tests is SDET work, and it scales far further.
My view is that the best SDETs are the ones who came from testing. Plenty of engineers can build a harness; far fewer know which failure modes are worth harnessing against.
- QA: accountable for finding defects — test design, risk, product judgement
- SDET: software engineer whose product is quality infrastructure (frameworks, harnesses, CI, test data)
- SDET is expected to pass a real coding interview and review production code
- The differentiator is leverage: building what lets 20 devs test themselves beats writing 200 tests yourself
- The best SDETs keep the QA judgement — building the wrong harness well is still failure
- Which part of that do you enjoy more, and why?
- Should developers write their own tests? Then what's your job?