Principal Software Engineer
Microsoft
Principal Software Engineer
Multiple Locations, United States
Save
Overview
Are you looking for an opportunity to build software and systems for some of the biggest data centers that humanity has ever created? The Azure Networking team is responsible for designing and building the software defined network infrastructure that powers millions of servers around the globe for Azure, Bing and other Microsoft cloud services. Azure Networking is at the forefront of Hyperscale Cloud Computing and runs one of the largest datacenter network infrastructures in the world. The Azure Networking team works on the breadth of networking offerings. The physical network team manages all physical switches and routers inside Azure datacenters.
We are looking for a Principal Software Engineer to join our Software for Open Networking in the Cloud (SONiC) team. SONiC team owns all the software that is running on the switches and routers. We have lots of interesting problems to solve, such as supporting new generation switches ranging from 10G/40G to 100G/400G/800G/1.6T, adding feature packet forwarding features, providing extensive telemetry data for the switches, building artificial intelligence (AI) backend network, and designing features for smartswitch. The team is also building vibrant open-source community for the switch software, which is adopted by various other cloud providers.
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 discipline 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.
- A minimum of 6 years of experience in IP networking and/or distributed systems.
- A minimum of 6 years of experience in Linux operating system.
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 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++, C#, Java, JavaScript, or Python
- 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++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- Experience working with SDN technologies like Overlay Switching and Routing, EVPN, VXLAN, MPLS, IETF RFCs, SDN Controllers.
Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $139,900 - $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
Microsoft will accept applications for the role until June 6, 2025.
#Azurecorejobs
Responsibilities
- Interface with partner teams to define features and solutions.
- Architect, design and manage the development of features.
- Develop and maintain features using C, C++ and Python, review and contribute to functional and design specifications. Build automated tests and test infrastructure to test the features.
- Provide technical leadership across features, projects and tools.
- Work with network engineers to support Azure production network.
- Mentor new and entry-level engineers to bring them up to speed in software development environment.
- Embody our culture and values.