Jobs · Consulting · Washington

Software Development Engineer, ElastiCache

Amazon Web Services (AWS) · Seattle, WA · 2 wk ago
ConsultingFull-time

About the role

This is an opportunity to join one of AWS's most foundational and high-impact engineering teams — the In-Memory datastore team, part of Amazon ElastiCache. We build the next-generation, high-performance in-memory distributed data storage platform that powers some of the world's most demanding real-time applications.

Responsibilities

  • Designing and building the next-generation in-memory NoSQL database platform, enabling developers to create highly available, scalable, and high-performance applications at unprecedented scale.
  • Leading software development of large-scale distributed in-memory storage systems, primarily in Java and C/C++, leveraging open-source technologies such as Redis and Memcached alongside Amazon-proprietary technologies.
  • Developing and operating HTTP/REST services, asynchronous messaging systems, and event-driven architectures that form the backbone of our platform.
  • Building and improving real-time failure detection and auto-remediation systems capable of detecting node failures in large distributed clusters and initiating recovery within seconds.
  • Driving horizontal and vertical scaling capabilities, management and monitoring plane workflows, fault tolerance mechanisms, and backup and restore technologies.
  • Contributing to disaster recovery and prevention strategies to ensure the highest levels of availability and durability for our customers.
  • Mentoring and growing junior engineers on the team, serving as a technical leader and role model for engineering best practices.
  • Managing individual project priorities, deadlines, and deliverables with a high degree of autonomy and accountability.

Qualifications

  • 3+ years of non-internship professional software development experience
  • 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
  • 1+ years of software development engineer or related occupational experience
  • 1+ years of designing and developing large-scale, multi-tiered, multi-threaded, embedded or distributed software applications, tools, systems, and services using: C#, C++, Java, or Perl experience
  • 1+ years of Object Oriented Design experience
  • Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
  • Experience programming with at least one software programming language

Similar jobs