Software Development Engineer - Amazon Photos Sharing (Android)

3+ months agoVancouver, Canada


Amazon Photos helps consumers preserve and re-live their memories. The service comes with unlimited photo storage for Prime members and apps are available on iOS, Android, Web, Desktop, Fire Tablet & Fire TV. The service is also integrated into Alexa devices such as Echo Show and Echo Spot. Amazon Photos is the latest digital offering to consumers released on the heels of the Amazon Music and Amazon Video offerings. We have ambitious goals to scale growth and adoption of the service around the world and delight our customers with a great product.

We are looking for a Software Development Engineer to contribute to architecture and development of services that power our photo sharing features. In this role, you will have the opportunity to contribute significantly to the future of Amazon Photos, and will have a visible impact in helping customers share and relive their cherished memories.

In this role you will:

• Have a test-first mentality to prevent issues from affecting customers.

• Write maintainable code, perform peer code-reviews, write technical design documents, and participate in technical design discussions.

• Work in a team environment to collaborate and strive for consensus by making data-driven decisions.

• Design, develop, and deploy custom scalable components.

• Work in an Agile environment to continuously deliver high quality software.

• Have a high attention to detail, working closely with business and technical stakeholders to drive measurable results.

We are a team that cares about your work-life balance, while challenging you to solve problems at Amazon scale. You will be part of a strong team in a fast-paced, start-up environment where agile development is embraced and innovation is encouraged. You will get support and resources from some of the smartest people in the industry to continue your personal and professional growth. You will build software that will improve people's lives.


• 2+ years of non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• 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.