Software Development Engineer - Ordering Services
At the heart of Amazon.com's tremendous selection, world class shopping experience and fulfillment is the Ordering team. The software we write and the systems we own enable hundreds of millions of customers worldwide to order anything from a pin to a piano with the click of a mouse! Every aspect of our business interacts with our systems. We're the hub of Amazon's massive, worldwide service-oriented architecture.
The e-Commerce Service Group at Amazon Seattle is an agile team whose charter is to deliver the next generation of e-Commerce solutions. As a member of this team, your mission will be to design, develop, document and support massively scalable, distributed real time systems. Using Java, C++, object oriented and service design patterns, distributed databases, and other innovative storage techniques, you will build and deliver software systems that support complex and rapidly evolving business requirements.
The successful candidate is expected to contribute to all parts of the software development and deployment life-cycle, including design, development, documentation, testing and operations. They must possess strong verbal and written communication skills, be self-driven and deliver high quality results in a fast paced environment. They need to enjoy working closely with their peers in a high-performing group of very smart and talented engineers.
We're looking for smart people who can get things done. The ideal candidate has a range of experience solving different engineering problems across the full tech stack.BASIC QUALIFICATIONS
• 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.
• 2+ years of non-internship professional software development experience
- Bachelors or Master's Degree in Computer Science or related field
- 5+ years of industry experience.
- Experience in Java, C++ or C# (expert in at least one)
- Expertise in Data Structures and Algorithms
- Expertise applying Object Oriented design patterns and concepts
- Good understanding of networking concepts
- Good understanding of database applications
- Good interpersonal and communication skills
- Obsession with quality and customer experience - Attention to detail coupled with ability to think abstractPREFERRED QUALIFICATIONS
- Experience with building high throughput, distributed and scalable systems
- Experience building and maintaining services in UNIX or Linux environments.
- Experience with building services using the SaaS model
- Experience working in large scale Service Oriented Architecture environments.
Software and Programming