The role is a network processor microcode developer or C++ / Datapath software developer. This is a permanent position based in our Kanata office. Expectation is to be on site full time at the beginning and then transitioning to hybrid (minimum 2-3 days per week in the office).
Experience : 3+ years
Education : Minimum bachelor’s in computer science, electrical / software / computer engineering
Summary : Design, development, and optimization of network processor datapath for high-performance low latency networking solutions.
Network Processor Knowledge :
- Familiar with network processor datapath design and implementation for edge and core routers.
- Familiar with parallel and multi-threaded design and programming for high-performance systems.
- Understanding of pipeline architectures and memory hierarchies.
Networking Knowledge :
Knowledge of datapath features and protocols for access, transport, mobile backhaul, and data center applications.Knowledge of Ethernet, IPv4 / 6, TCP / UDP, MPLS, and other protocols, packet formats, and standards (IEEE, IETF, etc.).Protocol parsing, and header manipulations.Knowledge of packet switching, routing, and QoS functions.Programming Knowledge :
Low-level programming : Assembly languages, C and C++.Application of hash tables, tries, and filters for packet classification, and forwarding.Profiling and optimization for high speed datapaths.Datapath simulation, traffic generation, testing, and debugging.