Senior Software Engineer
Manchester, United Kingdom
Disney+ topped 100 million active subscribers just 16 months from launching, and we have aspirations for many more. At Disney Streaming we're responsible for building what aims to be the largest media streaming platform in the world. Serving not just Disney+, but ESPN+, Star+, and Hulu. We foster innovation, we challenge each other, and we put our users before all else: connecting them with the stories they love.
We're looking for people who want to challenge themselves, to grow; people who understand scale... and care deeply about reliability. You will be surrounded by colleagues eager to help you succeed and be part of an ambitious, high-performing, rewarding culture. If this sounds like something for you, read on!
How we work
The teams in Manchester work in small squads that promote Agile practices. Each team and their respective squads are responsible for a collection of microservices and their infrastructure, from building to delivery and maintenance. We take great pride in owning what we build and seeing things through to the end.
We have a mature DevOps culture in place where teams are responsible for the infrastructure and deployment of those applications, and we are actively expanding our Manchester born SRE function which aims to advance our knowledge and innovation globally in areas such as Observability, Reliability and Availability.
We have the autonomy to choose the technologies and processes that help us achieve our objectives. So each team leverages the technology that fits their needs best. You'll see us working with data processing / streaming like Kinesis, Apache Spark and Flink, application technologies like PostgreSQL, Redis, DynamoDB, and Timestream, and breaking things using in house chaos principles and tools such as Gatling to drive load… all deployed and hosted on AWS.
Our services teams are advocates of functional programming, so you can expect to join a team that are applying principles from FP to build these services, using Scala, Cats, ZIO, http4s, FS2, and Cats Effect.
Our high-scale in-house A/B testing platform. Deeply integrated into our platform to enable comprehensive experimentation on every aspect of the product. We're building a fully bespoke platform using cutting edge technologies. Our platform is capable of serving millions of concurrent requests with single digit millisecond response times, whilst providing our users with a fully self service experience including comprehensive in-tool curation and analysis of experiments.
We're also responsible for our upcoming feature flagging capabilities, extending our experimentation platform to provide a fully dynamic, user specific configuration set to all clients and services to enable a truly universal end to end test, rollout, experiment, release, rollback capability.
Customer Experience / QoS
Our team builds services to measure the Customer Experience for Video Playback, in real-time. This means taking high throughput streaming event data (~10TB/day) generated by our client applications, and creating a user experience to support our analysts who generate insights into the underlying quality of the streaming experience, driving improvement. It requires us to make technical tradeoffs between what we can achieve with the data we can gather, and the requirements from our internal users on a regular basis.
We help secure the platform. Generating tokens used by the Disney+, ESPN+, MLB.TV, and Star+ applications every time they make service requests to e.g. discover and playback content, including by third parties such as Google for integrations like Google Assistant initiated playback. Additionally we provide internal tooling to help our teams test and debug in production.
Being a critical path multi-region service means we set the bar high for availability. We serve billions of requests per week with double digit millisecond response times.
As part of Token Services you can expect to work with OAuth 2.0, JWTs (and other JOSE standards), ZIO, http4s, Fargate, and Gatling, to name a few technologies. As part of our small team you can expect to work on:
• Functional changes driven by product and broader platform initiatives.
• Reliability, scalability, and cryptographic agility.
What we would like to see
The teams, collectively, require the following core skills. We are interested in candidates with strong experience in a few areas, or some experience in most areas. We don't expect you to know everything!
• Broad and deep technical knowledge, throughout the full stack. Deep hands-on expertise with many disparate technologies and architectures.
• Excellent communication skills, specifically in understanding, framing, distilling, and simplifying both technical & business requirements.
• Experience mentoring and coaching more junior engineers on both technical and soft skills.
• You are comfortable with ambiguity and leading conversations where discordant views are present.
• Experience or strong interest in functional programming - particularly Scala stacks such as Scalaz, Cats Effect and ZIO. An understanding of how to apply these to solve real-world problems.
• Demonstrable experience working as part of a high performing, collaborative agile team. Leading and delivering significant features / requirements.
• Middle tier / web services experience: including REST and GraphQL.
• Monitoring and optimising applications written for the Java Virtual Machine.
• Relational and NoSQL databases, particularly PostgreSQL, Aurora, & DynamoDB. Experience modelling & optimising query performance.
• Kinesis or any other streaming data.
• Experience of designing / building / operating distributed systems with multi-level failover & fallback strategies.
• Understanding of statistical analysis of data.
• Experience with Cloud Infrastructure, preferably with AWS.
• Experience with or an interest in ''DevOps'' tooling & infrastructure as code.
• Demonstrable understanding of high-quality coding and testing practices.
• A strong understanding of continuous integration and continuous delivery practices.
• An appetite to learn new technologies and a drive for continual improvement.
• Contributions to the technical community, either through blogs, internal workshops, meetups or conferences.
What you'll do
• Be part of an Agile team building the world's fastest growing media streaming platform.
• Strive for excellence, challenge yourself, and become part of a collaborative, inclusive and diverse team.
• Contribute to or lead a significant part of the implementation, design, testing, and deployment of services within your team.
• Leverage, learn and apply cutting edge technologies on challenging and varied business domains.
• Apply principled engineering practices including unit testing, integration testing, and continuous integration.
• Develop your technical understanding to support and build your career.
• Act as a mentor and an example to others in your team and across the organisation.
• Have the opportunity to contribute to our open source or blog communities
Jobcode: Reference SBJ-rn8n73-54-161-98-96-42 in your application.
Disney Streaming Services is responsible for developing and operating The Walt Disney Company’s direct-to-consumer video businesses globally, including the ESPN+ and Disney+.