About This Role
Working within a cross-functional product or platform team, this role focuses on delivering and supporting robust, highly scalable microservices for ITV's Streaming business (ITVX). The engineer will contribute independently to feature slices while actively collaborating with team members and building knowledge of domain architecture.
Responsibilities
- Write high-quality, clean, well-tested, and idiomatic functional code, primarily in Scala
- Include unit and integration tests for all features to validate correct functioning
- Ensure code is peer-reviewed through constructive Pull Requests and actively participate in reviewing the work of others to catch defects and uphold standards
- Focus on moving assignments smoothly from requirements definition through design to clean implementation deployed in production
- Engage and collaborate with cross-functional agile teams (including FE devs, Product Managers, Agile Delivery Managers, and designers)
- Participate in sizing, backlog refinement, story breaking, and design sessions to define pragmatic technical solutions
- Actively participate in the wider Scala/Backend Engineering community of practice (e.g., knowledge sharing via lightning talks or pairing)
- Work with and support Junior team members or apprentices to help them get up to speed and improve their skills
- Take a proactive stance toward operational health and observability, incorporating metrics collection and alerting
- Make use of feature flags where appropriate
- Participate in daytime office-hours support rotas to maintain live service health
Requirements
- Confident Scala programming experience (commercial or equivalent diverse codebase experience)
- Strong grasp of automated testing patterns (Unit testing, integration checking)
- Distributed Version Control (Git)
- Familiarity with Functional Programming concepts (immutability, referential transparency, algebraic design)
- Familiarity with message brokers/event-driven boundaries (e.g., Apache Kafka)
- Good understanding of local development tooling and environments
- Experience working with payment platforms such as Stripe, Google Pay, or Apple Pay
- Experience with authentication standards such as OAuth 2.0 and working with JWT tokens
Nice to have:
- Exposure to Pure FP ecosystems/libraries (Typelevel Stack / Cats / Cats-Effect) or Tagless Final patterns
- Familiarity with relational databases (e.g., PostgreSQL) or caching stores (e.g., Redis)
- Awareness of containerization (Docker) and basic cloud architecture (AWS)
- Awareness of CI/CD principles and automated integration pipelines (GitHub Actions)