The Azure Data Processing Unit (DPU) team integrates state-of-the-art software and hardware expertise to create a highly programmable and high-performance chip, enabling Azure to develop solutions for next-generation problems with increased agility and performance. As a Senior Software Engineer in the DPU Networking software team, you will design, develop, deploy, and support networking packet forwarding and control plane functions that enable high-performance data processing within various network endpoints in Azure data centers.
Responsibilities
- Collaborate. Work with stakeholders to determine user requirements for scenarios.
- Design Documentation. Identify dependencies and develop design documents for products, applications, services, or platforms.
- Code Development. Create, implement, optimize, debug, refactor, and reuse code to improve performance, maintainability, effectiveness, and ROI.
- Project Management. Leverage expertise to partner with stakeholders (e.g., project managers) to drive project plans, release plans, and work items.
- System Monitoring. Act as a Designated Responsible Individual (DRI) to monitor systems/products/services for degradation, downtime, or interruptions, alert stakeholders, and initiate restoration actions.
- Continuous Learning. Proactively seek new knowledge and adapt to new trends, technical solutions, and patterns to improve product availability, reliability, efficiency, observability, and performance.
Qualifications
- Networking Experience. Experience in software design and coding of Layer2/L3/L4 ethernet/IP networking packet forwarding and processing functions within host kernel or a programmable NIC or network switches and routers.
- Programming Skills. Strong programming skills in C or C++.
- Educational Background. Bachelor’s degree in computer science, computer engineering, or related technical discipline AND 4+ years software development engineering experience, OR equivalent experience.
Preferred Qualifications
- Networking Technologies. Experience in developing networking software stack involving technologies such as TCP, UDP, RDMA, RoCEv2, and SDN.
- Hardware Offload Architectures. Experience in developing networking software on DPUs, programmable NICs, or other hardware offload architectures.
- Data Transfer Technologies. Experience in developing technologies for reliable data transfer across networks with efficient fabric utilization and deterministic latency.
- CI/CD Practices. Knowledge of Continuous Integration and Continuous Deployment (CI/CD) practices for streamlined software development and deployment processes.
- Scripting. Proficiency in scripting languages to build and enhance developer tools, automating repetitive tasks and improving workflow efficiency.
Additional Information
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 and/or a reasonable accommodation due to a disability during the application process, please read more about requesting accommodations.
Join us at Microsoft to help build the future of cloud infrastructure and contribute to the intelligent cloud mission!