Skip to main contentA logo with &quat;the muse&quat; in dark blue text.

Senior Software Engineer for Ceph

AT IBM
IBM

Senior Software Engineer for Ceph

San Jose, CA

Introduction
At IBM, work is more than a job - it's a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you've never thought possible. Are you ready to lead in this new era of technology and solve some of the world's most challenging problems? If so, lets talk.

Your Role and Responsibilities
IBM's Ceph[1] Engineering organization is looking for a Senior Software Engineer to join the CephFS team. In this role you will collaborate with our worldwide Ceph engineering team to develop and enhance CephFS[2], the file system component of the Ceph software-defined distributed storage system. You will design and implement new capabilities and features to enable new use cases while improving scalability, performance and efficiency. You will participate in a vibrant and active open source community[3] to deliver enterprise-quality software.

Want more jobs like this?

Get jobs in San Jose, CA delivered to your inbox every week.

By signing up, you agree to our Terms of Service & Privacy Policy.


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. Candidates will be excited to develop 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.

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.
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 own 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.
[1]:
https://ceph.io/en/news/publications/
,
https://www.youtube.com/c/Cephstorage
[2: ]
https://docs.ceph.com/en/quincy/cephfs/
,
https://youtu.be/cNAxNSzZqzo?t=1311
[3]:
https://github.com/ceph/ceph
,
https://tracker.ceph.com/projects/cephfs

Required Technical and Professional Expertise
Experience working with C++ codebases, or other systems languages and demonstrated ability
Good debugging skills. Experience with live systems (via logging and interrogation) and examining core files
Basic knowledge of Python, to use and enhance testing
Demonstrated ability to understand large codebases and develop new features

Preferred Technical and Professional Expertise
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

Client-provided location(s): San Jose, CA, USA
Job ID: IBM-20855925
Employment Type: Full Time

Company Videos

Hear directly from employees about what it is like to work at IBM.