KEY RESPONSIBILITIES
Test Automation
- Design, build, and maintain automated test suites targeting backend components and subdomains — covering integration, contract, performance, and regression scenarios.
- Work with domain engineers to understand system behaviour, edge cases, and failure modes; translate these into reliable, maintainable test coverage.
- Define and enforce automation standards: framework structure, naming conventions, test isolation, reporting, and CI integration.
- Own coverage quality — not just coverage percentage. Flag gaps, advocate for testability, and push back on untestable designs.
- Integrate automated suites into CI/CD pipelines; ensure test runs are fast, deterministic, and actionable.
Internal Enterprise Tooling
- Develop and maintain internal developer tools: simulators, cheat/debug tools, load generators, data seeders, environment scaffolding utilities, and similar productivity-enabling software.
- Treat internal tools as first-class software — proper architecture, documentation, and maintainability standards apply.
- Collaborate with stakeholders across engineering domains to identify tooling needs and deliver solutions that reduce friction and accelerate delivery.
Engineering Contribution
- Contribute to technical discussions, design reviews, and architecture decisions as they relate to testability and system observability.
- Raise quality and automation maturity across the team — mentor junior engineers, review code, and share knowledge actively.
- Stay current with testing methodologies, tooling, and automation patterns; bring relevant improvements back into the team's practice.
REQUIREMENTS
Non-negotiable
- 5+ years of hands-on software development experience — not purely QA, but engineering-track with a strong coding foundation.
- Python as primary language — you write idiomatic, production-quality Python. This is non-negotiable.
- Proven experience building and maintaining backend test automation frameworks from the ground up — not just contributing to existing ones.
- Solid understanding of backend system architecture: APIs, services, messaging systems, databases. You need to understand what you're testing.
- Experience integrating test suites into CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins, or equivalent).
- Track record of owning automation work end-to-end — design, implementation, maintenance, and iteration.
Strongly Preferred
- iGaming domain experience — RNG, Live Casino, Poker, or platform/shared services. Understanding of how iGaming products are built and operated is a meaningful differentiator.
- Experience developing internal enterprise tools or developer productivity software.
- Familiarity with performance and load testing tooling (Locust, k6, Gatling, or equivalent).
- Exposure to contract testing, property-based testing, or chaos/fault injection patterns.
- Experience with observability tooling and understanding how logs, metrics, and traces relate to test strategy.
Technical Depth Expected
- Python ecosystem: pytest, asyncio, httpx/aiohttp, Pydantic, click/typer, Docker SDK, and similar production tooling.
- Backend systems: REST/gRPC APIs, message queues (Kafka, RabbitMQ, ZeroMQ), relational and document databases, distributed tracing basics.
- Testing patterns: test pyramid, contract testing, test doubles, data isolation, idempotency in test design.
- Infrastructure basics: containerization (Docker/Compose), environment configuration, CI/CD concepts.
ENGINEER PROFILE
We are not looking for a QA engineer who scripts tests. We are looking for a software engineer who specialises in automation and tooling — someone who thinks about correctness, coverage, and developer experience as engineering problems.
The right candidate is:
- Ownership-driven — treats the automation layer and internal tooling as a product. Not a service role.
- Quality-obsessed — cares about false positives, flaky tests, and misleading coverage as much as missing coverage.
- A real engineer — writes clean, reviewed, maintainable code. Has opinions about architecture, naming, and abstractions.
- Collaborative — works across backend, QA, and product teams without friction. Explains technical trade-offs clearly.
- Self-directed — identifies gaps without being pointed at them. Drives improvements proactively.
- Pragmatic — balances ideal coverage with delivery reality. Knows when good-enough automation ships value and when cutting corners creates debt.