Job Description
- Experience in low-level network programming.
- Systems Programming: Mastery of Rust (specifically DPDK rte_flow), and Go for high-performance networking software.
- Network and Virtualization Stack: Deep background in Linux network stack internals, socket layers, and packet processing, understanding of the VMs, specifially disks / storage and networking.
Job Responsibilities
- Standing up a local development environment where the entire stack runs, e.g. running on a single VM owned by the dev himself/herself.
- Need someone who would be ready to debug issues, port the existing software stack to ARM, and often bring identified/issues to other teams proactively.
- This is more than just the networking stack, this could software related to VM disks, VMs themselves. Strong domain knowledge in other areas is not needed, but someone with good general knowledge would be a good fit.
- Network feature development, e.g. doing offloading of the network stack into NICs.
- Using DPDK rte_flow, so experience (specifically rte_flow). DPDK rte_flow experience is not necessarily a must have, but it s definitely a nice-to-have. Other feature development could be things like adding DHCPv6 support into a networking daemon etc.
Education
Bachelor's or Master s degree in Computer Science, Computer or Electrical Engineering, Mathematics, or a related field.