THE LINUX FOUNDATION PROJECTS
Blog | Mentorship | Zowe

Summer Mentorships 2026: LFX Mentorship Mid-Term Report

By | August 10, 2026

Ashish Kumar Dash

Written by Ashish Kumar Dash, Open Mainframe Project Summer Mentorship 2026, mentee researcher, guided by mentor Francesco Giordano

About This Program

I’m an open source enthusiast with a strong interest in Java, backend systems, and open source. Through the LFX Mentorship I joined the Zowe community to work on the Zowe Client Java SDK — a library that lets Java applications talk to enterprise IBM z/OS mainframes through the z/OSMF REST APIs.

My goal was to ship real, production-grade features into an actively used open-source SDK while learning how mature projects hold the bar on design, conventions, and code review. This report covers everything from PR #513, the start of my mentorship, through the mid-term checkpoint.

What I Worked On

My contributions clustered into three areas:

  • Features (new z/OSMF REST APIs) — Create Workflow, Retrieve Workflow Definition, Get Workflow Properties, Delete System Variables, and Local-File Workflow Create.
  • Framework enhancements — extended the shared REST layer so DELETE requests can carry a JSON body — a reusable change now consumed across the SDK.
  • Code quality and refactoring — standardized Javadoc/API-doc conventions and simplified the public API surface by removing a redundant overload.

Across all of this, I authored typed Jackson response models and comprehensive JUnit/Mockito unit tests, and drove every change through maintainer code review to merge.

Pull Requests

All PRs below are merged into main.

PR Title It Established
#513 Add z/OSMF Create Workflow API First feature — WorkflowCreate, builder-based input, typed response and variable models, constants, and full tests. Set the template every later workflow API followed.
#515 Fix API doc URL and Javadoc style Corrected IBM REST API doc links and standardized Javadoc conventions across the workflow classes.
#516 Add missing Javadoc Completed Javadoc across getters/builders so the doc-generation build ran clean.
#518 Add z/OSMF Retrieve Workflow Definition API GET workflow definition with typed step/variable definition models and nested Jackson deserialization.
#522 Add z/OSMF Get Workflow Properties API GET workflow properties with property/step/variable-info response models.
#525 Add Delete System Variables DELETE system variables; enhanced the shared DeleteJsonZosmfRequest to send an optional JSON-array body without breaking existing bodyless callers.
#530 Remove redundant getProperties overload Simplified the API surface down to the builder-driven common method.
#546 Add createLocal for local-file workflow creation Ported the Node.js SDK’s local-file workflow create to Java — uploads local files to USS, creates the workflow, and cleans up temp files.

 

Challenges

  • Matching an established codebase’s conventions — early PRs went through several review rounds on Javadoc style, naming, and API-doc links. Internalizing the project’s implicit standards was the steepest part of the ramp-up.
  • Modeling large, deeply-nested REST responses — the workflow definition and properties payloads have many optional and conditional fields; deciding what to model strictly vs. tolerate flexibly (via Jackson) took real design judgment.
  • Changing shared infrastructure safely — adding a body to DELETE meant touching a class other features depend on — the challenge was making it purely additive so nothing existing broke.
  • API design trade-offs — choosing builder-based inputs vs. positional params, and reusing an immutable input class via a copy-builder, meant weighing ergonomics against consistency with the rest of the SDK.

Reflections

The Program

The LFX Mentorship structure — a clearly scoped set of issues, direct access to maintainers, and a real merge-to-main workflow — made this feel like genuine professional experience rather than a sandbox. Working in the open, with public PRs and reviews, was a great way to build both skills and a track record.

The Project

Zowe Client Java SDK is a clean, consistent, well-tested codebase with a strong “reuse before you build” culture. The uniform structure across modules meant that once I learned one API, I could contribute the next much faster. It’s a welcoming project for newcomers who are willing to meet its standards.

Looking Ahead — Second Half

I plan to continue expanding z/OSMF workflow and system-variable coverage, strengthen tests around the newer features, and take on larger cross-cutting work now that I’m fluent in the codebase’s patterns.

 

Stay tuned for more mentee blogs as our Summer Mentorship Program continues!

Share