Senior Software Engineer - Amazon Video

Amazon

Annual salary:

Salary not disclosed

Post age:

1085 days

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 iOS playback team designs, implements and maintains high-performance software that powers video playback on millions of iOS devices. 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. 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 respond to organizational and competitive needs and build high-quality software fast in an agile development environment. We work closely with other Amazon software teams and help them build video functionality into their offerings.

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. Swift or Obj-C? AV framework or custom in-house software? Xamarin or native iOS development? You will be able to provide nuanced arguments to these questions and more. You will also be responsible for designing and developing reusable, object-oriented and performant software utilizing well-known patterns (MVC, Composite, Delegate, Protocol…). You will be expected to work with senior architects at Amazon and 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 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 multimedia software development and/or knowledge of audio/video codecs (AVC, HEVC, AAC, AC-3), DRM technologies (Widevine, FairPlay), media frameworks (gstreamer, openMAX, iOS AV), streaming technologies (DASH, HLS) and media container formats is a definite plus.

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 an iOS app (preferably media app)
  • Knowledge of media container formats (MP4), encoding schemes (AAC, AVC, HEVC), streaming protocols (http, HLS, DASH)

Application instructions:

Apply via URL below: