OverviewWe 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.
ResponsibilitiesThe 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.
QualificationsRequired Qualifications: - 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.
Preferred Qualifications:- 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
Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $142,800 - $274,800 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $188,000 - $304,200 per year.
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:
https://careers.microsoft.com/us/en/us-corporate-pay
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.