Senior Software Eng. – Networking and Drivers
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
Every role in the library, ranked against your CV.
Rewritten from your real, matching experience for the job you pick.
Your whole pipeline in one place, with a fresh move every morning.