Software Development Engineer in Test (SDET)
Job Summary
We are hiring a Senior QA Engineer to raise the quality bar on our software—not just by finding bugs at the end, but by embedding testing into how we build. You will write and own unit tests with developers, review test plans before work is treated as done, and hold the team to real coverage, not vanity metrics. This role is for someone who has already done this in a production codebase and can lead the practice, not only execute tickets.
Key Responsibilities
- Write, maintain, and raise the standard of unit tests across the codebase; pair with developers when needed and take ownership when tests are missing or weak.
- Review test plans and test cases before implementation and before release. Challenge incomplete scenarios, missing edge cases, and untestable requirements.
- Define and track coverage targets (unit and relevant integration layers). Report gaps by risk, not only by percentage.
- Review pull requests for test quality: missing tests, brittle assertions, untested branches, and coverage regressions.
- Set quality gates in CI so merges and releases cannot proceed when critical tests fail or coverage drops below agreed thresholds.
- Distinguish flaky tests from real failures; fix or quarantine flakiness so the suite stays trustworthy.
- Work with engineering leads on test strategy: what belongs in unit tests vs integration/API/E2E, and where coverage investment pays off.
- Mentor junior testers or developers on how to write useful tests and how to read a coverage report.
- Document defects with enough context to fix them, then verify the fix and the surrounding regression risk.
Required Skills and Qualifications
- 3+ years in a QA Engineer, SDET, or similar role on software products (not only manual UAT or checklist testing).
- Proven experience writing unit tests in a production codebase using Java, Python, or a comparable language (JUnit, TestNG, pytest, or equivalent).
- Experience reviewing test plans and saying what is missing—scope, data, failure modes, and exit criteria.
- Hands-on use of coverage tools and the judgment to interpret line/branch coverage vs meaningful scenario coverage.
- Solid Git workflow and CI/CD experience (GitHub Actions, GitLab CI, Jenkins, or similar); tests must run on every change.
- Ability to read application code well enough to design tests and review others’ tests.
- Clear, direct communication with engineers: review comments, coverage reports, and go/no-go input.
- Comfortable pushing back when a feature is under-tested or a plan is too thin.
Nice to have
- Test-Driven Development (TDD) or strong “tests with the code, not after the code” practice.
- Integration and API testing on top of unit tests (REST Assured, pytest + requests, Postman/Newman, or similar).
- Experience introducing or tightening coverage gates on an existing codebase.
- Mentoring or tech-lead experience on a small QA or engineering squad.
- Hands-on QA experience with AI: testing LLM/RAG or AI-assisted features, evaluating model output quality, or using AI tools to write, review, or maintain tests.
What We Offer
- Ownership of unit-test quality, test-plan review, and coverage—not a ticket queue of last-mile checks.
- Close partnership with development, with authority to block weak tests and weak plans.
- Room to shape process, tooling, and standards.
- Competitive salary and benefits.
Application questions
- How many years’ experience do you have in a QA / SDET / test engineering role?
- How many years’ experience do you have in the IT industry?
- Have you written and maintained unit tests in a production codebase? Which language and framework?
- Have you reviewed test plans and coverage reports and required changes before release?
- Do you have experience with Test-Driven Development (TDD)?
- What is your expected monthly basic salary?
- Which programming languages are you experienced in?