Skip to main content

Principal Software Engineer, AWS DynamoDB

Job ID: 2755966 | ADCI - Karnataka

DESCRIPTION

Are you interested in building and operating some of the largest distributed systems on the planet? In AWS DynamoDB, our mission is to provide customers with best in class cloud data services to store, query and analyze the enormous datasets that their businesses generate. We build distributed storage, index and query systems that are scalable, fault-tolerant, low cost, and easy to manage and use. These are exciting times – we are building out an elite team of developers in Bangalore working on ambitious initiatives to keep pace with global demand for DynamoDB. Check out this video (https://www.youtube.com/watch?v=fhnAvn2YxZA) for one example on how DynamoDB helps its customers scale their database needs.

We’re looking for a principal engineer with expertise, ambition and passion in solving difficult problems in distributed systems – experience with parallel query processing, distributed caching, or transaction processing are all big pluses.

As a senior technical leader, you will join the ranks of Amazon’s most senior Technical Community, a cross-company collective of Principal, Senior Principal and Distinguished Engineers. This group helps establish technical standards and drives AWS’s overall technical architecture and engineering practices. These leaders work on AWS' hardest problems, building high quality, architecturally sound systems that are aligned with our business needs. AWS' senior technical contributors are pragmatic visionaries who can translate business needs into workable technology solutions. Their expertise is deep and broad; hands on, producing both detailed technical work and high-level architectural designs but, driven to engage with business problems and leaders to invent simple solutions with real-world application.

About the team
The BLR team owns the caching and streaming (Change Data Capture) solutions currently. We are building the next generation of these services, which will achieve better performance, lower cost, and higher scale.

BASIC QUALIFICATIONS

• BS degree or higher in CS with a minimum of 15 years of relevant, broad distributed systems engineering experience
• Proven track record of leading the delivery and operations of large-scale, mission-critical distributed systems
• Deep hands-on technical expertise in at least one relevant technical area: distributed algorithms, database storage and query engines, etc.
• Experience managing complex projects, with significant bottom-line impact
• Experience playing a visionary technical leadership role within a large organization
• Ability to work in a fast paced and agile development environment

PREFERRED QUALIFICATIONS

• Practical experience with data coherency protocols and their implementations
• Strong knowledge of data structures, algorithms, asynchronous architectures and distributed algorithms
• Deep understanding of system performance tradeoffs, work scheduling, and engineering for high availability
• Masters or PhD in Computer Science.
• Experience with high performance transactions, time ordering and near time message processing
• Experience with multi-phase commit protocols, transaction control in a distributed system