Senior Software Development Manager, In-Memory Storage and Database Computing
Reference ID: 424620
Software and Programming
At AWS, we build the next generation technologies that change how millions of our customers connect, and interact with AWS services ecosystem. We use ideas from every facet of computer science including distributed computing, large-scale design, big and real-time data processing, data storage, service oriented architecture, networking, machine learning, and artificial intelligence. The Database Services team is responsible for setting the database strategy and delivering distributed structured storage services to customers for the relational and the non-relational database segments. We believe that Database Services, while already a large profitable businesses, is in its infancy. Over the next few years, it will represent a very large business. We are looking for an experienced technical leader to take our early lead in the database services market and extend it by defining and delivering industry leading next generation database services architected for the cloud.
Our charter is ElastiCache, ElastiCache is an AWS service that enables users to deploy, manage and massively scale in-memory distributed data stores. Customers include many of the world's fastest growing start-ups, using the service to build low latency, high throughput data layer and improve performance of applications using caching. Amazon ElastiCache helps developers turbo-charge their application performance and simplifies management of Memcached and Redis data stores in the cloud. We heavily use open-source software systems in providing a world-class experience to our customers.
Are you a technical leader with the drive and passion to help us make game-changing innovations in cloud technologies? Do you enjoy building high-performance distributed systems, and solving complex technical challenges in this space? Do you also have a track record of building strong development teams and inspiring them to create simple and effective solutions for customers?
We are looking for highly-motivated and passionate technical leader to build our next generation high performance in-memory distributed data storage platform to solve real-time query, transaction and analytics processing for large scale data applications. The team's charter includes improving open source caching engines, Memcached and Redis, and building the control plane that fully automates management of very large deployments of these engines. It includes projects that extend these engines to improve durability and other guarantees. You will be playing a leading role in solving challenging problems in the distributed systems field.
We are building a high performance, low-latency database where caching and data storage are managed by the single system to support the realm of real-time applications like IoT or mobile apps. We are extending our service from just being an in-memory data store cache, but also provide durable data storage without compromising latency. We are building a new highly scalable and available management plane system using micro-services architecture and a real-time failure detection and auto-remediation system that can detect node failures in our large distributed cluster, initiate and remediate failed nodes within seconds and send notifications to the customers.
In this role, you will take responsibility for growing and leading a database software development team responsible for rethinking the assumptions behind how NoSQL database services were built and thinking how to build these in-memory services best suited for the cloud. You will develop the design, implementation, testing and deployment of these database services. You will draw from your deep and broad technical and management expertise to mentor senior engineers, complete hands-on technical work and provide leadership on complex technical issues, design tradeoffs, and feature and schedule prioritization. This is one of our most strategic technical projects with a long-term vision and an opportunity to deliver both significant business and industry-wide technical impact. As an engineering leader within Database Services, you will also work with senior executives to develop business targets and resource requirements, influence our technical and business strategy, help hire talented engineers and managers, and conceive innovative new solutions for our customers.
Basic Qualifications • 7+ years of hands on experience in software development, including design, implementation, debugging, and support
• 3+ years of people management experience, managing software development engineering teams
• Deep understanding of distributed systems and web services technology
• Experience applying agile methodologies and processes
• Track record of building and delivering mission critical, 24x7 production software systems
• A solid grounding in Computer Science fundamentals, data structures, algorithms and deftness at object-oriented design and systems architecture.
Bachelor's degree in Computer Science or equivalent
Preferred Qualifications • Experience working with in-memory caching and database technologies, including Memcached and Redis
• A solid understanding of performance and efficiency issues.
• Experience with distributed computing and enterprise-wide systems.
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
• Experience influencing software engineers best practices within your team.
• Ability to take a project from scoping requirements through actual launch of the project.
• A strong customer orientation.
• Master's degree in Computer Science or equivalent
Posted: February 24, 2017
Closes:March 18, 2017