One of the questions I often get when meeting new mainframers or when speaking at a career day is what do you actually do everyday? Yes, I am a nerd at heart and I spend a lot of time coding HLASM, but there is a lot more too this career than what you may think.
While I would recommend you checking out session 3113 at SHARE in Austin, What Does an Application Developer Do Anyway? A Dual Perspective, I would like to share with you now what a busy day might be like for me. This is a busy time for me - preparing for SHARE, managing zNextGen and getting real work done all in one day is a challenge.
So here is what an example of a day this week:
- 7am: Check email before getting ready for work to address any important issues that came up overnight
- 8am: Bike to work (if it's not raining!)
- 8:30-10:0am: catch up on emails, phone messages, Bugzilla, wiki, etc and pick up where I left off coding an enhancement
- 10-10:30am: Draft up zNextGen listserv email and other minor zNG to-do's for SHARE in Austin
- 10:30am: SCLM meeting
- 12:30-1pm: Resume coding
- 1-2pm: Run a house-related errand and grab a quick lunch
- 2-3:30: Research and work on enhancement
- 3:30-4pm: Get with Tony to ask questions & go through some XDC testing
- 4pm: Continue enhancement & development work, along with more research
- 5:30-8:30pm: Bike to gym for a workout, then bike home
- 9:30pm: work on SHARE and zNG presentations
Busy days before SHARE but I certainly enjoy what I do and am very passionate about zNextGen!
So during a day on the job, I work with a PC with 2 screens - this makes my life much easier! I login to our code base via Hummingbird (other options are Extra, etc). I use ISPF, SCLM, RACF, BookManager and listservs to code and look up information (among many other information resources!). We use Bugzilla to keep track of enhancements and bugs. There are so many good tools for good programming and development - it can take time to learn all the fun details, but it's worth it. Trust me, once you code on a "green" screen, you'll forget GUI coding!
As an Application Developer, besides HLASM, I need to know REXX and JCL pretty thoroughly. XDC is my favorite debugging tool, and knowing how to debug your code is just as important as knowing how to write it! Library managment and communication are also important for developers - maintaining code library separation and cohesiveness is key and it's always best to communicate on a regular basis with the R&D team, the doc team, upper management, peers, marketing and the administration for your company.
Besides coding and technical tasks, there are meetings, conference calls, emails, business trips, presentations, interviews and blogging that I do as part of being an application developer!
This may sound like a lot of work...it is! But there are plenty of mainframe topics that I don't know and don't necessarily need to know: TCP/IP, Linux/VM, Networking, MQSeries, WebSphere, SOA, etc. These are all interesting and hot mainframe topics, but they're just not needed for me to succeed as an application developer.
I hope this helps to create a realistic and clear picture of what a mainframe application developer career might entail for you. Whether you are a new mainframer or a computer science student, I encourage you to explore this career role and the many others that are out there too. You don't have to be a nerd at heart like me to enjoy a mainframe career!