Welcome to Distributed Systems Engineering at Amazon.com

Distributed Systems Engineering Job Opportunities

The Amazon.com Distributed Systems is responsible for the core Amazon Software Infrastructure. We are looking for people with a passion for hard core coding and developing on a revolutionary scale. We are looking for people with a background in systems level programming, capable of creating bulletproof code, and not afraid to take innovation to the next level.

  • Do you believe that creating and leveraging Open Source is a powerful way to develop systems?
  • Do you believe that in a distributed system, an asynchronous message-based design is fundamentally a powerful paradigm for building robust, flexible, loosely coupled and scalable systems?
  • Are poorly made “de jour-design by committee” standards stifling your creativity? Would you rather innovate and create solutions that take the lead and eventually be regarded as de facto standards.

If you're interested in joining the DSE team, find a position below that suits your skills and send your resume to: dseresumes@amazon.com


Available Job Openings by Program

• Persistent Systems Engineering
• Messaging Technologies
• Request Reply Frameworks

Persistent Systems Engineering

Senior Software Development Engineer
Join Distributed Systems Engineering and build systems that enable applications to meet the challenges of massive scalability. More than anyone else, Amazon.com faces the challenge of building and maintaining stateful applications of massive scale and robustness. Our group focuses on the software problems in this space by developing reusable, generic components that reflect the latest advances in data dissemination and replication, load balancing, autonomous management and repair. The group also interacts with other development team to share our domain knowledge.

We are looking for engineers that are passionate about distributed systems problems, are enthusiastic about applying bold new ideas to real-world problems, can critically read and evaluate relevant literature, love brainstorming and algorithm analysis. We expect candidates to have: knowledge of distributed systems theory; a sense for how distributed systems work in practice and their limitations; experience building a real system, like group communication middleware or a distributed object store; excellent coding skills; the ability and desire to learn new technologies quickly; good communication skills. Our group is responsible for imagining, designing, building and supporting distributed software solutions, hence candidates should be experienced in all aspects of software development: research, design, documentation, implementation, testing.

Strong experience with either C/C++ or Java is required, combined with a thorough understanding of object oriented development and services architecture. Experience working with large, high performance systems, distributed networks, and a working knowledge of database modeling, XML, XSLT, HTML, and JavaScript is desired. Bachelors degree required; MS in computer science desired. External/Internal.

Send resume to: dseresumes@amazon.com



Database Engineer
Amazon.com is seeking a talented Database Engineer to help build the next generation of the Amazon.com database platform. The ideal candidate will have experience with massively concurrent and highly available distributed database systems. You should have a proven ability to rapidly master complex new skills and concepts, as well as the ability to work independently towards self defined goals. Strong interpersonal communication skills are required.

Tasks/Responsibilities: Identify, evaluate and evangelize new database and data management technologies. Juggle multiple development projects spanning many teams. Document, benchmark and support your work while it is being implemented to run the leading online retail site.

Skills/Experience: A proven track record in building innovative, unconventional and successful approaches to systems architecture, performance tuning, backup and recovery, high availability and scalability. Strong Oracle RDBMS experience is required. Knowledge of additional DBMS technologies, supporting infrastructure components, including operating systems, hardware/storage configurations and networks is preferred. Excellent LINUX skills and a grasp of fundamental computing concepts such as system memory management and program debugging is plus.

Send resume to: dseresumes@amazon.com


[Top of Page]


Messaging Technologies

Senior Software Development Engineer
Do you believe that message-based design is fundamentally the right way to build a distributed system? Are you interested in making software that is challenged to meet new scaling and performance needs everyday?

Amazon.com is looking for an experienced technical expert in messaging technologies to join our Distributed Systems group as a Senior Engineer. The Distributed Systems group is responsible for all the hard-core technical components that drive Amazon's huge multi-tier service-oriented architecture. You will help implement messaging infrastructure that has availability, reliability and performance guarantees. You need to not only be a top software developer with an established track record of delivering, but also excel in communication, leadership and customer focus. If you want to test your limits and tackle technical challenges you won't see anywhere else then come join our group.

Qualifications/Necessary Skills:

  • 5+ year's enterprise infrastructure software experience.
  • Strong knowledge of messaging and asynchronous architectures.
  • Deep understanding of infrastructure software architectural and design issues.
  • Deep understanding of performance, memory, I/O, threading.
  • Solid with Object Oriented Analysis and Design (OOA/OOD)
  • Deep systems-level programming skills in Java/C++ (not just application layer experience). Experience developing middleware systems and/or distributed system software is preferred
  • Works well in a team environment and be able to effectively drive cross-team solutions that have complex dependencies and requirements.
  • Experience of working on an open source messaging product is preferred.

Educational Requirements:

  • B.S. in Computer Science or a related field.
  • M.S. in Computer Science or a related field is strongly preferred.

Send resume to: dseresumes@amazon.com



Senior Software Development Engineer
Are you tired of “all standards all the day” syndrome and end up with a feeling of not innovating enough in core technologies? Are you interested in making software that is challenged to meet new scaling and performance needs everyday?

