Debugging IBM Z

Contributing @ Open Mainframe Project

During my internship at IBM, I got a front-row seat to the world of mainframes—those mythical beasts of enterprise computing. Specifically, I worked on Tessia, an open-source tool that automates and simplifies the installation, configuration, and testing of Linux on IBM Z systems. Originally an internal IBM project, Tessia was open-sourced in 2020, letting the community get their hands dirty with mainframe automation.

Taming the Automation Beast

My job? Build tooling to automate the installation and testing of Linux on these massive machines. This meant getting comfortable with virtualization, containerization, and mainframe computing, while also navigating the sometimes-chaotic world of open-source development.

Most of my work revolved around fixing bugs in production—small but crucial changes that improved reliability. Sure, they weren’t headline-grabbing features, but they taught me a lot about the software development lifecycle and agile methodologies in large-scale projects.

Agile, Open-Source, and International Chaos

Working with a team spread across time zones meant learning the art of asynchronous collaboration. We followed agile development principles—iterative improvements, continuous feedback, and structured workflows. The open-source nature of the project added an extra layer of transparency, making every decision more visible (and sometimes more debated).

Writing clean, well-documented code was a non-negotiable. Open-source projects live and die by their documentation—if future contributors can’t understand what you wrote, it might as well not exist. I learned firsthand how test-driven development, version control discipline, and clear documentation keep a project from spiraling into chaos.

Lessons from the Mainframe Trenches

Wrapping Up

Developing software for mainframes isn’t just about writing code—it’s about keeping incredibly complex systems running smoothly. My time at IBM immersed me in this world, where collaboration, maintainability, and adaptability are just as important as technical skills.

This wasn’t just a coding internship—it was a lesson in how software development works at scale. And honestly? It was pretty fun.

Next Project

Automating Cloud Troubleshooting