As some of you may know, I was recently married on June 7th and I’m now Mrs. Neely. Leave it to a mainframer to get married on 6-7-8 huh?
Since then, after enjoying a fabulous honeymoon, I’ve gotten some cute comments that have made me think about where I am today. Someone said to me, “so when’s the 3rd generation of mainframe Assembler developers going to pop out?” J As the daughter of the smartest mainframer I know, this question, apart from being somewhat cheeky, made me smile. My dad, Tom Harper, had no intentions to breed me as another mainframer yet here I am, wanting to learn everything I can from him to become a better developer. We just celebrated a belated Father’s Day, so what an appropriate blog right?
I’ve been thinking about some of the things I’ve learned that I really use everyday on the job as an Assembler software developer - some of the things my father taught me that are not necessarily underlined in any textbooks or taught in the chapters of lesson plans. I wanted to share some of these with you to hopefully pass on some valuable and expedient Father of the Bride tips.
- Getting my program to assemble clean is only 10% of the work.
I remember when I first started writing code and modules, I would struggle to get the code written. Then I would struggle more to get the module to assemble clean. I would shout “Dad, my program ran and it worked!” He would shrewdly reply “No, I think you mean it assembled cleanly.” And so then the real work would begin to actually run and test the program. The real work to find the exact HLASM instruction I needed to accomplish what I meant to do; the precise instruction sequence to make the code most efficient; or the perfect combination of structured programming macros (SPMs). “Computers only do what you tell them, not what you meant to tell them” my dad would say. But aren’t computers smart? Especially mainframes?!
- Using USING is the only way to fully understand how to use USING
I remember the first time I went to Dave Cole’s session on Using USING. I think I was 18 and when the session ended, I really couldn’t tell you a thing about USING except that it was the only HLASM instruction to start with a U. Dave is a great presenter and very knowledgeable, but I just wasn’t ready to be able to grasp the concept. I could have read the IBM manual a hundred times and still not get it. Some things, my dad said, you need to learn by doing. The USING instruction is one of those things in life where “you don’t know how to use it until you use it…but you can’t use it until you know how to use it.” So if you are coding something involving base, displacement, registers and/or symbol references, you’ll probably need a USING. And don’t ask me how to code one up – just try…and XDC! Push the instruction to the limit and make it do the work for you whenever possible – soon you will feel like you are using USING instead of USING using you! J
- Maintaining Assembler code libraries is crucial
As a new mainframer, one of the things I’ve learned pretty quickly from my dad is to always maintain your code libraries. The real world, with millions and millions of lines of code, doesn’t work like in college. Having one set of code libraries where you just update your modules whenever you’re working won’t cut it. It will only take one instruction to mess up the entire product by “making just this small little change”…and you’ll see how important it is to keep backups and all sorts of different code versions! Most shops have many libraries set up too: Development à QA à Testing à Production. And in development, each developer has his/her own set. “A product written in Assembler is only successful when all of its modules are operating on the same level.” So true! And not to mention fixes and new product versions must be carefully separated from (yet integrated too!) what already exists. When a library “goes bad”, time is wasted on finding and fixing the problem. You don’t want to be that problem!
- Social networking and interaction is actually a good thing
If you know me the way my dad does, you’d know that I’m not in any way a social butterfly. This company would go down in flames if I were in charge of sales! But when it comes to everyday work, I know I’ll progress a lot more each day if I don’t keep all to myself. Being new and working in a hall full of the smartest Assembler developers I know – there is opportunity every day to learn from the best. And if you’re a mainframer, you already know that “the more you learn, the less you know!”, so even on a good day at the office, don’t forget that there’s always something to learn from your peers. And at the SHARE conferences…my first SHARE I didn’t say a word and really didn’t enjoy the evening receptions much (but I tagged along with my dad…18, free drinks and nobody IDing me...what’s a girl to do). Too many people, nobody even twice my age (LOL!) and who would want to have a conversation with a girl who knew almost nothing about mainframes? Well, as it turned out, everyone! Socializing, networking and making new friends – all of this at SHARE and elsewhere has helped enhance my knowledge of Assembler. I’ve met some of my best friends and references by extending myself beyond my company’s network of people. Manuals are great, but nothing beats advice from the people who have been in your shoes!
So keep these things in mind as you go forth and code. Don’t be afraid to try or ask, keep each detail of the product in mind and talk to other mainframe geeks and dads. Or ask me!
I hope one day people will say, “you know, you’re beginning to code a lot like your dad.” Not only is he a great product author and developer, he gave an amazing toast at my wedding - he did much better than Steve Martin in Father of the Bride. I hope to indeed carry on his legacy of fabulous mainframe software development and make an impact on the mainframe world. And who knows, perhaps there will be a third generation mainframer one day. J
Be sure to check out the photo attached to this blog!
“You fathers will understand. You have a little girl. An adorable little girl who looks up to you and adores you in a way you could never have imagined. I remember how her little hand used to fit inside mine. Then comes the day when she wants to get her ears pierced, and wants you to drop her off a block before the movie theater. From that moment on you're in a constant panic. You worry about her meeting the wrong kind of guy, the kind of guy who only wants one thing, and you know exactly what that one thing is, because it's the same thing you wanted when you were their age. Then, you stop worrying about her meeting the wrong guy, and you worry about her meeting the right guy.”