Principal Software Engineer - Azure Storage Client Team
Microsoft
Principal Software Engineer - Azure Storage Client Team
Multiple Locations, United States
Save
Overview
Microsoft Azure storage is a highly distributed, massively scalable, and ubiquitously accessible cloud storage system designed to scale out and serve the entire world.
The Azure Storage Client team is responsible for delivering the Storage Virtualization platform to Azure Virtual Machines (VMs). Our stack handles trillions of IOs every day from Azure VMs and runs in 100s of data centers and 1000+ Clusters. The team is enabling storage offload using custom built hardware accelerators – utilizing the Field Programmable Gate Arrays (FPGAs), Remote Direct Memory Access (RDMA) for transport and Non Volatile Memory Express (NVMe) as the VM’s storage interface.
As a Principal Software Engineer you are responsible for designing, implementing and deploying software to enable hardware-based storage offload technologies. If you have the interest and the passion to work on new hardware and software solutions to enable performance and scalability at the highest levels, then Azure may have a place for you.
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.
Qualifications
Required 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++, or RUST
- OR equivalent experience.
- 1+ year(s) of working in or familiarity with Linux kernel and driver development.
Other Qualifications:
- 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 Qualifications:
- 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++, or RUST
- OR 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++, or RUST
- OR equivalent experience.
- A working knowledge of storage interfaces and protocols e.g. NVMe, SCSI and Virtualization technologies.
- Experience with kernel mode development and debugging (Windows or Linux drivers).
- Experience in Azure equivalent cloud services - data explorer, portal, disks, storage & virtual machines Experience shipping & maintaining high reliability cloud storage services.
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: https://careers.microsoft.com/us/en/us-corporate-pay
Microsoft will accept applications for the role until May 17, 2025.
#azurecorejobs
Responsibilities
- Design and develop system software that manages storage services in Azure.
- Ensure that services and components are designed with appropriate telemetry and health signals to enable remote monitoring and debugging.
- Rapidly deploy cloud-scale solutions and monitor health through telemetry.
- Drive for quality in everything you do and continuously improve the quality of the systems you work on.
- Acts as a Designated Responsible Individual (DRI) and guides other engineers by developing and following the playbook, working on call to monitor system/product/service for degradation, downtime, or interruptions, alerting stakeholders about status and initiates actions to restore system/product/service for simple and complex problems when appropriate.
- Proactively seeks new knowledge and adapts to new trends, technical solutions, and patterns that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale.
- Embody our culture and values