Expoint - all jobs in one place

The point where experts and best companies meet

Limitless High-tech career opportunities - Expoint

IBM Principal Software Engineer CephFS - Distributed Storage System 
Israel, Tel-Aviv District 
497237015

24.06.2024

CephFS comprises a wide-ranging software suite including Linux kernel and userspace clients, 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, OpenShift, an NFS-Ganesha cluster, Samba, 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. This role is specifically focused on experienced developers who are ready to work on new distributed algorithms to build out end-user features of the filesystem, such as instant cloning, file overlays, and coherent snapshots across multiple clients with a coherent distributed cache.


Your Role and Responsibilities
Roles and Responsibilities of a Senior Software Engineer in IBM’s Ceph Engineering Organization:

  • Work closely with the global Ceph open-source, multi-company engineering team to develop and enhance CephFS, the file system component of the Ceph software-defined distributed storage system. 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 and the community to develop your knowledge, and to be ready to mentor new contributors as you develop expertise.
  • Contribute to the development of CephFS by designing and implementing new functionalities that enable innovative use cases. This includes designing new distributed algorithms, implementing them across clients and servers, and writing automated test cases to demonstrate they work. You will also identify and fix bugs and propose performance enhancements. This will involve work across our C++-language Metadata Server cluster and userspace clients, our Linux in-kernel client (which you may either develop on your own, or arrange with our kernel maintainers), and our messaging layer for storing data within Ceph’s “RADOS” distributed object store.

* 5-7 years of Experience working with C++ codebases, or other systems languages which includes:
* Live systems (via logging and interrogation) and examining core files, Good debugging skills
* Open sources, Git
* Basic knowledge of Python, to use and enhance testing
* Demonstrated ability to understand large codebases and develop new features
* Excellent English written and verbal communication skills, for our worldwide team
* Experience with data storage and/or file systems
* Experience building distributed systems
* Experience working on distributed teams is a plus
* Past contribution to open source projects is favorable