About the role
As a Senior Networking Software Engineer in OSS – Networking team, you will be working on all aspects of the software life cycle, including:
- Design, develop, test, deliver and maintain production quality data plane networking software.
- Collaborate with internal/external key partners across the globe to understand requirements and build key parts of the networking software ecosystem.
- Optimize networking software for Arm based platforms.
- Work with open source communities to upstream and maintain code.
- Be flexible, with a variety of software development skills and a commitment to extend the breadth and depth of your knowledge.
What skills, experience, and qualifications do I need?
- Master's degree or Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering, or other degrees with relevant experience.
- Minimum 5 years of networking software development and optimization experience.
- Proficiency in C/C++, assembly language and scripting languages
- Good understanding of L2/L3 network protocols, and Ethernet, TCP/IP, Switching and Routing.
- In-depth knowledge of data structures, algorithms, and concurrent programming.
- Understanding of computer architecture and operating systems.
- Hands on experience in designing, implementing, and debugging data plane networking software.
- Experience in distributed version control systems, such as Git.
- Clear and effective written and verbal communication skills.
Desirable skills and experience
- Familiar with open source project development cycles and contribution process.
- Experience in software development and optimization on ARM architecture.
- Understanding of I/O and networking and their impact on software performance.
- Familiar with concepts and standards related to SDN and NFV.
- Experience with open source networking fast packet processing projects such as DPDK, ODP, VPP, OVS etc. is highly desired.