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 lead architecture and development for our Android apps for phones. 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 Amazon 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.
Why you want to be on the Photos team: Amazon Photos helps everyday photographers and pros alike preserve and re-live a lifetime of memories. We're passionate technology professionals, photographers and photo enthusiasts who are genuinely excited about how we can make preserving and re-living digital photographs a simple joy. We're a close-knit team of friendly, collaborative people who love working together and having fun together.
• 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.BASIC QUALIFICATIONS
• 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 conceptsPREFERRED QUALIFICATIONS
• 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.
Software and Programming