Expoint - all jobs in one place

המקום בו המומחים והחברות הטובות ביותר נפגשים

Limitless High-tech career opportunities - Expoint

IBM CephFS Kernel Developer 
United States, California, San Jose 
225862784

14.08.2024

Your Role and Responsibilities

CephFS comprises a wide-ranging software suite including its Linux kernel client, a clustered userspace metadata server, and a messaging layer for storing data with Ceph’s native object store (“RADOS”), in addition to higher-level APIs for integrating with other systems (OpenStack, Kubernetes, an NFS-Ganesha gateway cluster, etc). As a member of the CephFS engineering team, you will have the opportunity to learn and work in many of these areas according to your experience and technical background.

You will work remotely with a worldwide team so communication is key. You will collaborate with others using modern open source tools including git (and GitHub), Jenkins, Redmine, and community-developed testing and validation tools.


Primary responsibilities
* Develop and debug the CephFS kernel client
* Test new features with Ceph’s Python-language testing infrastructure (“teuthology”)
* Occasionally, coordinate protocol changes with the Ceph Metadata Server (MDS) using C++
* Support the Ceph community through engagement on mailing lists, IRC, and other public discussions

In your role, you will work closely with the global Ceph open-source, multi-company engineering team to develop and enhance CephFS, in particular its upstream Linux kernel client. You will collaborate with other developers and users by attending online meetings, participating in email lists and online chat rooms, preparing written documentation, and giving presentations about your work. You will be expected to work proactively with other team members, the community, and the Linux upstream to develop your own knowledge, and to be ready to mentor new contributors as you develop expertise.

As a member of the team, you will contribute to the development of CephFS by designing and implementing new functionalities that enable innovative use cases. You will work principally on the upstream Linux kernel client to implement features in coordination with our existing maintainers. You may also design new distributed algorithms and implement them across the client and our C++ userspace servers (if interested and able), and will write automated test cases to demonstrate functionality and prevent regressions. You will also identify and fix bugs and propose performance enhancements.

* Experience in Linux kernel development, or demonstrated proficiency in C and a strong interest
* Good debugging skills. Experience with live systems (via logging and interrogation) and examining core files.
* Experience reading C++ codebases
* Basic knowledge of Python, to use and enhance testing
Preferred Technical and Professional Expertise
* Experience with data storage and/or file systems
* Experience working on distributed teams is a plus
* Past contribution to open source projects is favorable
* Knowledge of distributed systems