We are seeking a top notch network software engineer to design and implement novel packet processing methods and contribute to the networking architecture as part of our revolutionary coprocessor. You will demonstrate creative and critical thinking capabilities and have a genuine passion for tackling complex low-level software issues.
Responsibilities:
Take part in developing a networking stack from the ground up:
Network device drivers.
Hardware-tailored packet-processing suite.
User-space libraries and benchmarks for low-latency communication.
Customer-facing APIs: both complying with standards and forging our own path.
Find the fastest ways to process incoming network packets on our hardware platform.
Analyze customer applications and explore creative ways to accelerate them in hardware or software.
Work closely with the hardware teams to offload key features into the next generation of products.
Requirements:
Previous experience as a software engineer: a must.
Experience in C, C++, or another systems programming language: a must
Previous work on at least one of:
Networking software stacks, e.g., TCP/IP implementations in user or kernel space.
NIC offload technologies, such as RDMA, TOE, or NVMeOF.
Packet processing SDKs, such as DPDK, eBPF, or XDP.
User-space libraries for low-latency networking.
Competent (or better) in spoken and written English.
Previous experience as a software engineer: a must.
Experience in C, C++, or another systems programming language: a must
Previous work on at least one of:
Networking software stacks, e.g., TCP/IP implementations in user or kernel space.
NIC offload technologies, such as RDMA, TOE, or NVMeOF.
Packet processing SDKs, such as DPDK, eBPF, or XDP.
User-space libraries for low-latency networking.
Competent (or better) in spoken and written English.
This position is open to all candidates.