System & Dataplane Software Engineer
Company: Enfabrica
Location: Mountain View
Posted on: March 18, 2023
Job Description:
ABOUT US
We are a well funded and rapidly growing startup in the hardware
and software design space, working to solve the bottlenecks in the
next generation of datacenter infrastructure and founded by a team
of experienced innovators.
SUMMARY
We are looking for talented C and C++ software engineers with a
passion for writing low level high performance code in the world of
packet processing and datacenter networking, capable of working
closely with the hardware constraints and innovative features
provided by our architecture, while being capable of writing high
quality code to define our SDK and the features exposed to our
customers - both in kernel and user land.
SKILLS/QUALIFICATIONS
The ideal candidate:
- Is a skilled C or C++ coder. Can create optimized code through
different levels of abstractions, can help define and guide the
creation of those abstractions and APIs, complete with
documentation, testing, and examples.
- Can identify bottlenecks and performance risks, can write high
efficiency code. Is familiar with common profiling tools, has some
experience around writing high performance code and avoiding some
of the pitfalls and costs introduced by different layers of
abstractions, has worked with benchmarks and micro benchmarks
before.
- Is a strong System Software Engineer. Understands the kernel
and userspace boundaries well, can use low level syscalls to
interface with the kernel, understands constraints posed by the
scheduler and the virtual memory system. Does not shy away from
using mmaps(), unix domain sockets, or debugging issues related to
VDSO, libc interactions, and the ELF loader.
- Can write concurrent code and is comfortable working close to
the hardware. Understands the memory model, barriers, lock free
data structures, atomics, and caching behavior of most popular
architectures (x86, ARM), as well as some of the constraints
related to MMIO, DMA, and working with hardware devices.
- Has experience writing dataplane code - code in the hot path of
packet processing - and has familiarity with libraries and
frameworks like libibverbs, libfabric, DPDK, SPDK or eBPF and XDP.
As well as frameworks like NCCL, and lower levels of pytorch and
tensorflow. Not as a customer or user of those
libraries/frameworks, but as someone knowledgeable of how they
work, and confident in being able to modify and grow them.
- While not necessarily a linux kernel developer, can pinpoint
driver interaction issues, is comfortable diving in kernel code,
and could be comfortable in adding features that require writing
kernel code and working closely with our kernel engineers.
- Has 3+ years of industry experience.
Keywords: Enfabrica, Mountain View , System & Dataplane Software Engineer, IT / Software / Systems , Mountain View, California
Didn't find what you're looking for? Search again!
Loading more jobs...