Senior Software Development Engineer - In-Memory Distributed Systems

3+ months agoVancouver, Canada


Are you excited to create next generation of cloud computing? Are you willing to solve tomorrow's computing problems today? Are you passionate to solve some of the biggest distributed computing problems at AWS? If your answers are, "YES!", then Amazon ElastiCache team is for you. Come work with the folks who are not only building a highly-available and scalable in-memory distributed service but also influencing the direction of NoSQL, and Open Source Software (OSS) at AWS.

It's still Day1 for us and we're working on new initiative to expand ElastiCache availability beyond cloud.

As a software developer working on ElastiCache, you will be building the next generation technologies that change how millions of AWS customers connect, and interact with AWS services ecosystem. You will work on ideas from every facet of computer science including distributed computing, large-scale design, big and real-time data processing, data storage, service-oriented architecture, and networking. In day to day work, you will be pushing boundaries of CAP theorem, consistent hashing, multi-master replication, Merkle trees, leader election or Paxos algorithm, gossip protocols, tiered storage, this is an opportunity to get your hands dirty with a real-world solution implementing these distributed system concepts.

Job responsibilities include but not limited to followings
• Applying innovative software design and programming skills to build highly-performant distributed systems.
• Design and develop for achieving sub-microsecond latency (millisecond latencies are done and dusted by us).
• Demonstrate leadership qualities by pushing technology forward and solving tomorrow's computing problems now.
• Manage individual projects priorities, deadlines, and deliverables.
• Own design, develop, test, deploy, maintain, and enhance software solutions.
• Showcase diagnosis skills while supporting services which you made.
About Us

Inclusive Team Culture
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employeeled affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon's culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.

Work/Life Balance
Our team puts a high value on work-live balance. It isn't about how many hours you spend at home or at work; it's about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.

This position involves on-call responsibilities, typically for one week every two months. We don't like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault tolerant. When we do get paged, we work together to resolve the root cause so that we don't get paged for the same issue twice.

Mentorship & Career Growth
Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future.


• 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


• Relevant advanced degree
• 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
• Knowledge and experience with operating systems internals, database kernels, networking, distributed systems and virtualization are a plus Familiarity with Redis or Memcached
• Experience in writing blogs, and working with the customers
• Experience with plugin development for IDEs
• Strong desire to build great tools for other developers
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit

Job ID: Amazon-1368554