Amazon

Returning Candidate?

Sr. SDE

Sr. SDE

Job ID 
533705
Location 
US-WA-Seattle
Posted Date 
10/17/2017
Company 
Amazon Corporate LLC
Position Category 
Software Development
Recruiting Team 
..

Job Description

Amazon 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 playback team designs, implements and maintains high-performance software that powers video playback on millions of Android, iOS, web, and living room 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. You will be expected to work with senior and principal engineers to guide the overall technology and architecture of the video playback organization. You will also mentor, guide and motivate fellow software engineers in the team and help them realize their full potential. You will also represent Amazon Video business and drive technical architecture discussions with industry leading partners.

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.

Basic Qualifications

• Bachelor’s Degree in Computer Science or related field
• Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
• 4+ years professional 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, or Perl

Preferred Qualifications

• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Experience with distributed computing and enterprise-wide systems
• Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
• Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
• Experience influencing software engineers best practices within your team
• Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
• Experience with developing, releasing and maintaining a mobile app or mobile OS
• Knowledge of media container formats (MP4), encoding schemes (AAC, AVC, HEVC), streaming protocols (http, HLS, DASH, SmoothStreaming)