What are the responsibilities and job description for the Senior Networking Software Engineer position at SpanIdea Systems?
Responsibilities
- Design, develop, and enhance networking dataplane solutions supporting Layer 3 technologies such as IPv4, IPv6, MPLS, SR/SRv6, VRF, and L3VPN, along with Layer 2 protocols including STP, LLDP, sFlow, LAG, and MLAG.
- Architect and implement advanced Quality of Service (QoS) capabilities, including traffic classification, queue management, policing, shaping, ACLs, ECN, and WRED.
- Develop software solutions for networking ASIC platforms and programmable data plane technologies using SDKs and hardware programming interfaces.
- Optimize Linux networking subsystems, including the network stack, memory management, routing components (RIB/FIB), and hardware abstraction layers (HAL).
- Design and maintain highly available networking solutions, including support for in-service software upgrades (ISSU) and resilient Linux-based network infrastructure.
- Contribute to Linux kernel enhancements, networking stack optimizations, and software packaging/build processes.
- Develop and integrate networking software for containerized and virtualized environments.
Requirements
- BS/MS/PhD in Computer Science, Computer Engineering, or a related technical field.
- 8 years of hands-on experience in networking software development.
- Strong programming skills in C, C , Go, and/or Python.
- Deep understanding of networking ASIC architectures, packet processing pipelines, and hardware/software integration.
- Solid experience with Linux internals, kernel networking stack, and system-level development.
- Hands-on knowledge of routing and forwarding technologies, including RIB, FIB, HAL, and High Availability (HA) architectures.
- Familiarity with container and virtualization technologies such as Docker, Kubernetes, and virtual machines.
Preferred Skills
- Experience with data plane acceleration frameworks and hardware programming interfaces such as DPDK, P4, or similar technologies.
- Strong debugging, troubleshooting, and performance optimization skills.
- Experience building scalable, distributed, and high-performance networking systems.