My name is Win Geigerman. I’m a rising senior at UNC Chapel Hill, and in just a few short months, I’ve transformed from a nervous Computer Science student to a workforce-ready programmer. Before, the only time I’d heard ‘mainframe’ was in a movie. Now, I’m comfortable with a variety of z/OS commands. This is all thanks to the Broadcom Next-Gen Mainframe program.
At the beginning, I was assigned a buddy who set out a project for my co-intern and I. Our buddy ran daily scrums for our project, where we agreed upon story requirements and points before taking them on and completing them. Every day, we spent our time researching, designing, or developing features. This was broken up by our scrum, interviews, and the occasional demo. I underestimated the amount of personal growth I’d experience from such a straightforward routine.
By starting with a fresh codebase, I was able to develop rapidly and gain dense programming experience. I obtained great career insights by doing informational interviews with a host of engineers and executives from around the office. Additionally, I learned Agile by working in sprints to establish requirements and complete stories on a variety of tasks related to a greater project. Lastly, I gained confidence in myself through frequent demos. The rapid development-presentation cycle taught me to strive for greatness, achieve it quickly, and make it compelling.
Perhaps the most important lesson I learned was the definition of ‘done’. For my first few stories, I developed at a breakneck pace. I wrote uncommented methods spanning screens tall, added folders and files the way I throw stuff in my closet, and left a storm of technical debt in my wake. After three weeks, our buddy took a look at the codebase, and his face turned a mix of kind disappointment and abject horror. He provided a laundry list of suggestions to clean the code, and it took almost a full week to get the project up to a decent standard. That grueling week thoroughly impressed upon me the true meaning of ‘done’: not only functional, but cleaned, tested, and documented so thoroughly that a stranger can pick up where you left off.
Project
This summer, I worked on a proposed upgrade to Broadcom’s Watchtower. Broadcom’s Watchtower is a mainframe observability platform that aims to cater to users of different skill levels. Our goal this summer was to improve the user experience of new mainframe developers in a specific application on Watchtower. Previously, while using the application to troubleshoot, a developer would have to repeatedly refer to manuals and trawl through the relevant page to get key information. We drastically improved the new user workflow by turning the application into a one-stop shop where key data from documentation is suggested, loaded, and displayed in convenient panels.
Development Tools
Over the course of this summer, I’ve gotten to work with an extraordinary breadth of technology. The first task was building the skeleton of the app: we developed a frontend in React with Broadcom’s Precision UI, connected to a backend RESTful API with Java’s Spring Boot. Although I had never used JavaScript before, thanks to the wealth of available resources and ease of use of Precision, I hit the ground running with development. However, we soon ran into a huge hurdle: developing the build pipeline. Creating a fresh CI/CD pipeline with automated, containerized end-to-end testing came with a whole host of issues, especially when I was only vaguely familiar with Jenkins and Docker. Once we finished it, though, the development process accelerated rapidly. We built a web scraper to grab key data from the maze of links and pages that is z/OS documentation, and designed a Postgres database to store the various data types. We also developed a grammar using ANTLR to parse and interpret complex data at runtime. The cherry-on-top feature was developing an AI Assistant with retrieval-assisted generation to generate suggested actions directly from the scraped documentation.
Conclusion
Overall, the NextGen Mainframe program has easily been the best programming experience I’ve ever had. The connections, skills, and life lessons I gained from this experience are ones I will carry with me throughout my career. Thanks so much to all the amazing people who made this experience possible! If you’re thinking about applying to Broadcom’s NextGen program, just do it - I can’t recommend it enough.