Senior Software Engineer – High Availability Team


Azure Cosmos DB - first globally-distributed, multi-model database service

Senior Software Engineer – High Availability Team
Senior Software Engineer – Cosmos DB High Availability Team, multiple positions available
 
Who We Are 
We are the engineers on Azure Cosmos DB. We believe that building a globally distributed database service from the ground-up which addresses the fundamental pain-points of developers, is an opportunity of a lifetime. If you share the same dream as us, come join us!

What is Cosmos DB?
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database. Azure Cosmos DB was built from the ground up with global distribution, fine-grained multi-tenancy and horizontal scalability at its core. Cosmos DB started inside Microsoft as “Project Florence” in 2010, with a mission to build a database that is truly designed for the cloud. Fast forward to today - Cosmos DB is one of the fasting growing services in Azure and is the de-facto database for the mission critical applications for both, Microsoft as well as, enterprises all around the world using Azure.

In Cosmos DB, we are constantly seeing to apply the best ideas from distributed systems, database, machine learning, information retrieval, networking, and security.

Who You are
You have strong computer science fundamentals and are passionate about scale, quality, and performance. You have experience with user interfaces, distributed systems, and asynchronous programming.

Requirements:
  • BS or higher in Computer Science or related discipline (or equivalent experience)
  • Ability to write reliable, maintainable, performant C++ or C#/Java code and deploy and debug in a multi-machine environment.
  • Strong computer science fundamentals, algorithms, and data structures background
  • Growth mindset with a deep desire to learn and grow in responsibilities
  • Ability to design large-scale software systems independently
We are committed to an inclusive and diverse culture. We have teams in Redmond, India, Mexico, Argentina, Switzerland, Vancouver. You can work from any part in the world.

What You'll Do  
As an engineer on the Cosmos DB High Availability Team, you will be at the forefront of building a high availability subsystem, which is at the core of the global distribution. The high availability subsystem comprises of a state-of-the-art multi-master replication protocol, which supports multiple well-defined consistency models, fully resource-governed and deeply integrated with Cosmos DB’s database engine. If you have (repeatedly) read the Bayou/Dynamo/PNUTS papers, have used Jepsen or played with TLA+, you will love working on this team. You will get to be a part of the team building one of the most innovative and ambitious globally distributed databases.

Join the Cosmic mission and help us shape the future of distributed databases and solve the pain-points of developers writing planet-scale apps!
 
How to Apply
Send your resume to joincosmosdb@microsoft.com with pointers to the code you are most proud of.

                                                                                              ***
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.