Are you a Principal Software Engineer with a passion for technology and experience working with complex distributed systems and infrastructure?
Come join the M365 Substrate Workload Management team and help us transform from our backend resource-based throttling engine into a full-fledged workload scheduling system! You will be building services and components that will be used by every M365 app.
Substrate is the single platform for storage and analysis of customer data at Microsoft. It is a compliant, highly scalable, and highly available service that is used by millions. The Workload Management team enables the platform to balance high availability, latency, hardware utilization, and service costs. As the Substrate platform evolves, we have many opportunities to extend our reach and to support throttling and scheduling to more and more M365 scenarios.
Responsibilities
- Drive projects directly impacting resource utilization, such as power, by workloads and backend servers.
- Write production code as well as monitor solutions, create reports, and conduct performance analysis.
- Understand the evolving hardware and workload scenarios.
- Work in close partnership with teams like High Availability, Load Balancing, Capacity and Performance, and Azure Resource Central to keep making workload scheduling solutions better.
- Proactively look for new ways to improve the service and its quality.
Qualifications
Required/Minimum 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, JavaScript, or Python.
OR equivalent experience.
Preferred Qualifications:
- Have technical leadership experience of guiding team members in complex long-term projects.
- Communicate the design, project progress, and ideas clearly, both in writing and in a real-time setting.
- Have 6+ years technical engineering experience with coding in two or more programming languages, such as C#, F#, Python, TypeScript/modern JavaScript, Rust, or C.
- Write idiomatic code in programming languages of your choice and aim for simplicity when solving problems.
- Share what you learn in a clear and concise manner after investigating complex production issues.
- Be proactive and show initiative.
- Have experience in one or more of the following: performance analysis, Quality of Service (QoS), scheduling algorithms, simulation modeling, queueing theory, process calculus, quantitative formal modeling.
- Have experience with configuration management and monitoring tools, the Azure platform, e.g., Azure Monitoring and Diagnostics, Azure Data Explorer.
- Knowledge of the Windows internals.
Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $133,600 - $256,800 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $173,200 - $282,200 per year.
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:
Microsoft is an equal opportunity employer. Consistent with applicable law, all qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances.
If you need assistance and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.
#J-18808-Ljbffr