Principal Software Engineer

MicrosoftApplyPublished 3 hours agoFirst seen 3 hours ago
Apply
Overview

Do you want to be at the forefront of innovating the latest hardware and systems designs to propel Microsoft’s cloud growth? Are you seeking a unique career opportunity that combines technical capabilities, cross team collaboration, with business insight and strategy?

Join our Compute System Architecture (CSA)team within the System Planning and Architecture (SPARC) organization in Azure Hardware Systems & Infrastructure (AHSI). AHSI is the team behind Microsoft’s expanding cloud business, responsible for delivering the hardware systems and infrastructure for cloud computing across Microsoft Azure, Bing, MSN, Office 365, OneDrive, Skype, Teams and Xbox Live. 

The SPARC organization is responsible for strategy, planning and architecture pathfinding, and manages Azure’s hardware roadmap from architecture concept, through production for Microsoft’s current and future offerings. The CSA team within SPARC is at the forefront of systems architecture and technology pathfinding spanning compute, memory, storage, and system interconnects. Drawing on deep insights of workloads, emerging technology trends, and focused industry engagements, CSA team’s charter is to define and evaluate novel systems architecture innovations through hardware/software co-design and advance them through technical readiness for productization.

The CSA team is seeking a Principal Software Engineer who could be part of the team to develop hardware/software co-design, software prototyping, and building reference designs to enable pathfinding for novel system architecture spanning OS memory management, memory overcommit, memory disaggregation, data acceleration and resource virtualization capabilities. This role has substantial technical responsibilities that require in-depth technical expertise in system software memory management internals, virtualization technologies, virtual machines memory management, memory compression technologies, and memory tiering/pooling systems. The candidate should have proven track-record of co-designing systems innovations collaborating with hardware/software/workload experts, building capable proof of concepts, developing and delivering high-quality reference software, and experience with influencing and driving innovations from concept to productization.

Success in this role requires:

  • Listening to those who operate Azure and their customers to identify current and emerging problems
  • Identifying promising technologies to address problems relevant for Azure business, engaging ecosystem partners, and derisking productization via capable proof-of-concepts 
  • Working across organizational boundaries with roadmap planners, product architects, and hardware and software engineering teams, to land promising solutions in Azure data centers. 
  • Collaborating closely with software principals to influence and accelerate time to solution through software support for hardware technologies in product roadmap. 

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.


Responsibilities
  • Lead full system software prototyping to develop capable proof-of-concepts to evaluate hardware/software co-designed capabilities for memory TCO reduction such as through memory tiering/pooling and overcommit solutions for Azure usages and deployment scenarios.
  • Develop deep insights through workload characterization and correlation to identify systems optimization opportunities.
  • Collaborate with diverse workload experts across Microsoft and partner ISVs to engineer TCO-optimized solutions for Azure general-purpose and specialized compute fleet.
  • Influence and shape hardware architecture and industry alignment, targeting three-to-six-year timeframe, with data-driven analysis, insights and recommendations.
Qualifications

Required/Minimum 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.

Other Requirements:

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

Preferred:

  • Master'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 12+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
  • 12+ years of experience in systems software (OS kernel, memory management, I/O stacks, Virtualization) with demonstrated track record of success, guiding architecture and software enabling.
  • 10+ years of experience leading significant hardware/software co-design projects involving CPU and/or systems architecture and influencing technical direction.
  • Deep expertise in Windows Operating System internals and OS memory management and Virtual Machine memory management principles.
  • Deep expertise in CPU, memory and I/O along with virtualization of hardware(x86,ARM) and software architecture
  • Deep understanding of system architecture and the related firmware interactions to provide optimized platform for workloads.   
  • Skilled in partnering and influencing architects, hardware engineers, and software leads
  • Ability to manage through ambiguity, bringing clarity and results orientation to engage and energize collaborators and stakeholders 
  • Collaboration skills, teamwork, and sense of presumed responsibility 
  • Verbal and written communication skills, and ability to articulate and engage with both technical and non-technical stakeholders at all levels. 
  • Experience leading and driving complex projects with respect and integrity, including those with multiple workstreams spanning different business and technical disciplines. 
  • Intellectual curiosity and passion about learning and deploying new technologies.  
  • Problem-solving skills, analytical capabilities, and attention to detail

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.



Microsoft is an equal opportunity employer. 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 with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.