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



