Principal Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+19 more
Job description
The candidate will work closely with architects, silicon design teams, firmware developers, operating system engineers, and system integration teams to define requirements, enable new capabilities, optimize platform performance, and drive resolution of complex hardware and software issues throughout the product lifecycle.
Success in this role requires a self-starter who thrives in ambiguous environments, takes ownership of technically challenging problems, and effectively drives collaboration across internal Microsoft teams and external silicon and hardware partners.
- Collaborate with teams across Microsoft and the Windows Ecosystem (Independent Hardware Vendors (IHVs) & Original Equipment Manufacturers (OEMs)) to debug reliability and stability issues across a wide variety of platforms.
- Develop kernel and user mode components for Windows to enhance diagnostic and debugging capabilities at scale that meet our security and privacy standards.
- Envision processes and develop infrastructure that efficiently integrates the new diagnostic data for teams in Windows, IHVs and OEMs to put into practice.
The ideal candidate combines deep low-level system knowledge with a passion for problem solving, automation, and product quality, and is excited to influence next-generation silicon platforms from initial bring-up through production readiness.
Requirements
We are seeking a driven Principal Software Engineer with a background in Windows development to actively contribute towards the delivery of high quality, compelling Windows experiences on innovating silicon platforms. The candidate will play a key role across multiple phases of silicon development, platform validation, and product enablement. Responsibilities include prototyping and evaluating new hardware and software designs, bringing up new SoCs and platforms, validating hardware and firmware features, debugging system-level issues, analyzing performance, and developing scalable automation frameworks and regression test suites., * 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.
- OR equivalent experience., * A Bachelor’s degree in Computer Science, Computer Engineering or other relevant field of study combined with similar relevant work experience.
- 7+ years of experience in software and/or product development.
- Demonstrated experience with C/C++ design, coding, debugging and testing skills.
- Solid communication skills required, including the ability to clearly express technical concepts in verbal and written forms.
- Solid understanding of SoC architecture, platform bring-up, boot flows, and system initialization.
- Experience with silicon validation, hardware debugging, and root cause analysis across hardware, firmware, and software layers.
- Knowledge of platform technologies and peripherals including PCIe, NVMe, USB, I2C, SPI, UART, GPIO, and power management.
- Solid understanding of operating system fundamentals, including memory management, scheduling, interrupts, synchronization, and multithreaded programming.
- Experience developing, debugging, and optimizing device drivers in Windows or Linux environments.
- Familiarity with Plug and Play architecture, device enumeration, power management, and driver lifecycle management.
- Experience with kernel debugging, crash dump analysis, hardware debuggers, and JTAG-based bring-up and validation tools.
- Proficiency in designing maintainable, modular, and reusable software components with a focus on scalability and long-term supportability.
- Experience developing automated validation frameworks, test infrastructure, and regression suites for pre-production and production hardware.
- Solid analytical and troubleshooting skills with the ability to debug issues across silicon, firmware, drivers, operating systems, and applications.
- Proven ability to collaborate effectively with cross-functional teams and external partners to deliver solutions that scale across multiple product generations and architectures.
- Experience working in Agile development environments and applying Scrum methodologies to deliver high-quality engineering outcomes.
W+DJOBS
WSSI
Co-engineering
About the company
Microsoft Windows & Devices team is on a journey to deliver iconic end-to-end products across hardware, software, and services that people love and use every day. A fundamental part of our strategy is having desirable and powerful devices that enable the experiences people want. Creating these new experiences and devices involves close partnership between hardware engineers, software engineers, designers, and manufacturing along with the various industry partners that closely collaborate to create industry defining firsts. Our obsession for the right experience with our passion to enable everyone to do and be their best is reflected in the devices that Windows ships.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How software is steering vehicle technology
What is Software Engineering?
Where To Find Software Engineering Jobs
Software Engineer Career: Things You Should Know