As an entry-level Software Developer on the CephFS team, you will design, develop, test, and maintain component-level software features within our distributed file system platform. You will work in an Agile, collaborative environment alongside senior systems engineers to solve challenging problems in low-level file storage, performance, and reliability. Your primary responsibilities will include:
Develop Software Solutions: Design, write, and maintain code for CephFS storage components using C++ and Python, ensuring changes are unit-tested and integrated into the broader Ceph codebase
Collaborate in Agile & Open Source: Participate in daily team standups, code reviews, and open-source upstream discussions to align on technical requirements and design decisions
Debug & Resolve System Issues: Analyze, trace, and isolate software bugs and performance bottlenecks reported by customers or automated testing suites
Contribute to Test Automation & CI/CD: Write unit tests, integration scripts, and automated test cases to support continuous delivery and validate system stability across scale
Continuous Learning: Continuously expand your knowledge of distributed systems, POSIX file systems, and open-source development practices through mentorship and hands‑on projects
Programming Foundations: Proficiency in C++ or C through academic coursework, personal projects, or internships, alongside basic familiarity with Python for scripting and automation
Operating Systems Fundamentals: Solid understanding of core CS concepts, including multithreading, concurrency, processes, memory management, and basic file system operations
Linux Environment Comfort: Basic experience compiling, running, and debugging code in a Linux/Unix environment using standard toolchains (e.g., gcc/gclang, gdb, git, command-line tools)
Aptitude & Curiosity: Strong desire to learn low-level systems programming, distributed storage, and open-source file system architecture
Automated CI/CD Pipelines: Familiarity with contributing to the development of automated CI/CD pipelines that take code through various quality stages
Relevant Coursework: Completion of upper-level computer science courses in Distributed Systems, Operating Systems Architecture, Networking, or Database/Storage Systems.
Open-Source Exposure: Prior experience reading, building, or contributing to open-source codebases or community projects.
At IBM Infrastructure & Technology, we design and operate the systems that keep the world running. From high-resiliency mainframes and hybrid cloud platforms to networking, automation, and site reliability. Our teams ensure the performance, security, and scalability that clients and industries depend on every day. Working in Infrastructure & Technology means tackling complex challenges with curiosity and collaboration. You†ll work with diverse technologies and colleagues worldwide to deliver resilient, future‑ready solutions that power innovation. With continuous learning, career growth, and a supportive culture, IBM provides the opportunities to build expertise and shape the infrastructure that drives progress.
We use essential cookies to make this site work. With your permission we would also like to use the optional cookies below. Nothing optional is set until you choose, and you can change your mind at any time from "Cookie settings" at the bottom of every page. Cookie policy.
Essential — keep the site working and secure, and remember the choice you make here. Always on.