Description de l'offre
Amazon Prime Video is disrupting traditional media with a vast library of titles, Emmy Award winning original content, add-on subscriptions, and live events. Our services operate at Amazon-scale and are engineered for high scalability, reliability, and performance. We enable our customers to watch video instantly, online or off, from any device, whether in the comfort of home or on the go. We deliver premium movies, TV shows, add-on subscriptions, and live streaming on thousands of devices across personal computers, mobile devices, game consoles, smart TVs, and set-top boxes. We operate in the US, Europe, and Japan and intend to expand our customer-reach exponentially in the near future.
The Android playback team designs, implements and maintains high-performance software that powers video playback on millions of Android and Kindle devices. We build common components usable by many device types across many form factors. We are responsible for the playback experience, quality and performance from the time you press play on an Amazon Video title. Our software is designed to work seamlessly on a variety of devices, in a variety of playing conditions and in a multitude of content consumption contexts including live streaming, on-demand and ad-supported playback. We obsess over the time that elapses between pressing play to when the first frame is rendered to the screen, delivering the highest quality of video possible, and removing interruptions. We are constantly refreshing our software and adding new functionality that allow users to get the best out of both the Amazon video library and their specific device.
We are looking for experienced software developers who can guide our team’s technical strategy and provide architecture and design guidance based on their extensive knowledge of a variety of software engineering patterns and industry standards. You will also be responsible for designing and developing reusable, object-oriented and performant software utilizing well-known patterns (MVC, Composite, Delegate, Protocol…) that may span multiple platforms, form factors, and resource challenges.
Successful candidates for this position will have strong software engineering fundamentals (data structures, object-oriented design and algorithms), a well-honed arsenal of software architecture and design patterns and a demonstrated competence in designing reusable, maintainable and performant software written in a modern high-level language (C, C++, Java, C#, Objective-C, Swift). You will be a champion for engineering and operational excellence. You will also demonstrate the ability to adapt to changing business and technical environments and devising creative solutions to vexing software problems. The ability to crisply and concisely communicate orally and in writing to engineers and executives alike is essential.
A background in mobile or web development, multimedia software development, and/or knowledge of audio/video codecs (AVC, HEVC, AAC, AC-3), DRM technologies (Widevine, FairPlay, PlayReady), media frameworks (gstreamer, openMAX, iOS AV), streaming technologies (DASH, HLS, SmoothStreaming) and media container formats is a plus, but not required.
• Bachelor’s Degree in Computer Science or related field
• 1+ years of experience in software development
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in data structures
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Proficiency in, at least, one modern programming language such as C, C++, C#, Java, Objective-C, Swift or Perl