Accelerators like GPUs and NPUs power a vast array of important technologies, from the AI/ML advances we see every day in the headlines to streaming infrastructure, virtualizing the desktop, and rendering 3D for movies and games.
Our team is responsible for the kernel components at the heart of graphics and compute device support in Windows. We drive the evolution of the Windows Display Driver Model (WDDM) and the Microsoft Compute Driver Model (MCDM), and we own a large breadth of functionality that enables heterogeneous compute on accelerators such as GPUs and NPUs in the Windows ecosystem. We’re responsible for accelerator technologies such as scheduling, memory management, and virtualization both for cloud and client environments (including our Linux support through WSL), along with much more. Our team has partnerships with teams across Microsoft, including Azure, Xbox, and Surface and with our Independent Hardware Vendor (IHV) partners such as AMD, Intel, NVIDIA, Qualcomm and more. We are at the forefront of this field and are an active participant in evolving the role of GPUs and other compute devices in our ever-growing ecosysteFm.
In Core OS, we are responsible for the Operating Systems that power Azure, Microsoft's Linux OS, the platforms for Windows Client and Xbox, and our Windows Server ecosystem – through all of these, we support every one of our cloud businesses and billions of customers around the world. In this era of ubiquitous computing, systems software excellence has never been more important for Microsoft. High quality, high-efficiency operating systems and platform components underpin everything we do as a company, from making our systems more reliable for our customers, to increasing our competitiveness by reducing COGS, to delivering new features and capabilities to delight customers – that’s all us!
We’re looking for a Senior Software Engineer who is passionate about OS internals and heterogeneous compute technology generally, to help develop new content and workload management features to support this quickly evolving field. Candidates should have good quality habits, good understanding of OS internals, debugging skills, and enjoy challenging investigation.
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
- Design and implement new features that drive DX leadership in the accelerator space.
- Evaluate device performance in critical pathways around memory management and availability to compute
- Investigate and root cause failures in both live environment and postmortem
- Provide support to the team and partners as they bring their devices to market.
- Embody our Culture & Values
Qualifications
Required Qualifications:
- Bachelor's Degree in Computer Science, or related technical discipline AND 4+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python or Rust
- OR equivalent experience.
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.
Preferred Qualifications
- Bachelor'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 Master's Degree in Computer Science or related technical field 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.
- Proficient Computer Science fundamentals with good knowledge of OS fundamentals
- Experience with kernel driver development and knowledge of virtualization preferred
- Technical design, problem-solving, debugging and communication skills
- Interpersonal and collaboration skills
- Demonstrated experience in shipping high quality products and services
Software Engineering IC4 - The typical base pay range for this role across Canada is CAD $108,100 - CAD $199,700 per year.
Find Additional Pay Information Here
https://careers.microsoft.com/v2/global/en/canada-pay-information.html
Microsoft will accept applications for the role until September 11, 2024.
#CoreOSJobs
#AEPJobs
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.