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

NFS Developer

AT IBM
IBM

NFS Developer

Bangalore, India

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
Roles and Responsibilities of a Senior Software Engineer in IBM's Ceph Engineering Organization:

Collaborate with the worldwide Samba and Ceph Engineering Team:
Work closely with the global team to develop and enhance of Samba's SMB file server integration with CephFS, the file system component of the Ceph software-defined distributed storage system.

Want more jobs like this?

Get jobs delivered to your inbox every week.

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


Design and implement new capabilities and features:
Contribute to the development of Samba and CephFS by designing and implementing new functionalities that enable innovative use cases.

Improve scalability, performance, and efficiency:
Identify areas for improvement in terms of scalability, performance, and efficiency of Samba's CephFS integration. Propose and implement optimizations to enhance the overall system performance.

Participate in the open-source communities:
Engage in the vibrant and active open-source communities surrounding Samba and Ceph. Contribute to the community by collaborating with developers, providing support and delivering enterprise-quality software.

Work with a wide-ranging software suite:
Familiarize yourself with the different components of Samba and CephFS, including Linux kernel and userspace client APIs, Samba's SMB3 fileserver, the clustering components like Ceph's metadata server and Samba's cluster manager ("CTDB"), the messaging layer for storing data with Ceph's native object store (""RADOS""), the ceph manager component that deploys and manages the SMB file server.

Utilize modern open-source tools:
Communicate and collaborate effectively with the team using modern open-source tools such as Git (GitLab and GitHub) for version control and community-developed testing and validation tools.

Remote teamwork and communication:
As a remote team member you ensure effective communication with the worldwide team. Participate in meetings, discussions and collaborative decision-making to maintain a cohesive and efficient development process.

Stay updated with industry trends and best practices:
Keep up-to-date with the latest trends and advancements in distributed storage systems, file systems, SMB file servers and related technologies. Apply industry best practices in software engineering to improve the quality and reliability of Samba and CephFS.

Mentorship and knowledge sharing:
Share your expertise and experience with team members, providing guidance and mentoring to less experienced developers. Foster a culture of learning and continuous improvement within the team.

Documentation and reporting:
Create and maintain technical documentation, including design specifications, architectural diagrams and user guides. Prepare regular progress reports and updates for stakeholders.

Primary responsibilities:
Improve the integration of Samba into CephFS, contribute to test automation within Samba related community testing frameworks as well as Ceph's Python-language testing infrastructure ("teuthology").
Support the Samba/Ceph community through engagement on mailing lists, chat and other public discussions.

Required Technical and Professional Expertise

  • Minimum 5 to 10 years of experience working with C and 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 assist 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
  • Working experience with Open sources
  • Experience in git and gitlab/github
  • Demonstrated ability to understand large codebases and develop significant new features and architectural changes

Preferred Technical and Professional Expertise

  • Experience with SMB file servers and clients
  • 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): Bengaluru, Karnataka, India; Pune, Maharashtra, India
Job ID: IBM-20893213
Employment Type: Full Time

Company Videos

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