Senior Linux Kernel Engineer
Posted Aug 4, 2021 - Requisition No. 92951
The Managed Systems Engineering (MSE) group is responsible for provisioning, configuring, and maintaining the majority of Bloomberg’s production fleet throughout its lifecycle, and the group uses an infrastructure-as-code approach in conjunction with open-source tools to ensure a scalable and reliable environment in which to operate.
Within MSE, the OS Kernel & Performance team is responsible for kernel-space performance and configuration standards, developing tooling for networking stack functionality, and providing engineering leadership for how best to optimize the interaction between applications and OS interfaces. The team acts as a bridge between application development teams and the lower-level components of the OS by assisting with application performance profiling, benchmarking and certifying production-readiness of new OS releases and patches, and advising on how best to consume system resources.
What’s in it for you:
You'll work with modern, open-source tooling while maintaining mission-critical systems hosting a wide array of applications for the Bloomberg Terminal product. You will regularly collaborate with other OS and service-owning teams to maintain the stability and performance of operating systems and servers. We'll depend on you to advise on the design, architecture, and utilization of enterprise-class operating systems, with particular focus on Linux. You will have the opportunity to work on developing performance tooling while testing the latest kernels and their features. You will also have the opportunity to contribute back to the open-source community; it is a rewarding experience you can explore with us.
We’ll expect you to:
- Focus on improving Bloomberg’s kernel regression-testing framework by developing tooling using bcc/eBPF/bpftrace
- Contribute to our CI/CD frameworks for OS certification
- Push Linux kernel enhancement requests upstream
- Troubleshoot kernel-space and network performance issues by working in lockstep with application teams
- Write tooling to improve telemetry and close knowledge gaps in how high-performance applications function relative to the system resources available to them
- Work on documentation to support team efforts and educate peers
You’ll need to have:
- Deep understanding of the Linux kernel including the virtual memory, VFS, IPC, network, and process scheduling subsystems
- Demonstrated experience with performance tuning including tradeoffs between low latency and throughput, hardware and BIOS-related tuning, and proper employment of NUMA
- Ability to create robust testing and certification processes to comprehensively evaluate the impact of hardware changes, tunables, and system software updates to the Bloomberg application stack
- Proficiency in reading and debugging C source code to troubleshoot kernel-space issues
- Eagerness to work with a group, share knowledge, and contribute to team goals
- BA/BS or equivalent experience in computer science, engineering, or a related technology field
We would love to see:
- Experience with applying formalized performance analysis methodologies such as the USE Method to address complex problems
- Experience programming in Python or Ruby
- Familiarity with one or more of the following technologies is preferred: Chef, SaltStack, Jenkins, and Ansible
Bloomberg is an equal opportunity employer and values diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.