Senior Software Engineer (Front End Systems)
Microsoft - $117,200 - $229,200
Redmond, Washington, United States
full time
17 Mar 2025
Microsoft is on a mission to build platforms and products that create and complete magical experiences across Microsoft, to empower every person and organization to achieve more.
As part of that mission, Microsoft Devices Software team is on a journey to create new experiences on the Windows platform. A fundamental part of our strategy is creating powerful leading products that enable the experiences people want. Creating these new experiences and devices involves close partnership between hardware engineers, software engineers, designers, along with the various partners that closely collaborate to create industry defining firsts. Our customer obsession and our passion for technical excellence are reflected in every product that we ship.
We're looking for a talented Senior Software Engineer (Front End Systems) to work across firmware, drivers and the Windows platform to deliver next generation experiences.
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.
Required Qualifications
- Bachelor's Degree in Computer Science or related technical field AND 4+ years technical engineering experience designing, developing and debugging in C/C++.
OR equivalent experience - 1+ year Working experience with debugging hardware/firmware/software interaction during bring-up and subsequent updates.
- 1+ Year Hands on experience in Operating Systems, Kernel, Subsystems and Drivers.
- 1+ year Experience working with Human Interface Devices (HID) and underlying wire protocols (i.e. UART, I2C, SPI and/or USB protocols).
Additional or 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. - Experience developing Win32 applications.
- Windows Kernel Subsystems knowledge (eg Scheduling, Cache, Error Handling, etc).
- Working knowledge of OS primitives: memory management, scheduling, interrupts, threading and ACPI is an added advantage.
- Must be able to learn, understand, and apply new technologies.
- Ability to effectively prioritize and execute tasks.
- Good to have knowledge in Azure.