Software Developer, C++, Python, Linux, Ceph RBD

IBM


Date: 4 days ago
City: Bengaluru, Karnataka
Contract type: Full time
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.

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

Your Role And Responsibilities

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 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.

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 Experience

  • 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

How to apply

To apply for this job you need to authorize on our website. If you don't have an account yet, please register.

Post a resume

Similar jobs

Quality Engineer III

Walmart Global Tech India, Bengaluru, Karnataka
2 days ago
Position Summary...Requirement And Scoping Analysis: Requires knowledge of: Traceability matrix; Risk analysis methodologies; Cost Analysis; Business objectives;Classification of requirements; User stories To understand the Business/Stakeholder/Technical requirements and assist in analyzing the existingsolutions to address the needs (in case of agile methodology, for the iteration). Prepare requirement traceability matrix and maintain traceability between business requirements, functional requirements, design and test cases....

Senior Agronomist

Givaudan, Bengaluru, Karnataka
4 days ago
Join us and celebrate the beauty of human experience. Create for happier, healthier lives, with love for nature. Together, with passion and imagination, we deliver food innovations, craft inspired fragrances and develop beauty and wellbeing solutions that help people look and feel good. There’s much to learn and many to learn from, with more than 16,000 employees around the world...

Trainee Technician

Fresenius Medical Care, Bengaluru, Karnataka
4 days ago
Position Description for Recruitment: Trainee TechnicianPosition: Trainee TechnicianReporting to: Senior Dialysis TechnicianSummary of the role:Sets up and operates haemodialysis machine to provide dialysis treatment for patients with kidney failureAttach dialyzer and tubing to machine and prime the extracorporeal circuits with 0.9% normal saline to prepare machine for use.Label dialyser & blood lines with patient name & ID prior to the...