Senior Software Engineer - Cloud Media Systems
Netflix, Los Gatos, California
Leading subscription service for watching TV episodes and movies
Ultra-high quality audio, timed text and video sources, received in formats such as IMF, QuickTime and W3C TTML, are transformed by the Netflix content processing system into a suite of delivery format
s (e.g., ISO base media file format) providing a ubiquitous streaming experience to our global audience. The Cloud Media Systems team develops cloud-scale tools for the multimedia systems layer of our media trans-coding pipeline - we define and implement ingest specifications for audio, video and timed text content sources; and develop tools for audio/video/text processing, packaging, and encryption (DRM). The unrivalled scale of content ingestion at Netflix exposes unique challenges - our active participation in standardization forums such as SMPTE and W3C Timed Text Working Group (TTWG) as well as contribution to open source software (OSS) development activities enables us to obtain scalable industry-wide solutions.
Given the increasing volume of original programming, Netflix is well on its way to becoming a “cloud studio”, owning the content production chain from greenlight to master source creation. To support this effort, the Cloud Media Systems is building a media analysis pipeline from the ground up. This system enables in-depth technical analysis on our sources and is a precursor to various cloud-based tools for editing and transformation of production media assets. At the algorithms level, we are using classical approaches as well as novel deep machine learning techniques to solve challenging computer vision and natural language processing problems that address Netflix business needs. At the infrastructure level, we are developing a highly queryable polyglot persistence repository that stores deep technical metadata for Netflix media assets. Scalable web service APIs that are consistent with the Netflix micro-services architecture expose this data in a RESTful manner.
• You exhibit leadership abilities and flexibility - you like to work hands on and self directed in a fast paced, freedom and responsibility environment and make objective decisions with the goal of furthering Netflix business
• You are creative - you thrive in a setting that empowers you to go out of the box and apply your expertise to solve big technical challenges
• You are an expert in OO programming (Java, C++, or C#). You have a strong passion for software development and you constantly strive towards becoming a better software engineer - employing the right OO techniques for the problem at hand
• You are incremental in your approach to software development and take full responsibility for the quality of your code and end-to-end testing
• You have a demonstrated track record in building large scale, resilient distributed services
• You have deep knowledge of concurrency (Java), REST principles and HTTP
• You have a broad experience with persistence technologies ranging from key-value to column-family to document to graph data stores
• Knowledge of multimedia compression, delivery, playback and processing systems is a plus
• Experience with machine learning systems is a plus
• Define and implement data models and strategies for efficient persistence and querying of media analysis data
• Define REST APIs, implement scalable web services and build integrations with APIs and services from other teams
• Implement workflow solutions for orchestrating micro-service deployments
Netflix is the world’s leading Internet television network with over 100 million members in over 190 countries enjoying more than 125 million hours of TV shows and movies per day, including original series, documentaries and feature films. Members can watch as much as they want, anytime, anywhere, on nearly any Internet-connected screen. Members can play, pause and resume watching, all without commercials or commitments.