Our Engineers work collaboratively and share knowledge, and learning is extremely important to us. We support our Engineers to continuously improve their skills and keep abreast of the latest technologies.
This advertised role, Senior Quality Engineer (Mobile), is known internally as Product Engineer (PL6). (Find out more about being a Product Engineer in the Partnership, and the technology we use.
Contract type - This position is a Permanent contract.
Working pattern/flexible working -
We have a blended hybrid approach of working from our offices and a remote UK location. You should plan to be working remotely for approximately 60% of the month. However in practice, time in the office is a decision made within your team, and may mean that you do not come into the office for weeks or months at a time, unless you choose to.
We have opportunities linked to both our John Lewis Head Office in London Pimlico and Waitrose Head Office in Bracknell, Berkshire.
Key Responsibilities:
We are driving a culture of whole team accountability for quality and continuous testing and are looking for people who can help us do that. Initially, as a Senior Quality Engineer you will be embedded into a software engineering product team composed typically of a Delivery Lead and a mixture of iOS and Android Engineers, and Analyst(s) delivering our mobile apps.
As well as creating and executing some of the teams checks, your role in the team will be to mentor others in testing practice; coach them to adopt and improve their quality approaches including deployment approaches and observability; review and contribute to the teams codebase and pipeline configuration; help the team with their system of work from first business need to monitoring services in production. At all times you will also have an eye on what good looks like to the customer / user.
As a senior member of our Quality Engineering Community you will mentor more junior members and help them with their personal development.
You will work with a diverse range of technical and non-technical stakeholders which will require excellent communication skills. Advocating for improved engineering approaches will also require strong stakeholder management capability.
There are opportunities to become a people manager for your fellow engineers if that is something that appeals to you.
Learning new skills is extremely important to us. Engineers are expected to continuously improve their skills and keep abreast of the latest technologies and techniques regardless of their experience or job grade. In return for this commitment you will be given the resources and support you need to help you with your learning journey.
Essential skills/experience youll need
For this role we are looking for a hands-on Senior Quality Engineer who has extensive knowledge, skills and experience of delivering native mobile apps for iOS and / or Android devices.
Knowledge of architectural patterns used to build mobile applications.
Practical experience of Continuous Integration / Continuous Delivery of native mobile apps and associated back end services.
Coaching teams in use of Continuous Testing and shift left / shift right approaches.
Thinking critically about engineering approaches, using questioning techniques to lead team discussions about quality risks and appropriate responses.
Leading elaboration activities (such as three amigos sessions) to ensure specificity, consistency and testability of requirements and acceptance criteria.
Reading and writing coded solutions for a variety of engineering needs:
pairing with developers to understand and jointly enhance unit, functional and other coded tests
developing testing utilities
developing and maintaining code in pipelines
creating and maintaining coded checks such as native mobile test automation or automated tests for back-end APIs.
Working knowledge of modern testing tools and frameworks for testing mobile apps, preferably XCTest / XCUITest and/or Espresso.
Analysing mobile non-functional risks (performance, resource usage, variable bandwidth, device compatibility, accessibility etc.) and advising on how these risks should be mitigated.
Understanding operational and non-functional requirements (such as resilience, performance and observability) and how solutions are implemented and tested.
Desirable skills/experience you may have
Bitrise/Gitlab CI
GraphQL
Backend for Frontend (BFF) patterns
Microservice Architectures
Experience of cloud infrastructure such as GCP or AWS.
Understanding of mobile security threats and experience of automated security testing.