The role is a network processor microcode developer or Datapath software developer. People use both interchangeably in their profiles. 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 hypid (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.