We are looking for an extremely talented systems programmer with excellent C/C++ skills, deep algorithms and data structures knowledge, and strong familiarity with Linux operating system internals and driver development. The ideal candidate has at least some experience with networking internals, protocols, and distributed systems.
You should have a BS, MS, or PhD in Computer Science, Computer Engineering or equivalent. Strong communication skills are essential. Strong problem solving skills and out of the box thinking are a must. Experience with Linux Kernel development (esp. network subsystem), DPDK (or other zero copy networking approaches), and distributed systems is highly desired. Must work well in a fast paced team of talented, motivated, and coworkers. Working closely without our core engineering team in Austin, TX is highly preferred, though remote work may be possible depending on qualifications.
* Excellent understanding of algorithms and data structures theory with practical application
* Expert-level knowledge and experience (5+ years) with C++, multi-threaded software development
* Strong understanding of optimization, memory management, concurrency and multithreading
* Experience with development on Linux and related tools: gcc, gdb, git
* Should be able to pick up any new programming language quickly
Nice to Haves
* Experience with CUDA or OpenCL programming
* Experience working on LLVM
* Familiarity with one or more performance profilers such as: VTune, XPerf, gprof, etc.
* Knowledge of GPU and CPU architectures
* Knowledge of at least one scripting language (Python, Perl, Ruby, Shell scripting)
* Experience with software performance analysis, optimization and low-level programming
Relocation is available, remote positions available depending on experience.
We are an equal opportunity employer.