Principal Software Engineer
Location: Redmond, Washington
Job Type: Full time
Have you ever imagined the world with an infinite amount of storage available and accessible to everyone? A place where everyone in the world can easily access their books/music/photos/video/any data from anywhere at any time via any means (e.g. mobile phones, tablets, PCs, smart devices, etc). Did you ever desire a universally accessible storage system to record all the knowledge known to mankind, to keep all the books/music/videos ever created, or to store all the data collected from all the scientists in the world for them to collaborate upon? Do you want to be part of a team that strives to bring these to reality?
If so, the Microsoft Azure Storage team is what you are looking for. We are building Microsoft’s cloud storage solution - Microsoft Azure Storage, which is a massively scalable, highly distributed, ubiquitously accessible storage system, designed to scale out and serve the entire world. We continue to have tremendous hockey stick growth, we have many Exabyte’s of data stored, and are designing and building systems for Zettabyte scale to support demand growth for the coming years.
We are looking for engineers who are passionate about distributed storage, more specifically in the areas of Index management and/or Garbage Collection for distributed systems and want to work on a fast-paced team with talented engineers. The Azure Storage Index management engine runs on hundreds of thousands of servers, indexing data at exabyte scale while serving hundreds of millions of requests per seconds at low latency. The Azure Storage Garbage Collection defragments and reclaims unused data blocks within storage system at exabyte scale with very efficient resource consumption. Both these areas are unique in that a single change can result in many millions of dollars of impact on top of delighting customers. Additionally, these areas present challenging technical problems in a space where innovation is always happening.
To be successful in these areas, you must thrive while solving challenges related to durability, availability and concurrency for a distributed system. You will have an opportunity to make high impact changes daily as you build a hyper scale storage system that may indirectly or directly be used daily by your friends and family.
- 10+ years of professional software development experience building scalable, distributed services with C++,
- BS or higher in Computer Science, Computer Engineering, or Electrical Engineering
- MS/PhD in Computer Science, Computer Engineering, or Electrical Engineering
- A passion for distributed systems and large-scale storage
- Experience with transaction and indexing system
- Experience with multi-threaded/parallel programming
- Excellence in software engineering practices, coding and solid foundation in data structures, algorithms with strong testing, debugging and analytical skills
- Proven ability to plan, schedule and deliver quality software
Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include, but are not limited to the following specialized security screenings: Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud background check upon hire/transfer and every two years thereafter.
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.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.