Our mission: To be Earth's most customer-centric company.
This role is for Senior/Lead/Architect level Software Engineers only. If you are an intern, recent grad, or entry level individual please use: https://www.amazon.jobs/en/business_categories/student-programs
At Amazon, the Recipient Experience (REX) team’s mission is to provide a transparent and flexible delivery experience that recipients love. REX owned properties (for example – Your Orders, Progress Tracker, Order Details, Product Owner Page, Order Confirmation email etc.) are highly visible and trafficked destinations for our end customers.
This Senior Software Development Engineer is the lead technical role for a business owning multiple software development stacks. You will join a highly technical and entrepreneurial culture defining and building the next generation of software solution for post purchase tracking (both on the website and email/push/SMS communication). You will own delivering a massive CX redesign across all REX properties and re-architecting our systems to be more modular and federated so that we can support heavy experimentations across our properties.
In this role, you will:
- Build highly extensible software systems to meet the rapid growth of Amazon’s delivery business and capabilities.
- Evolve and build services that are highly reliable and extremely low latency.
- Develop the tech vision, architecture and design for next generation platform partnering with multiple, different teams across the company.
You will be working in a fast-paced environment, on a team of smart software engineers, to design and build the right technical solutions to meet the needs of the business. You will have direct ownership over the design of new components aimed at improving the platform’s extensibility, scalability, availability, and latency. We care about both delighting customers and high quality software; we don’t sacrifice one for the other. We’re looking for someone with a demonstrated track record of highly-scalable, global software solutions.
- 4+ years of professional software development experience
- 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 2+ 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
- Ability to propose creative and elegant solutions to complex technical problems.
- Commitment to operational excellence: building low-defect systems that are user-friendly with low operational burden.
- Willingness to own all stages of development process: design, testing, implementation, operational support.
- Willingness to work in an agile team development environment, have basic knowledge of agile design process, experience developing software in an agile environment is highly preferred.
- Experience building large-scale, fault-tolerant distributed systems is preferred.
- Excellent communication skills.
- Strong influence in the team technical discussion and build team technical vision.
- Experience in building high-performance, highly-available and scalable distributed systems.
- Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
- Customer obsessed with the ability to deal with ambiguity.
- Knowledge of professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Ability to take a project from scoping requirements through actual launch of the project.
- Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs.