About the Role
Overview
We are seeking a Senior Software Engineer to lead complex, cross-domain debugging across Windows, drivers, firmware, and SoC hardware for Microsoft Surface devices.
Based in Redmond, Washington, this role is part of the Surface Devices software organization. You will collaborate with silicon vendors, firmware developers, electrical and quality engineers, system architects, independent hardware vendors, and Windows engineering teams across the United States and Asia.
Surface devices bring together hardware, firmware, drivers, and Windows to deliver integrated customer experiences. Diagnosing failures in this environment requires the ability to trace a user-visible symptom across multiple layers of the system—from Windows kernel behavior and device drivers to firmware execution and underlying hardware.
In this role, you will lead the investigation of complex and ambiguous system failures, establish clear root cause, and coordinate solutions across organizational and technical boundaries. You will also develop tools, telemetry, and engineering practices that improve debugging efficiency and strengthen the reliability, security, and quality of future Surface products.
In alignment with our Microsoft values, we are committed to cultivating an inclusive work environment that enables every employee to contribute positively to our culture.
Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees, we bring a growth mindset, innovate to empower others, and collaborate to achieve our shared goals. We act with respect, integrity, and accountability to create an inclusive culture in which everyone can thrive at work and beyond.
Responsibilities
- Lead end-to-end investigation of complex failures spanning Windows, device drivers, embedded firmware, and SoC hardware, including kernel bugchecks, system hangs, boot failures, unexpected resets, and power-management issues.
- Analyze Windows kernel and crash-dump data using WinDbg and related tools to diagnose bugchecks, deadlocks, memory corruption, driver defects, and Driver Verifier findings.
- Debug SoC and embedded firmware using Lauterbach TRACE32, JTAG, and equivalent tools to identify firmware hangs, boot and reset failures, and processor or peripheral faults.
- Collaborate with silicon vendors and partner teams across firmware, electrical engineering, quality, systems architecture, and Windows to drive issues from initial investigation through root cause and resolution.
- Design and implement debugging tools, telemetry, diagnostics, and automation that improve failure detection and triage in development and production environments.
- Mentor engineers and strengthen cross-domain debugging capabilities through technical guidance, design and code reviews, reusable practices, and knowledge sharing.
- Improve the security, stability, serviceability, and quality of Surface devices by connecting insights across the operating system, firmware, and hardware layers.
Qualifications
Required Qualifications:
Bachelor's Degree in Computer Science or related technical field AND 4+ 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
Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field AND 4+ years of technical engineering experience developing software in languages such as C, C++, C#, or Rust.
OR equivalent practical experience.
2+ years of experience designing, developing, and debugging system-level software, with a solid understanding of operating system architecture, hardware/software interactions, and low-level system behavior.
2+ years of experience diagnosing and resolving issues in Windows operating system drivers and/or system software, including kernel debugging, crash-dump analysis, and root-cause investigation using tools.
Requirements
Technical Engineering Experience
4+ years of technical engineering experience with coding in languages such as C, C++, C#, Java, JavaScript, or Python.
System-Level Software Debugging
2+ years of experience designing, developing, and debugging system-level software.
Windows Kernel Analysis
Experience analyzing Windows kernel and crash-dump data using tools like WinDbg.
Embedded Firmware Debugging
Experience debugging SoC and embedded firmware using tools like Lauterbach TRACE32.
Nice to Have
Experience developing software in Rust is preferred.
A background in electrical engineering can be beneficial.
Benefits
Inclusive Work Environment
Microsoft is committed to cultivating an inclusive work environment.
Growth Mindset Culture
Employees are encouraged to bring a growth mindset and innovate.