In 2017, consumers are projected to take over a trillion photos and videos, and Prime Photos is one of Amazon's newest and fastest growing Prime benefits.
We provide unlimited, original resolution photo storage for Prime members who now have a simple, secure place to store their existing collections of photos, automatically upload new photos as they are taken, and access them anytime, anywhere, at no additional cost.
We store hundreds of petabytes of data and provide apps for customers to access their photos and videos on iOS, Android, PC, Mac and web.
We are looking for a Software Development Engineer to lead architecture and development for our Android apps for phones, tablets and TVs.
This role is a mix of 70% hands on coding and development, and 30% leadership, architecture and mentoring. In this role you will have the opportunity to contribute significantly to the future of Prime Photos on the Android platform.
You will be part of a strong team in a fast-paced, start-up like environment where agile development is embraced and innovation is encouraged.
Architect, design, develop and deploy new features for our Android apps, working with multiple back-end teams
Contribute best-in-class programming skills to develop highly innovative, consumer-facing Android apps.
Write clean, maintainable code and perform peer code-reviews.
Work with other team members to investigate design approaches, prototype new technology and evaluate technical feasibility
Work in an Agile / Scrum environment to deliver high quality software against aggressive schedules
Establish architectural principles, select design patterns and then mentor team members on their appropriate application
Help define and implement standards and promote best practices for the Android development team
Analyze and optimize applications to maximize speed and scale, factoring in mobile network latency and bandwidth constraints.
Bachelor’s Degree in Computer Science or related field
3 years of professional software development experience
3 years of software development experience using Java on Android
Proficiency in object oriented development and ability to apply OO concepts
Extensive knowledge of Android development techniques and practices.
Ability to teach and mentor junior and mid-level engineers
Experience with multi-threading and mobile device memory management.
Experience defining system architectures and exploring technical feasibility tradeoffs.
Experience developing cloud software services and an understanding of design for scalability, performance and reliability.