Senior Software Engineer – Networking (C/C++, DPDK/VPP)
- Remote, Canada
Remote
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Workplace
- Remote
- Experience
- 5+ years of strong experience developing networking software, particularly data-path, forwarding, or packet-processing components.
- Posting language
- English
- Posted
Original job description
Senior Software Engineer – Networking (C/C++, DPDK/VPP)
Department: Backend
Employment Type: Full Time
Location: Canada
Description
We're looking for a hands-on Senior Software Engineer – Networking (C/C++, DPDK/VPP) with strong expertise in developing networking software across the data path, control plane, and related infrastructure. You'll design and build forwarding, protocol, and packet-processing components that run in virtualized and containerized environments, integrating hardware and software-based data paths into production systems.
This is a highly technical individual contributor role focused on building high-performance networking solutions. You'll work across networking, security, data-path technologies, and cloud-native infrastructure while collaborating with distributed teams across multiple locations and time zones.
Key Responsibilities
- Design and develop networking software across the data path, control plane, forwarding, and protocol layers.
- Build packet processing pipelines and integrate them with hardware-based data paths such as Network ASICs and software-based data paths such as VPP and DPDK.
- Develop and enhance SD-WAN data-path features, including IPsec, firewall, WAN selection, secure web gateway, zone-based firewall, and stateful firewall capabilities.
- Work on DPI, VPN, QoS, and other data-path technologies, with a strong focus on performance and optimized packet processing.
- Develop and integrate networking components in cloud-native environments using Kubernetes, Docker, distributed systems, message buses, and gRPC.
- Integrate and enhance open-source and third-party networking and infrastructure components while independently troubleshooting and improving production systems.
Skills, Knowledge and Expertise
- 5+ years of strong experience developing networking software, particularly data-path, forwarding, or packet-processing components.
- Strong understanding of data center networking and networking stack development.
- Hands-on experience with C/C++, with the ability to write optimized, performance-sensitive code.
- Experience with DPDK, VPP, or similar data-path technologies.
- Experience with networking and security technologies such as IPsec, VPN, DPI, QoS, firewalls, and SD-WAN.
- Experience with Linux/Unix system programming, Kubernetes, and Docker.
- Understanding of distributed systems, message buses, and gRPC.
- Experience with Golang and microservices architecture.
- Experience with programmable packet-processing pipelines and CNF/VNF technologies.
- Experience working with Broadcom or other Network ASICs.
- Experience with CNCF technologies and cloud-native networking.
- Experience integrating networking solutions with security providers such as Zscaler or Palo Alto Cloud NGFW.
More about this job
Responsibilities
Design and develop high-performance networking software across data-path, control plane, and protocol layers. Integrate packet processing pipelines with hardware and software-based data paths in cloud-native environments.
Requirements
Requires 5+ years of experience in networking software development with strong proficiency in C/C++. Candidates must have hands-on experience with DPDK, VPP, and cloud-native infrastructure like Kubernetes and Docker.
Skills
- C
- C++
- DPDK
- VPP
- Networking
- Data-path
- Packet-processing
- Kubernetes
- Docker
- Linux
- SD-WAN
- IPsec
- Firewall
- Golang
- gRPC
- Cloud-native
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Security & Safety
Keywords
- C
- C++
- DPDK
- VPP
- Networking
- Data-path
- Control plane
- Packet-processing
- SD-WAN
- IPsec
- Firewall
- DPI
- VPN
- QoS
- Kubernetes
- Docker
- Distributed systems
- Message buses
- gRPC
- Golang
- Microservices
- CNF
- VNF
- Network ASICs
- Broadcom
- Cloud-native
- Linux
- Unix
- Zscaler
- Palo Alto