Software Engineer II
Microsoft
Software Engineer II
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.
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, adding feature packet forwarding features, and providing extensive telemetry data for the switches. The team is also building vibrant open-source community for the switch software, which is adopted by various other cloud providers.
SONiC team is looking for a Software Engineer II to help us in building the highest quality software with a game changing development model: Test Driven Development (TDD). And that eventually leads to Continuous Integration Continuous Delivery (CICD). You will be the frontier pioneer and changing agent of the development process.
Qualifications
Required Qualifications:
- Bachelor's Degree in Computer Science or related technical field AND 2+ 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 of experience in Networking Software Design and Development
- 2+ years of experience using UNIX or Linux.
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:
- Master's Degree in Computer Science or related technical field AND 3+ 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 5+ 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 of experience with requirement analysis, feature design or test plan writing.
- 2+ years of experience with one of the following areas: Ethernet, VLANs, IP Routing, TCP/IP, BGP, QoS, L2-L3 protocols, Platform validation, QOS, network management.
- Familiarity with test automation tools and scripting languages.
- 2+ years of experience with agile methodology.
- Proficient communication skills.
- Cisco Certified Internetwork Expert (CCIE) certification
- 2+ years of experience developing hardware driver, or BMC
Software Engineering IC3 - The typical base pay range for this role across the U.S. is USD $100,600 - $199,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 $131,400 - $215,400 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 October 8, 2025
#azurecorejobs
Responsibilities
- Collaborates with appropriate stakeholders to determine user requirements for a scenario.
- Drives identification of dependencies and the development of design documents for a product, application, service, or platform.
- Creates, implements, optimizes, debugs, refactors, and reuses code to establish and improve performance and maintainability, effectiveness, and return on investment (ROI).
- Leverages subject-matter expertise of product features and partners with appropriate stakeholders (e.g., project managers) to drive a workgroup's project plans, release plans, and work items.
- 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.