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

Senior Software Engineer

AT IBM
IBM

Senior Software Engineer

Bangalore, India

Introduction
IBM's Ceph[1] engineering organization is looking for a senior software engineer to join the RBD team. In this role you will collaborate with our worldwide Ceph engineering team to develop and enhance RBD[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.
RBD comprises a wide-ranging software suite including Linux kernel and userspace clients, optional caches, and disaster recovery daemons, in addition to higher-level APIs for integrating with other systems (OpenStack, OpenShift, NVMeoF, etc). As a member of the RBD 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 storage system, such as enhanced consistency groups, disaster recovery, and multi-tenant capabilities.

Want more jobs like this?

Get Software Engineering jobs delivered to your inbox every week.

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

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.
[1]: https://ceph.io/en/news/publications/, https://www.youtube.com/c/Cephstorage
[2: ]https://docs.ceph.com/en/reef/rbd/
[3]:https://github.com/ceph/ceph, https://tracker.ceph.com/projects/rbd"
The IBM Engineering team is looking for a Senior Software Engineer to join us in Israel. In this role, you will contribute to the engineering of features related to the development of Kubernetes and container based object services and advanced workloads using those services. You'll play a specific part in defining the architecture for these services and developing our offerings from inception, through upstream development, to delivery.

Your Role and Responsibilities
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 RBD, the block storage 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 RBD 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 user space 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

Required Technical and Professional Expertise

  • Experience working with C++ codebases, or other systems languages and demonstrated ability
  • Good debugging skills both live system and offline core files
  • Able to troubleshoot issues in production and assits Customer facing team for root cause analysis
  • Excellent English written and verbal communication skills, for our worldwide team
  • Basic knowledge of Python, to use and enhance testing
  • Experience in git and github
  • Demonstrated ability to understand large codebases and develop significant 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 favourable.

Client-provided location(s): Bengaluru, Karnataka, India; Pune, Maharashtra, India
Job ID: IBM-21087738
Employment Type: Full Time

Company Videos

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