Software Development Engineer in Test (SDET)
Apply NowResponsibilities
- Partner with product and engineering to clarify acceptance criteria, design for testability, review stories, and triage by severity and priority.
- Own GitLab CI/CD: design and maintain .gitlab-ci.yml for testing purposes, use GitLab Runners (Docker executor), manage caching and parallelization, and keep pipelines green.
- Publish and surface results in Merge Requests: JUnit XML test reports, Playwright HTML reports and traces, and k6 summaries as artifacts.
- Use Docker and Docker Compose to containerize test tooling and spin up reliable local and ephemeral environments.
- Deflake and harden suites: stabilize unreliable tests, tune retries and timeouts, and improve logs and tracing to raise signal-to-noise.
- Shape test strategy (risk-based selection, test pyramid) to balance automation with exploratory and manual checks.
- Document frameworks and guidelines; mentor developers and QCs on testing best practices.
Requirements
Hands-on with at least two of the following (and willing to learn the third):
- Playwright (TypeScript/JavaScript): locators, fixtures, Page Object Model, trace viewer.
- REST Assured (Java): RequestSpec/ResponseSpec, negative and edge-case testing, JSON Schema checks.
- k6: smoke/baseline/load tests, thresholds such as p95.
- CI/CD: contribute to automated quality gates by integrating tests, reports, and metrics into pipelines. Experience with GitLab CI/CD (.gitlab-ci.yml, jobs, caching, artifacts, and test reports) is preferred, though equivalent testing-related CI/CD experience (e.g., Jenkins or GitHub Actions) is also welcome.
- Shell scripts (bash or equivalent).
- Docker: Dockerfiles, Compose, local services for tests, basic container networking.
- Programming: Java/Kotlin and/or TypeScript/JavaScript; solid OOP and clean code habits; Git workflow.
- Database and SQL: write queries to validate system behavior and data integrity directly against the database.
- Testing foundations: strong understanding of the software testing process, defect lifecycle, and severity vs priority; clear, reproducible bug reports.
- Test design techniques: boundary value analysis, equivalence partitioning, decision tables, state transition testing, pairwise/combinatorial; with data-driven execution preferred.
- Clear communication, collaboration, and time management; high attention to detail.
Preferred Qualifications
- JaCoCo or other coverage tools for helper libraries; JSON Schema tooling.
- UML basics; Postman or Insomnia; contract testing (for example, Pact).
- Security testing exposure (OWASP); Dockerized local stacks (databases, queues, stubs).
- Experience with GitLab features.