About the Role: We are looking for a skilled Software Development Engineer in Test (SDET) to join our team. This is a hands-on role for a software engineer who is passionate about quality, with a strong focus on building test automation into the development workflow — not bolting it on after the fact. You'll work as an embedded member of a development squad, writing tests alongside production code and owning the reliability of what you ship. You'll combine an engineer's mindset with a deep focus on quality, leveraging the power of Generative AI to enhance our QA workflows.
What You'll Be Doing
Design and build automated tests, including unit and integration tests, directly within our core codebase using .NET/C# or Java.
Enhance and maintain our separate UI automation framework, which is built with Playwright and TypeScript.
Write and maintain tests at multiple levels of the testing pyramid (unit, integration, contract, E2E) with a bias toward lower-level, faster-running tests.
Use Testcontainers or Docker Compose to create isolated, on-demand test environments — no dependence on shared staging infrastructure.
Design and maintain test data strategies for a microservices environment — including isolated data setup, deterministic seeding, and reliable teardown — so tests are independent, repeatable, and never pollute shared environments.
Build and maintain test fixture libraries that provision and clean up across multiple databases and services, ensuring each test run starts from a known state.
Leverage containerization technologies like Docker to create robust, reproducible test environments that eliminate dependencies on shared infrastructure.
Actively leverage Generative AI tools to radically transform QA workflows, from generating test cases and data to optimizing automation scripts and creating comprehensive test reports.
Collaborate with cross-functional teams to understand software requirements and develop comprehensive automation test plans.
Integrate automated test suites into our CI/CD pipelines to ensure seamless and continuous quality checks.
Identify and report defects with detailed steps to reproduce, and participate in code reviews to ensure high-quality software.
Stay current with industry trends in QA, automation, and AI-powered testing solutions.
Pipeline Health: Own the reliability of the CI/CD pipeline for your squad, ensuring that a red build means a real bug, not a timeout or environment issue.
What We're Looking For
Bachelor's degree in Computer Science, Engineering, or a related field.
3+ years of professional software engineering experience with a focus on testability and quality engineering.
Strong programming skills in .NET/C# or Java.
Experience with Playwright and TypeScript/JavaScript for web UI automation.
Ability to read, write, and review production code — not just test scripts in a separate repo.
Experience writing automated API tests in code (REST Assured, HttpClient, or Playwright API testing) — not just manual exploration with GUI tools.
Experience writing unit and integration tests as part of the development workflow (NUnit, xUnit, JUnit 5).
Experience with Testcontainers or similar tools for provisioning real services (databases, message brokers) during test execution.
Experience designing test data management strategies for multi-database, microservices architectures — including data isolation, factory-based data generation (e.g., Builder patterns, Bogus/.NET, Faker), and per-test cleanup.
Understanding of database transaction rollback strategies, schema-aware test seeding, and environment teardown patterns that prevent data mutation across test runs.
Hands-on experience configuring and maintaining CI/CD pipelines (GitHub Actions, Azure DevOps, or Jenkins), including test parallelization and pipeline reliability.
Understanding of contract testing concepts (Pact) for microservices integration.
Familiarity with software design patterns and principles (SOLID, dependency injection) that enable testable architectures.
Experience with containerization, particularly Docker, and using it for test automation.
Demonstrated experience using AI coding assistants (GitHub Copilot, Claude) for test generation, debugging, and code review, with a passion for exploring new AI-driven QA solutions.
Experience testing cloud-based or distributed systems.
Proficient with Git workflows (branching, rebasing, code reviews) as a daily part of the development process.
Experience working as an embedded member of a development squad, not a separate QA team.
Nice to Have
Experience with cloud-based testing solutions (e.g., BrowserStack).
Experience with code-first performance testing using Grafana k6 or Locust, integrated into CI pipelines.
Understanding of the eCommerce domain.
Experience with chaos engineering or resilience testing.
Familiarity with observability tools (application logs, distributed tracing, APM) for debugging test failures in context.
Experience with synthetic test data generation tools or frameworks.
Familiarity with database migration tools (Flyway, Liquibase) in the context of test environment provisioning.