CephFS Senior Software Engineer

  • Infrastructure & Technology
  • Professional

CephFS Senior Software Engineer

  • Infrastructure & Technology
  • Professional

Introduction
At IBM, work is more than a job – it’s a calling: To build. To. 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.

CephFS comprises a wide-ranging software suite including (upstream) 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. Developers who are able to work across both the userspace servers and Linux kernel client to develop new distributed features will make ideal candidates.

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.

Role & Responsibilities:
You will 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, 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
  • Experience in git
  • 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
  • Linux kernel experience is a plus

Quieres saber que significa ser un IBMer?


About IBM

IBM’s greatest invention is the IBMer. We believe that through the application of intelligence, reason and science, we can improve business, society and the human condition, bringing the power of an open hybrid cloud and AI strategy to life for our clients and partners around the world.

Restlessly reinventing since 1911, we are not only one of the largest corporate organizations in the world, we’re also one of the biggest technology and consulting employers, with many of the Fortune 50 companies relying on the IBM Cloud to run their business.

At IBM, we pride ourselves on being an early adopter of artificial intelligence, quantum computing and blockchain. Now it’s time for you to join us on our journey to being a responsible technology innovator and a force for good in the world.

Detalles Principales del Trabajo

No encuentras el puesto adecuado?

No te preocupes. Únete a nuestra Red de Talentos y te avisaremos de nuevas oportunidades