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
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]
|