Software Engineer In Test Python/AWS
In a partnership with one of global consulting companies, we’re looking for a Senior Software Engineer in Test (SEiT) to join the Recommendations department within the company. The company is increasing personalisation for our audiences and continuing to offer an incredibly varied range of content across multiple platforms. On TV, Mobile, Web & Voice platforms spanning genres such as comedy, drama, news and more, the role of our Recommendations department is to provide audiences with content that is relevant and personalised, from well-known company brands.
The Lead SEiT will be engaged in all aspects of the software development lifecycle, including architecture, design, specs, tests, development and delivery. As a testing advocate, you will review new features, write test plans and pair with developers. This is primarily a back-end testing role, with a heavy emphasis on the validation of recommendation model pipelines.
Responsibilities of the role
We are looking for a strong collaborator who can lead testing in our Broad Catalogue and Content & Popularity teams. The position requires a self-motivated individual who has mature communication skills and is willing to own testing responsibilities across multiple teams.
- Provide testing for a team serving recommendations at scale, including:
- Data integrity tests such as schema validation, null checks, recommendation count limits and duplicate detection.
- API tests such as checking functionality, reliability and performance of recommendation systems.
- Promote a culture of quality within the team - providing Test representation during discovery, requirement gathering, estimations etc.
- Collaborate with peers to improve the team’s software development methodologies such as pairing, code & documentation reviews and continuous delivery.
- Lead the definition and execution of suitable Test approaches based on the needs of the product and our audience.
- Write and maintain automated tests in continuous deployment pipelines.
- Explore methods for testing machine learning algorithms, pipelines and data quality.
- Lead the troubleshooting of issues, identify the underlying cause and collaborate on a fix with other teams.
Essential skills
- Experience working in a multi-discipline Agile team.
- Python coding experience.
- Experience with AWS services.
- Experience with automated testing frameworks.
- Experience writing automated API tests.
- Pairing and performing code reviews.
Desired skills, but not essential
- Data analysis experience using pandas, PySpark or equivalent tools.
- Experience of machine learning and/or artificial intelligence.
- Experience with load and performance testing.
- Ability to explain complex technical ideas to a non-technical audience.
- Aptitude to learn new technologies and explore new ways of working.
Tools & Technologies we use:
- Languages: Python, including pyenv for version management and Poetry for package & dependency management.
- Load testing: Gatling
- Cloud: AWS
- Version Control: Git & GitHub
- Deployment: CodeBuild, CodePipeline, Continuous Integration / Continuous Deployment (CI/CD).
- Database: DynamoDB, Redis
- ML/AI: Machine Learning Operations, AWS SageMaker
- Stream-Processing: Apache Airflow, Beam, Kafka, Flink
Required languages
| English | B2 - Upper Intermediate |