Logo
Microsoft Corporation

Principal Software Engineer

Microsoft Corporation, Sunnyvale, California, United States, 94087


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 by:

Creating iconic end-to-end products across hardware, software, and services that people love and use every day

Leading and inspiring the industry through innovation and technology, enabling our ecosystem of partners to thrive

Growing our business and the business of Microsoft

Microsoft Windows & Devices Software team is on a journey to create new experiences on the Windows platform. 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, along with our passion to enable everyone to do and be their best, is reflected in the devices that Windows ships.

We are looking for a Principal Software Engineer who will be involved in multiple facets of silicon development, validation, and support. Including prototyping new designs, validating, debugging new hardware features, System-on-Chip (SoC) bring up, debugging device drivers, performance analysis, and developing automated regression test suites.

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.

In alignment with our Microsoft values, we are committed to cultivating an inclusive work environment for all employees to positively impact our culture every day.

Responsibilities

The Principal Software Engineer will be a self-starter with the ability to facilitate cross group collaboration across Microsoft internal groups and external partners. You will interact with architects, hardware design teams, software and firmware teams, and systems teams for feature definition and refinement, hardware support, optimization, and debugging.

The Principal Software Engineer will be responsible for:

SoC bring-up, bootloaders, platform initialization, peripherals such as PCIe, NVMe, I2C, SPI, USB, UARTs. Operating System (OS) primitives, memory management, scheduling, interrupts, threading.

Diving the implementation and debugging of device drivers: .

Leveraging Plug-and-Play manager and its mechanics.

Familiarity with kernel debugging / hardware debugging (JTAG).

Stress on modular design and code reuse to achieve maintainability.

Collaborate with internal and external teams to find solutions that are leverageable across multiple architectures and generations.

Work effectively in an Agile environment following and practicing Scrum processes

Other

Embody our Culture (https://www.microsoft.com/en-us/about/corporate-values) and Values (https://careers.microsoft.com/us/en/culture)

Qualifications

Required/Minimum Qualifications

Bachelor's Degree in Computer Science, or related technical discipline AND 6+ years technical engineering and kernel debugging experience with coding in languages including, but not limited to, C, C++, or C#.

OR equivalent experience.

Additional or Preferred Qualifications

Bachelor's Degree in Computer Science, or related technical discipline AND 10+ years technical engineering and kernel debugging experience with coding in languages including, but not limited to, C, C++, or C#.

OR Master's Degree in Computer Science or related technical field AND 8+ years technical engineering and kernel debugging experience with coding in languages including, but not limited to, C, C++, or C#.

OR equivalent experience.

Experience prototyping new designs, validating, debugging new hardware features, SOC bring up, debugging device drivers, performance analysis, and developing automated regression test suites.

Effective problem solving, debugging, and troubleshooting skills

Experience in collaborating with internal and external partners to understand their requirements and translating them into solutions

Understanding schematics, OS primitives: memory management, scheduling, interrupts, threading and ACPI is an added advantage

Knowledge of test automation and SOLID design principles

Experience with GIT, JTAG, JSON, Python, XML is highly desirable

Ability to quickly ramp-up on complex and unfamiliar code

Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $133,600 - $256,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 $173,200 - $282,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

Microsoft will accept applications for the role until November 10th, 2024.

#WSSIJobs

Microsoft is an equal opportunity employer. Consistent with applicable law, all qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations (https://careers.microsoft.com/v2/global/en/accessibility.html) .