We build the networking software stack for a programmable data processing unit (DPU / SmartNIC) deployed at cloud scale. The device terminates virtual networking, RDMA and storage traffic on behalf of the host, so the software that runs on it has to be fast, correct, and debuggable without the comforts of a normal operating system. You will write C that executes on bare-metal DPU cores, root-cause packet-level failures across simulation, pre-silicon emulation and real hardware, and build the Python and CI infrastructure that keeps a multi-chip, multi-platform product releasable. This is not a role where feature work and test work belong to different people. The team owns correctness end to end: if you build it, you also build the test that proves it and the CI stage that keeps it proven.
Responsibilities ✅ Design, implement, and debug networking features in DPU firmware written in C — packet pipeline, Ethernet/TCP handling, SDN policy processing, or the RDMA stack, depending on where you land ✅ Root-cause hard defects — asserts, segfaults, memory leaks, race conditions, and performance regressions — using counters, telemetry, GDB, crash dumps, and console logs, across software simulation, virtualized environments, pre-silicon emulation, and real hardware ✅ Extend the team’s Python test frameworks: write new packet-level test cases, counter-based verification, and handle topology and fixture work for Linux and Windows guests ✅ Own CI health for your area — pipeline stages, nightly, and pre-commit gates, and the container and VM images they run on ✅ Work with host-side agents and kernel drivers (Windows and Linux), where a device-side change needs a host-side counterpart ✅ Use AI as a primary working tool — agentic assistants for debugging, log and crash triage, test authoring, code navigation, and review — and contribute back by turning workflows you repeat into shared, reusable automation for the team ✅ Review teammates’ pull requests across repositories and uphold the project’s coding, telemetry, and isolation conventions
Requirements 2+ years of professional systems software engineering Strong C in an embedded, kernel, or firmware context: manual memory management, pointer-heavy packet code, concurrency, and code on a fast path that must not allocate or block Solid networking fundamentals — Ethernet, VLAN, IPv4/IPv6, ARP/ND, ICMP, TCP/UDP, tunneling, and encapsulation — and the ability to read a packet capture and explain what is wrong with it Practical Python: able to extend an existing test framework, not just write glue scripts Real debugging skills — GDB, log- and counter-driven diagnosis, bisecting a regression to a specific build, and reasoning about failures you cannot attach a debugger to Linux command-line fluency and a confident Git / pull-request workflow in a multi-repository codebase Written English strong enough to produce a defect analysis another engineer can act on without a meeting Fluency with AI coding assistants and the judgment to go with it. We use them constantly for triage, test generation, and code navigation, so we expect you to be effective with them — and equally expected to verify their output against logs, counters, and a real reproduction rather than shipping a plausible guess
Would Be a Plus C++, Groovy, or Rust beyond a reading level Line-rate performance analysis; latency and throughput characterization NVMe-over-Fabrics or SMB Direct background Experience working as part of a distributed team across several time zones
Benefits Medical insurance Vacation and sick leave days Paid bank holidays (11 days in 2026 in Ukraine) Marriage and childbirth bonuses Referral bonus Educational courses and training programs Remote work