The Role The Team Content Supply and Distribution (CS&D) is a key group within ITV's Media & Entertainment business that is responsible for managing ITV's content and data from source to screen across linear and VoD supply chains. The Content Supply Technology (CST) group develops, integrates and maintains the underpinning technology platforms, as well as the supporting functions of business analysis, architecture and project management. All this enables us to deliver ITVs famous and popular content from its multiple sources to our online platforms, to our B2B partners and to ITV's family of linear TV channels. As a department we work closely with our colleagues in the ITV business teams and with our closely related operational teams who are responsible for delivering our channels and content reliably, just in time, day in-day out. Our teams build the technology that brings great content into ITV ready for broadcast, streaming and partner distribution. From handling video files and sourcing metadata for content to scheduling and checking compliance, our systems ensure millions of views get to enjoy their favourite shows. The Role We are looking for an enthusiastic software engineer to join our software engineering function in CST. Our software engineers work as part of our development team across a range of products which make up our content supply chain. As well as supporting and improving our existing applications and their integrations with 3rd party software, you will also generate new ideas which address business challenges. To be successful in this role, you will need experience with Scala using functional programming, a familiarity with the software development life-cycle as well as being keen to expand your knowledge to new languages. You will possess effective communication skills and be expected to learn from the team and use other resources to grow your own knowledge and progress as an engineer. We need our engineers to be versatile, team orientated and enthusiastic to take on new problems as we strive to improve and optimise our content supply chain processes. Role Criteria As a Software Engineer you will: Engineer software in the Scala programming languages using functional programming (FP) to a high standard. Understand, develop and communicate system design, software solutions and architecture in collaboration with other engineers and teams. Write infrastructure as code to deliver cloud resources onto Amazon Web Services. Be responsible for producing high quality, well architected and maintainable code utilising a range of automated tests that allow for confident release into production. Participate in design and code reviews and proactively identify issues, bottlenecks, gaps, or other areas of concerns. Support applications through the full lifecycle, both during development, release, and after release. Work closely with users and translate their operational needs into efficient, practical solutions and processes. Engage as part of a cross functional Agile development team, contributing to the discovery and breakdown of tasks to deliver high quality solutions within wider project deadlines. Use extreme programming practices including pair programming for engineering solutions and knowledge sharing as part of a self organising Scrum team. Collaborate with other product teams to ensure good cross-product cooperation. Skills You'll Need (Minimum Criteria) Scala experience, ideally writing both Object Oriented and Functional Programming paradigms, preferably in the Typelevel Stack. An interest in and the ability to learn new software and technologies quickly. Ability to write maintainable and testable code, with a rigorous approach and attention to detail. Experience of building and working with APIs including REST and GraphQL Experience using Github, Jenkins and other repository or pipeline management solutions. Familiarity with large system software design and development. Solid understanding of engineering best practices. Experience working with Agile methodologies. Other things we're looking for (desirable) Experience with other JVM languages, such as Java or Kotlin or Python Good knowledge of popular frameworks e.g. Cats Effect, http4s, Spring Boot Experience mentoring junior or less experienced engineers Experience of media or broadcast related workflow systems or services Experience writing Continuous Integration and Deployment (CI/CD) tools, such as GitHub Actions Experience of microservices (Kubernetes) and messaging systems such as AMQP or SNS/SQS. Experience with serveless components, such as AWS Lambdas Experience with low-code solution architecture#J-18808-Ljbffr
Job Title
Scala Software Engineer