Job description
Required skills About the role As a Senior Software Engineer, in the Networking/Drivers team, you’ll lead design and development of low-level, high-throughput data paths and device drivers in C, work closely with silicon, firmware, and validation teams, and mentor junior engineers. You’ll own features end-to-end—from architecture to lab bring-up and performance tuning. What you’ll do: Lead design and implementation of user-space and driver components (packet I/O, control paths, performance tooling). Drive SW/HW integration and board bring-up; reproduce and root-cause complex issues across layers (driver, firmware, silicon). Optimize throughput, latency, and CPU utilization ; add profiling, tracing, and automated tests to prevent regressions. Collaborate in cross-functional design reviews ; document designs and guide best practices in code quality and testing. Mentor teammates through reviews, pairing, and technical guidance. Required Experience: 4+ years of hands-on software development in C on Linux. Proven experience in the networking field (e.g., NICs, switches, packet processing, data-plane/IO stacks). Strong systems fundamentals: concurrency, memory management, performance profiling, and debugging (gdb, perf, ftrace, tcpdump/Wireshark). Excellent communication skills; ability to lead projects and collaborate across teams. Preferred Qualifications Device driver design, development, debugging, and testing experience (kernel-adjacent or user-space drivers). DPDK user-space application and fast-path development experience. SW/HW integration and lab experience (PCIe, DMA, interrupts, counters/telemetry, bring-up). Knowledge of networking protocols (Ethernet/IP/TCP/UDP), congestion/flow control, and high-rate packet processing. Familiarity with CI/CD , unit/integration testing, and production observability. Big advantage: Knowledge of RDMA (verbs, QPs, completion model, transport semantics) and experience building or tuning RDMA data paths. Education BsC or BSEE MSc or MsEE – an advantage Requirements Required Experience: 4+ years of hands-on software development in C on Linux. Proven experience in the networking field (e.g., NICs, switches, packet processing, data-plane/IO stacks). Strong systems fundamentals: concurrency, memory management, performance profiling, and debugging (gdb, perf, ftrace, tcpdump/Wireshark). Excellent communication skills; ability to lead projects and collaborate across teams. Preferred Qualifications Device driver design, development, debugging, and testing experience (kernel-adjacent or user-space drivers). DPDK user-space application and fast-path development experience. SW/HW integration and lab experience (PCIe, DMA, interrupts, counters/telemetry, bring-up). Knowledge of networking protocols (Ethernet/IP/TCP/UDP), congestion/flow control, and high-rate packet processing. Familiarity with CI/CD , unit/integration testing, and production observability. Big advantage: Knowledge of RDMA (verbs, QPs, completion model, transport semantics) and experience building or tuning RDMA data paths. Education BsC or BSEE MSc or MsEE – an advantage