- Salary
- £50k – £70k/yr
- Location
- Bristol, Somerset
- Workplace
- Remote, Hybrid, Onsite
- Type
- Full-time
- Department
- Engineering
- Clearance
- Required
- Source
- Pinpoint
Description
Software Development Engineer in Test (SDET)
Department: Engineering
Employment Type: Permanent - Full Time
Location: Bristol, UK
Reporting To: Leigh Bazan
Compensation: £50,000 - £70,000 / year
Description
The role
We’re growing our team and looking for a Software Development Engineer in Test (SDET) to enable us to continue to build out our test frameworks, tooling and emulated environments that underpin assured software across complex, mission‑critical systems.
This is an engineering role as much as a testing one. You’ll design and build new automation frameworks from the ground up, and develop our emulated test capability, such as network and link emulation, simulated devices and nodes, and stand-ins for cloud services, so that we can test distributed, data-synchronising systems repeatably and under realistic, degraded conditions without needing the full hardware estate.
You’ll work across a diverse set of projects, including bespoke mobile applications, geospatial tooling, cloud platforms, sensing and provisioning systems. Many of these integrate closely with hardware, so experience working across software and hardware ecosystems is essential.
You’ll operate confidently across multidisciplinary environments, contribute to complex deliveries and help shape how we approach quality in challenging, real-world conditions. You will play a pivotal role in delivering our next generation of critical technologies that bridge the gap between frontline operators and the commercial advancements they need to succeed.
While this role offers hybrid working options, it requires a minimum of 3 days per week on-site at our Bristol HQ, with occasional travel to support integration and testing activities.
Key areas of responsibility
- Design and build test frameworks: Design, build and maintain test automation frameworks and shared tooling from the ground up, choosing appropriate architectures, languages and libraries, and treating test code as production-quality software.
- Develop emulated capability: Build and evolve emulated and simulated test environments (for example network and link conditions, devices, nodes and cloud services) to enable repeatable testing of distributed, data-synchronising systems under degraded or intermittent connectivity.
- Embed automation in delivery pipelines: Integrate automated tests into CI/CD, owning pipeline reliability, reporting and the management of flaky tests.
- Drive quality through best practice: Following and promoting consistent test standards, applying sound judgement and effective risk management.
- Coaching & Mentoring: Support and coach peers on automation practice and use of the frameworks you build.
Key skills, experience and behaviours
Essential
- 3+ years’ test automation or software development experience.
- Strong software development skills in at least one language used for test tooling (for example Python, TypeScript or Java), with sound engineering practice including version control, code review, modular design and testing your own test code.
- Proven experience designing and building test automation frameworks from scratch, not simply writing tests into existing frameworks.
- Use of modern tools and frameworks (e.g. Playwright, PyTest, UI Automator).
- Experience of Git and building, running and maintaining automated tests in CI/CD pipelines such as GitHub Actions.
- Experience in working with APIs and integration test automation.
- Solid understanding of networking and distributed-system fundamentals (for example latency, packet loss, partitions, offline-first behaviour, conflict resolution and eventual consistency) and how to test for them.
- Experience translating requirements and user stories into comprehensive test suites, including consideration of accessibility, usability and mobile best practices.
- Experience building emulators, simulators, mocks or service virtualisation, or network and fault-injection tooling.
- Experience testing Android-based systems.
- Experience testing software with connected hardware and troubleshooting integration and interoperability issues.
- Experience setting up, running and maintaining CI runners, including physical runners (for example Raspberry Pi, NUCs).
- Networking experience (for example USB, serial, network switching) and scripting (e.g. Bash) for device control.
- Knowledge of security, performance, resilience, load and other non-functional testing areas.
- ISTQB or equivalent certifications.
- Understanding of how AI can be best-utilised across the software test lifecycle.
- Experience working within assurance-driven, safety-critical or highly regulated environments.
The ideal candidate will have a thorough understanding of the software testing craft and be comfortable navigating their way through complex environments. You will:
- Work with a high degree of autonomy, taking responsibility for the quality of your own work and the design of the test solutions you build, and making sound, evidence-based decisions in fast-moving environments.
- Approach problems like an engineer, with a pragmatic, delivery-focused mindset that balances robust design with the need to move at pace.
- Work effectively across multidisciplinary teams, collaborating daily with fellow engineers, product, and operational stakeholders.
- Contribute to ways of working, supporting consistency and continuous improvement with a proactive approach to solving problems.
- Share knowledge and support the development of automation amongst peers.
- Operate confidently in customer-facing environments, supporting integration and test activities and facilitating discussions around quality.