Senior Software Engineer (C++, Python, Linux, Ceph RBD )

Bengaluru, Karnataka, India
May 06, 2025
May 06, 2026
Hybrid
Full-Time
2 Years
Job Description

Are you passionate about open source software, cutting-edge distributed systems, and scalable storage solutions? IBM’s Ceph engineering organization is seeking a Senior Software Engineer to join the RBD (RADOS Block Device) team, a core component of the Ceph software-defined storage platform. In this role, you’ll contribute to one of the most widely used open-source distributed storage systems in the world, collaborating with a global team of skilled engineers to build resilient, high-performance storage solutions for next-generation cloud-native workloads.

As a key contributor to the RBD component, you'll be responsible for driving innovation in a technically rich ecosystem. RBD is not just a simple block storage device, it includes a sophisticated suite of components like user space and in-kernel clients, intelligent caching mechanisms, disaster recovery daemons, and integration layers for platforms such as OpenStack, OpenShift, and NVMe over Fabrics (NVMe-oF). Your contributions will directly impact enterprise users, cloud platforms, and a vibrant open-source community.

Your Role and Responsibilities

  • Collaborate and contribute to the global Ceph open-source development community, working with teams across IBM and other companies to evolve the RBD component.
  • Design and implement new features and improvements to the Ceph RBD architecture, ensuring scalability, efficiency, and high availability.
  • Work across both user space (C++) and Linux kernel space, depending on your experience and interest, with opportunities to influence both sides of the stack.
  • Contribute to the development of distributed algorithms and protocols to support advanced capabilities such as disaster recovery, enhanced consistency groups, snapshot management, and multi-tenant block storage.
  • Troubleshoot and debug complex issues in production environments, working closely with customer-facing teams to analyze and resolve root causes effectively.
  • Participate in the full software development lifecycle from requirements analysis and design to development, testing, and documentation.
  • Use and extend the existing automated test frameworks (Python-based) to ensure robustness and maintainability of new features and bug fixes.
  • Actively participate in code reviews, design discussions, team meetings, and community communication via GitHub, mailing lists, and chat platforms.
  • Write clear, comprehensive technical documentation and occasionally present your work to the broader community at technical forums or conferences.
  • Mentor junior contributors and new team members as you build your expertise within the Ceph ecosystem.

Required Technical and Professional Expertise

  • Proven experience working with large C++ codebases or other system-level programming languages (e.g., Rust, Go, C).
  • Strong debugging skills with live systems and offline analysis (e.g., interpreting core dumps, tracing logs).
  • Ability to diagnose, isolate, and resolve complex system-level issues, especially in distributed or production environments.
  • Solid communication skills in English (both written and spoken) to coordinate across a geographically distributed team.
  • Familiarity with Python scripting, particularly for test automation and build pipelines.
  • Hands-on experience with Git and GitHub for collaborative software development.
  • Demonstrated ability to comprehend complex architectures and develop meaningful enhancements or new functionalities.

Preferred Technical and Professional Experience

  • Prior experience with file systems, block storage, or other data storage technologies.
  • Deep understanding of distributed systems, including consensus algorithms, replication, and fault tolerance.
  • Background in contributing to or maintaining open-source projects, especially those hosted on GitHub.
  • Experience working with Linux kernel development, or a willingness to learn and contribute under mentorship from kernel maintainers.
  • Exposure to infrastructure and integration layers such as OpenStack, OpenShift, NVMe-oF, or Kubernetes.

Why Join Us?

By joining IBM’s Ceph RBD team, you'll be part of a mission to enable open, software-defined storage at a massive scale. You’ll work in a highly collaborative and intellectually stimulating environment, solving complex engineering problems that matter. The Ceph community is active, inclusive, and known for innovation, and you’ll have the opportunity to influence its future direction.

Whether you're looking to deepen your expertise in distributed systems or make a tangible impact in open-source software development, this role offers the perfect platform.