For millions of customers worldwide, the Amazon name is synonymous with delivery – and the Delivery Experience (DEX) team provides those customers with innovative ways to get what they want and need, enabling the choices they make on every order, every day. We combine customer impact with retail invention, solving huge technical challenges along the way.
• This is SUPER high-visibility work: Our mission is to provide consistent, accurate, and relevant delivery information to every single page on every Amazon-owned site.
• MILLIONS of customers will be impacted by your contributions: The changes we make directly impact the customer experience on every Amazon site. This is a great position for someone who likes very low latency and very high throughput Service Oriented Architecture, but wants to see and measure their direct impact on customers.
• We are a cross-functional team that owns the ENTIRE delivery experience for customers: From the business requirements to the technical systems that allow us to directly affect the on-site experience from a central service, business and technical team members are integrated so everyone is involved through the entire development process.
As a Software Development Engineer for Delivery Experience, you will be responsible for services and features that improve the discoverability of delivery options for all customers, and utilize our current delivery experience architecture. To succeed, the skill to build highly scalable, fault-tolerant systems that can withstand millions of operations per day globally will not be enough. You will be responsible for projects that require enhancements to multiple systems, including many outside your team’s ownership. You’ll need a proven ability to architect elegant scalable solutions to new challenges spanning multiple systems, and to effectively share your technical vision with others. You will be working with multiple teams across the company in many different areas, so collaboration skills are a must. So, if you’re creative, talented, have a strong sense of both technical and business ownership, and enjoy solving complex challenges that have a huge impact on all of Amazon’s customers, we’ve definitely got the role for you!
Individuals interested in this position should have practical experience in building high-performance, reliable systems in a complex, multi-tiered, and distributed environment. The ideal candidate will have experience working across the stack, from Java on the back-end to HTML / CSS / JS / React Native on the front-end as well as expertise in API design.
• 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 8+ years of equivalent professional or military experience
• 3+ years professional experience in software development
• Completed Bachelor’s Degree in Computer Science or related field
• 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 Java, C, C++, C#, or Perl
• Experience with Service Oriented Architecture (SOA)
• Experience collaborating with other teams to build scalable and fault tolerant solutions
• 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 with web and mobile app technologies
• 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, productive software engineers
• Experience influencing software engineering best practices within your team
• Hands-on expertise in many disparate technologies, ranging from front-end user interfaces through back-end systems and all points in between