Senior Software Engineer - Kernel Developer
- Los Gatos, California
- Content Delivery
Open Connect is a critical group within Netflix that builds and manages a content delivery network (CDN) handling more than one third of North American internet traffic at peak times! We are available in 190+ countries and partner with ISPs all over the world to provide our subscriber base with the ultimate streaming quality.
A small team of talented software engineers develop and maintain the FreeBSD-based operating system that runs the content caches that deliver Netflix’s video content to end users. One key to our success is the ability to run our caches very efficiently. To this end, we push the performance limits of our hardware.
We are looking for an engineer to help us continue to drive efficiency improvements by innovating in the kernel’s infrastructure areas (such as the virtual memory and/or scheduler subsystems). We are looking for a candidate to soak up context about the way the operating system works (and the way we use it) and then use that context to make improvements in the operating system that will make the system function more efficiently. In the short run, we are particularly interested in improving non-uniform memory access (NUMA) support, which will touch a number of infrastructure areas.
- Someone who likes to work hands on and be self-directed in a fast-paced environment that gives you freedom and responsibility
- Able to see beyond immediate specs, summarize requirements, and architect forward-looking solutions
- Capable of working in a distributed, cross-functional, and collaborative environment alongside your teammates
- Someone with a passion for quality
- Someone who enjoys taking things apart to understand how the system works together
- Ability to work independently and collaboratively in all areas of the software development lifecycle — from requirements gathering to operations and maintenance
- Ability to read and write code using the C programming language
- Ability to work on large-scale software systems
- Understanding of the way operating system schedulers work
- Understanding of the way kernel virtual-memory systems work
- Understanding of the way non-uniform memory access (NUMA) impacts the design of kernel subsystems
- Ability to design and implement code that maximizes throughput within the constraints of PCI bandwidth, memory bandwidth, and CPU power
- Understanding of 64-bit x86 architecture
- Understand the interactions of the various hardware and software components of a modern computing system and the tradeoffs that are inherent in system design decisions
- Experience with FreeBSD
- Experience with open-source software development
- Ability to read and write x86 assembly code