Principal Software Engineer

MicrosoftRedmond, WA
$142,800 - $304,200Hybrid

About The Position

Windows + Devices powers experiences for over a billion users worldwide, building the platforms and products that create magical experiences across Microsoft and leading the Windows and Surface products through deep partnership across the company and with OEM partners. The Windows Engineering System is the backbone that lets Windows engineers design, code, build, validate, and ship at massive scale, securely and with high quality. Debugging is central to that quality bar: when something breaks deep in the operating system, a driver, or the kernel, our debugging tools are what let engineers find the root cause and fix it fast. This team builds the debuggers, kernel-debugging transports, and time-travel technologies that make Windows diagnosable end to end, relied on every day by Microsoft engineers, hardware partners, and the broader developer community. As a Principal Software Engineer, you will design and develop core debugging technologies, including the Windows debugger and its underlying engine (WinDbg and DbgEng), kernel-mode debugging transports such as KDNET, and Time Travel Debugging (TTD), which records a program's execution so engineers can replay it both forwards and backwards to pinpoint the root cause of the toughest defects. You will work across Windows and Linux and across x64 and ARM64, writing the systems-level code that engineers everywhere depend on to diagnose crashes, hangs, and correctness bugs at the deepest layers of the stack. You will own significant components end to end, designing, implementing, and hardening them for reliability, performance, and security across a broad range of hardware, collaborate closely with product, kernel, silicon, and partner teams to bring up debugging on new architectures and platforms, and help advance AI-assisted debugging so engineers can find answers faster. Your technical depth, strong engineering judgment, and ability to reason about complex systems will be essential to keeping Microsoft's debugging tools the best in the industry. 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.

Requirements

  • Bachelor'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.
  • 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.

Nice To Haves

  • Master's degree in computer science or related technical field AND 6+ years technical engineering experience.
  • Bachelor's Degree AND 8+ years technical engineering experience.
  • Experience building debuggers, debugger engines, or debugging tools for systems-level code.
  • Experience with kernel-mode development or operating-system internals on Windows or Linux.
  • Familiarity with cross-architecture development across x64 and ARM64.
  • Experience with tracing, record/replay, or reverse-debugging technologies.
  • Experience improving the reliability, performance, and security of software at scale.
  • Self-driven and passionate about developer productivity, with excellent communication skills and customer-oriented problem-solving abilities.
  • Proven track record of delivering large-scale, systems-level software across multiple teams and technologies.
  • Experience diagnosing and resolving complex defects in low-level software such as operating systems, kernels, drivers, firmware, or debuggers.

Responsibilities

  • Design, implement, and maintain core debugging technologies spanning the debugger engine (WinDbg and DbgEng), kernel-mode debugging transports (KDNET), and time-travel record and replay (TTD).
  • Own major components end to end, from architecture through implementation, testing, and long-term servicing.
  • Build the extensibility and APIs that let partner teams and the community extend the debugger.
  • Bring up and validate debugging on new hardware, architectures (x64 and ARM64), and platforms (Windows and Linux).
  • Partner across product, kernel, silicon, and OEM teams to bring up debugging on new architectures and platforms and to meet the needs of a diverse user base.
  • Diagnose and resolve deep systems-level defects (crashes, hangs, memory, and concurrency issues) in both user-mode and kernel-mode code.
  • Improve the reliability, performance, and security of debugging tools that are used at massive scale.
  • Uphold a high-quality bar through thoughtful design, code reviews, testing, and engineering best practices.
  • Advance AI-assisted debugging capabilities that help engineers reach root cause faster.
  • Mentor other engineers and raise the technical bar across the team.

Benefits

  • health insurance
  • dental insurance
  • vision insurance
  • life insurance
  • disability insurance
  • 401k
  • flexible scheduling
  • paid holidays
  • professional development
  • learning development program
  • tuition reimbursement
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service