The AWS Serverless Storage team is seeking an exceptional software engineer to help develop a distributed in-memory data store for high-throughput, high-volume data processing in big data analytics and Artificial Intelligence (AI) workloads.
Serverless Storage is an innovative platform designed to solve unique challenges in data exchange, processing, and handling for large-volume datasets. As an engineer on the Serverless Storage team, you will be responsible for building core features of an in-memory data store, leveraging the Rust programming language's advanced memory safety and concurrency capabilities. Your role will involve developing efficient, scalable data persistent APIs that can adapt to various use cases. You will contribute to foundational protocols and communication mechanisms that enable seamless data sharing across distributed systems. Performance optimization will be a critical aspect of your work, requiring you to continuously improve CPU, memory, and disk utilization at the node level.
On the Serverless Storage platform control side, you will build and maintain high-throughput, high-availability microservices to manage and control the cluster lifecycle. Your system will efficiently manage cluster deployments on EC2/ECS/EKS, with the ability to dynamically scale services and safely roll out software updates.
We are seeking a self-motivated individual who is passionate about learning new technologies and can adapt to a fast-paced development environment. Our goal is to build a strong engineering team characterized by exceptional collaboration and communication. We expect strong ownership, the ability to work independently, and consistent delivery of results. You should be comfortable communicating effectively with peers, management, and stakeholders about projects and assignments.
Key job responsibilities
- Design and implement a large-data, high-performance distributed data storage system
- Develop service on EC2/ECS/Kubernetes
- Develop system-level software using Rust and Java programming language
- Build scalable infrastructure on AWS cloud platforms
- Integrate advanced data solutions with AI and big data technologies
- Collaborate with Spark and other big data ecosystem technologies
- Create high-performance, distributed computing architectures
- Deliver systems and features with top-notch quality, on time.
- Own the end-to-end Software Development Life Cycle (SDLC).
About the team
Our team's mission is to build the best high-performance high-throughput storage technology to provide the best experience for the customer. We have the talented engineers and technical leaders on the team.
BASIC 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
PREFERRED QUALIFICATIONS
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent