Are you passionate about building a large-scale, distributed, highly available, and reliable in-memory database? We are building in-memory services, powered by open-source, and optimized for sub millisecond latency at scale. Come and join us to define the future of NoSQL at AWS.
As a Software Engineer in our NoSQL and in-memory database team, you will develop large-scale, distributed in-memory databases with sub-millisecond latency. You will leverage open source technologies like Redis, Memcached, and Amazon proprietary technologies. This includes data plane extremely fast and high throughput development, low level optimizations, asynchronous messaging, event-based technologies, real-time failure detection system, horizontal and vertical scaling, auto-remediation, high availability, fault tolerance, storage technologies, snapshoting, and disaster recovery.
In this role, you will develop significant portions of the product and serve as a mentor for other engineers in their areas of work. You will work to enable a quality product and set the groundwork for success in the next phase of the product and beyond. A commitment to teamwork, hustle, and strong communication skills (to both business and technical partners) are absolute requirements. Creating a reliable, scalable, and high-performance service requires exceptional technical expertise, a sound understanding of the fundamentals of Computer Science, and practical experience building large-scale distributed systems. You should be someone who enjoys working on complex system software, is customer-centric, and feels strongly about building good software as well as making that software achieve its operational goals.
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 systems throughout the industry.
Inclusive Team Culture
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led 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.
Our team puts a high value on work-life 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.
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.
- 2+ years of non-internship professional software development experience
- Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
- 8+ years of relevant, broad engineering experience
- Deep hands-on technical expertise in at least two or three major technical areas: large scale systems engineering, building complex distributed systems, low level performance optimization
- Experience working with lock-free algorithms and data structures
- Excellent writing and verbal communication skills
- Bachelor's degree in Computer Science or equivalent
- Experience in developing complex software systems that have successfully been delivered to customers
- Desire to build services from the ground up
- Experience working with in-memory caching and database technologies, including Memcached and Redis
- Experience working with lock-free algorithms and data structure