IBM Infrastructure is a catalyst that makes the world work better because our clients demand it. Heterogeneous environments the explosion of data digital automation and cybersecurity threats require hybrid cloud infrastructure that only IBM can provide.
Your ability to be creative a forward-thinker and to focus on innovation that matters is all support by our growth minded culture as we continue to drive career development across our teams. Collaboration is key to IBM Infrastructure success as we bring together different business units and teams that balance their priorities in a way that best serves our client's needs.
IBM's product and technology landscape includes Research Software and Infrastructure. Entering this domain positions you at the heart of IBM where growth and innovation thrive.
-
Contribute to CephFS development with a global team
Work as part of the worldwide Ceph engineering team to implement and enhance CephFS the file system component of the Ceph software-defined distributed storage platform. -
Implement features and fix defects under guidance
Take ownership of well-scoped tasks within larger features: implement changes fix bugs and contribute to enhancements in CephFS. Participate in design discussions provide input and translate agreed designs into high-quality code. -
Support scalability and performance goals
Help investigate performance and scalability issues by reproducing problems analyzing logs/metrics and proposing incremental improvements. Implement optimizations reviewed by senior/principal engineers. -
Participate in the open-source Ceph community
Engage with the Ceph community by sending patches responding to review feedback and participating in discussions on mailing lists IRC and GitHub. Follow community coding standards and practices to deliver enterprise-quality software. -
Work across CephFS components
Gain hands-on experience with CephFS components such as:-
Linux kernel and userspace clients
-
Clustered userspace metadata server (MDS)
-
The RADOS object store and messaging layer
-
Higher-level integrations (e.g. OpenStack OpenShift NFS-Ganesha gateway)
Gradually build expertise in one or more of these areas.
-
-
Remote collaboration and communication
Communicate effectively in a fully remote globally distributed team. Provide regular status updates participate in stand-ups and design reviews and ask clarifying questions to ensure alignment. -
Learn and apply best practices
Stay current with concepts in distributed storage file systems and related technologies. Apply software engineering best practices (testing code review clean code documentation) to improve quality and reliability. -
Knowledge sharing within the team
Share findings debug notes and how-tos with teammates via documents design notes or short presentations. Provide informal guidance to new team members or interns in areas where you have gained experience. -
Documentation and basic reporting
Document your work through code comments small design notes test plans and how-to guides. Provide concise progress updates to your leads and stakeholders.
-
5+ years of working experience working with C++ or another systems programming language with the ability to read and modify existing code.
-
Good debugging skills for user-space processes and logs including basic analysis of core files.
-
Ability to help troubleshoot issues in production environments and work with customer-facing teams on root cause analysis under the guidance of senior engineers.
-
Strong written and verbal English communication skills.
-
Basic Python skills (or willingness to learn) to write and enhance automated tests.
-
Familiarity with open-source development practices and workflows
-
Practical experience using Git and GitHub for day-to-day development and code reviews.
-
Ability to work within a large existing codebase and implement well-scoped features fixes and improvements based on agreed designs.
-
Exposure to data storage file systems or related infrastructure components
-
Familiarity with core distributed systems concepts (e.g. replication consistency fault tolerance)
-
Experience working in distributed or remote teams is a plus
-
Any prior contributions to open-source projects (bug reports small patches documentation etc.) are favorable