Principal Software Engineering Manager
Microsoft
Principal Software Engineering Manager
Multiple Locations, Romania
Save
Overview
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 a principal engineering manager who is passionate about distributed storage systems, more specifically in the areas of Index management and/or Garbage Collection and want to work in a fast-paced environment 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 of 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 on a daily basis as you build a hyper scale storage system that may indirectly or directly be used daily by your friends and family. This role offers flexibility to work from home up to 100% of the time.
Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.
Qualifications
- Bachelor's Degree in Computer Science, or related technical discipline AND 6+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, or Python
- OR equivalent experience.
- People management or technical lead experience
- Experience in large scale distributed systems and concurrency.
Other Requirements:
- 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.
- Bachelor's Degree in Computer Science
o OR related technical field AND 10+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python- OR Master's Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- 4+ years people management experience.
- Experience in large scale distributed systems and concurrency.
Responsibilities
- Guides partnership with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements within and across teams.
- Guides teams and leads identification of dependencies and the development of design documents for a product, application, service, or platform.
- Optimizes, debugs, refactors, and reuses code to improve performance and maintainability, effectiveness, and return on investment (ROI).
- Guides team to drive multiple group's project plans, release plans, and work items in coordination with appropriate stakeholders (e.g., project managers).
- Guides team and acts as an expert for Designated Responsible Individual (DRI) and monitors other engineers across product lines, working on call to monitor system/product/service for degradation, downtime, or interruptions.
- Leads product development and scaling to customer requirements and applies best practices for meeting scaling needs and performance expectations and holds accountability for products that do not meet expectations.