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+ yearsEducation: Minimum bachelor’s in computer science, electrical/software/computer engineeringSummary: 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.
Job Title
C /Datapath Developer (32042)