Microsoft
Senior Software Development Engineer (Platform Firmware & Drivers)
Microsoft, Redmond, WA
Microsoft Windows Silicon & Systems Integration team (WSSI) 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 element of our strategy is building 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.We are seeking a talented Senior Software Engineer with experience working across silicon, firmware and OS to actively contribute to the software development for Windows and silicon partners and working with Independent Hardware Vendors (IHV), Original Equipment Manufacturer (OEM) and Original Design Manufacturer (ODM) partners to ensure quality of Windows experience on first generation silicon platforms. This position will be responsible for partnering closely with silicon architects, IHVs, Windows OS platform teams and Microsoft 365 app teams to deliver an end-to-end optimized device experience. Come join us as we scale up our organization to meet the challenges of creating new and innovative experiences and delivering devices that people love. 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.Required/minimum qualificationsBachelor'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.2+ years coding in C/C++ developing firmware and/or device drivers.2+ years experience working with and debugging hardware/firmware interactions.Additional or preferred qualificationsMaster's Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR Bachelor's Degree in Computer Science or related technical field AND 10+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.8+ years of experience in software and/or hardware product development.6+ years experience working with and debugging hardware/firmware interactions.6+ years coding in C/C++ developing firmware and/or device drivers.2+ years experience mentoring engineering team members. Rust design and coding skills.Familiarity with the System on Chip (SOC) Hardware architecture and its impact on device and software development cycles.Experience with Windows driver development, debugging strategies and engineering principles, thriving on complex and unfamiliar code bases. Experience with Windows driver and Unified Extensible Firmware Interfaces (UEFI) and FW system optimization for Systems on a Chip (SoCs) is a plusA deep understanding of software lifecycle in a device development environment and the interplay between software and hardware development and schedules.Proven track record of shipping high volume consumer devices.Software Engineering IC4 - The typical base pay range for this role across the U.S. is USD $117,200 - $229,200 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 $153,600 - $250,200 per year.Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $137,600 - $267,000 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 $180,400 - $294,000 per year.Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here: Microsoft will accept applications and processes offers for these roles on an ongoing basis.Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.#WSSICollaborates with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements for a scenario. Drives identification of areas of dependency and overlap with other teams or team members and drives coordination Assures system architecture meets security and compliance requirements and expectations. Defines and develops standardized, repeatable, scalable solutions to guarantee quality. Applies and extrapolates best practices to reliably build code that is based on well-established methods while also applying best practices for new code development.Leads by example within the team by producing extensible and maintainable code. Drives efforts to integrate instrumentation for gathering telemetry data on system behavior such as performance, reliability, availability, usage, and safety mechanisms.Shares best practices and teaches others about new tools and strategies.Embody our Culture and ValuesEmployment typeFull-TimeWork siteUp to 50% work from homeRole typeIndividual ContributorDisciplineSoftware EngineeringProfessionSoftware Engineering