Principal Software Engineer
Microsoft
Are you passionate about building high-performance, cutting-edge software? Do you thrive at the intersection of systems programming, runtime optimization and large-scale application performance? We’re seeking a Software Engineer to drive the evolution of the .NET Garbage Collector (GC) and help shape the future of the .NET runtime.
Today, millions of workloads run on .NET, from enterprise applications to AI-powered services and cloud platforms. The .NET Garbage Collector is at the heart of these systems, ensuring memory efficiency, responsiveness, and scalability. If you love solving deep technical challenges that directly impact millions of developers and AI-powered workloads worldwide, this role is for you.
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.
Responsibilities
Lead architectural discussions and decisions to improve .NET runtime performance, memory management, and throughput.
Collaborate with runtime engineers, compiler developers, and performance developers to enhance garbage collection behaviour.
Mentor and guide other engineers on best practices for high-performance memory management.
Profile and analyze complex memory workloads to identify bottlenecks and propose innovative solutions.
Contribute to defining the roadmap for future GC enhancements and runtime improvements.
Qualifications
- Bachelor's Degree in Computer Science, EE, Computer Engineering OR equivalent experience.
Deep expertise in low-level runtime internals, especially garbage collection, memory management, and performance tuning.
Strong experience with C# and C++ for systems-level programming.
Proven track record of designing and delivering scalable, high-performance runtime systems.
Solid understanding of concurrent programming, multithreading, and low-level system optimization.
Experience profiling memory-intensive applications and interpreting runtime metrics.
Excellent communication and mentorship skills; ability to influence engineering decisions at a senior level.
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.
Microsoft is an equal opportunity employer. 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 with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.