Amazon.com is looking for an experienced technical expert in messaging technologies to join our Distributed Systems group as a Principal Engineer. The Distributed Systems group is responsible for all the hard-core technical components that drive Amazon's huge multi-tier service-oriented architecture. You will help architect and implement messaging infrastructure that has availability, reliability and performance guarantees. Drive server-wide and cross-group initiatives, and be the domain expert. Ivory tower architects need not apply - this is a hands on position where you will be asked to do everything from build rock-solid components to formulate strategy and evangelize technology, lead company-wide architectural changes, mentor other engineers and provide training and support for our supported technologies. You need to not only be a top software developer with an established track record of delivering, but also excel in communication, leadership and customer focus. If you want to test your limits and tackle technical challenges you won't see anywhere else then come join our group.

Qualifications/Necessary Skills:

  • 10+ year's overall development experience.
  • 7+ year's enterprise infrastructure software experience.
  • Strong knowledge of messaging and asynchronous architectures.
  • Deep understanding of infrastructure software architectural and design issues.
  • Effective at architecting complex interactions across several subsystems to resolve real-world issues, articulating the architecture and obtaining buy-in from other teams.
  • Deep understanding of performance, memory, I/O, threading.
  • Solid with Object Oriented Analysis and Design (OOA/OOD)
  • Deep systems-level programming skills in Java/C++ (not just application layer experience).
  • Experience developing middleware systems and/or distributed system software is preferred
  • Outstanding adherence to project deadlines and understands the balance between doing it right and getting the job done.
  • Works well in a team environment and be able to effectively drive cross-team solutions that have complex dependencies and requirements.
  • Experience of leading the architecture of an open source messaging product is preferred.

Educational Requirements:

  • B.S. in Computer Science or a related field.
  • M.S. in Computer Science or a related field is strongly preferred.

Send resume to: dseresumes@amazon.com



Technical Program Manager
Evangelize DSE products, gather customer requirements and feed back to development teams. Drive internal DSE projects (e.g. building out documentation systems, bug tracking, critical operational tools, etc)

Qualifications/Necessary Skills: :

  • 5+ year's of technical project management experience, plus noteworthy experience in managing complex and large-scale and technology projects.

Candidates must have excellent project management skills, a computer science degree (MBA a plus), great analytical skills, superb communication skills, strong business judgment, outstanding distributed system knowledge, demonstrated ability to achieve stretch goals in an innovative and fast paced environment, proven track record for product delivery, able to fit in well within an informal startup environment, and establish credibility with smart engineers quickly. Qualified candidates should have 5 years of program management experience and/or well documented experience in fleet improvement or software performance re-factoring. Broad systems and software skills in the following areas: Solid C/C++, Perl or Java experience; Oracle or any commercial RDBMS a plus; Unix/Linux platform experience preferred.

Send resume to: dseresumes@amazon.com


[Top of Page]


Request Reply Frameworks

Software Development Engineer
Are you interested in building real world distributed systems at extreme scale? Are you up for the challenge of designing client server components that are highly optimized for performance, system availability, and reliability? Does the idea of working on extremely technical projects with direct business implications excite you?

Amazon.com's Distributed System Engineering department is looking for talented engineers to join its Request Reply technology team. Distributed System Engineering is responsible for creating the hard-core technical components that drive Amazon's massive multi-tier service-oriented architecture. As a member of the Request Reply team you will create components that will be used to build one of the biggest distributed systems on the planet. You need to be a top software engineer with: a passion for working with complex large scale systems, excellent communication skills, a deep technical knowledge of Java and C++, and the ability to deliver high quality results.

Qualifications / Necessary Skills:

  • Minimum of a B.S. in Computer Science or in a related field.
  • Deep knowledge of Java and C++.
  • Strong understanding of performance, memory, I/O, and threading.
  • Excellent architecture and design skills.
  • Experience developing middleware and/or distributed systems is highly advantageous.
  • Experience developing library level code is highly advantageous.
  • Deep systems level engineering skills are a major asset.
  • The ability to analyze and understand complex systems is a major asset.
  • Strong leadership skills are highly desirable.

Send resume to: dseresumes@amazon.com


Senior Software Design Engineer
Are you up for the challenge of designing the software that underpins Amazon's massive multi-tier service-oriented architecture? Are you passionate about service description, discovery, and development technologies?

Amazon.com's Distributed Systems Engineering department is looking for a Senior Software Design Engineer to drive the technical direction as a web services domain expert. As a member of the team you will:

  • Play a leading role in defining, developing, and delivering the future of Amazon's service architecture.
  • Introduce innovations in the overall systems architecture in areas such as semantic flexibility, quality of service, data typing and ownership, versioning, security, and discovery.
  • Research and develop cutting edge concepts and emerging technologies.
  • Be very hands-on; lead architectural discussions, collaborate on design issues, conduct design and code reviews, and implement solutions.
  • Have relentlessly high standards of yourself and those you mentor.
  • Develop solutions that utilize Java, C++, XML, JSON, HTTP, SOAP, REST and other technologies.
  • Drive cross-group and company-wide initiatives.

Qualifications / Necessary Skills:

  • Minimum of a B.S. in Computer Science or in a related field.
  • 10+ years overall development experience and 7+ years enterprise software experience.
  • Deep understanding of service oriented architectures.
  • Thorough knowledge of internet protocols.
  • Solid understanding of performance, memory, I/O, and threading.
  • Hands on experience with data formats including XML and JSON.
  • Experience developing middleware systems and/or distributed system software is preferred.
  • Experience developing library level code is highly advantageous.
  • Strong leadership skills are highly desirable.

Send resume to: dseresumes@amazon.com


[Top of Page]



Copyright 2007, Amazon.com, Inc. All rights reserved.