|The SAP Mentor Spotlight Interview Series highlights strategic topics, such as UI5, learning, and other topics, and provides insights from Mentors and SAP leaders on turning ideas into innovative approaches that impact people, processes, and technology.|
A key attribute of a successful career is taking on new challenges and considering every opportunity that life presents. Whether venturing down a new career path, presenting at a conference despite stage fright, or learn something new to stay ahead of the competition, it is important to seize upon these opportunities which foster growth as an individual and professional.
Paul Hardy was able to take make many positive choices throughout his career, which led him to his current position as an SAP ABAP Developer at Heidelberg Cement. Since making the decision to become a developer, he has written three ABAP books, and taken an active role in the SAP Community as an SAP Mentor.
I recently caught up with Paul to learn more about his experience as an SAP ABAP developer.
Stacey Fish (SF): What inspired you to make the career change from an accountant to an ABAP developer? Did you know you were interested in coding during your time at Brunel University? How did this career change your work at Heidelberg Cement?
Paul Hardy (PH): I was interested in programming since I got a Sinclair ZX81 computer when I was 14 – the language was BASIC. At my university in London I learned Pascal. As an accountant my programming was limited to writing macros in spreadsheets. I discovered the value of programming on my very first day on the job. When I lived in Israel, I was a functional accounting consultant and was assigned an ABAP programmer who was so lazy he would do anything rather than work, so he explained to me lots about ABAP. When he was sacked (for never working) I thought I would use my newfound ABAP knowledge to change careers and the rest is history.
SF: You clearly have a passion for ABAP development, having written three books, including ABAP to the Future (and an upcoming 4th edition). What inspires you to share your knowledge with others whether through writing or presenting at conferences?
PH: I do public speaking because I am terrified of it. Toastmasters is a wonderful organization to help you in that area; public speaking is much more scientific than you might think. I write to force myself out of my comfort zone and keep abreast of current technology. If one cannot explain something to someone else, it means they don’t understand whatever it is. If one cannot make stupid childish jokes about that new technology, it means they do not understand whatever it is. Since my books aim to do both, I am forced to gain an understanding of new technologies.
SF: How did you become an SAP Mentor? What does it mean to you to be in this program?
PH: I really had no idea what the SAP Mentor program was all about, but I had a gut feel I wanted to be a part of it. I was nominated by the editor of ABAP to the Future, but that did not work, so I nominated myself and that did work.
Being a Mentor is wonderful – one can actually make a difference. When I lived in Heidelberg I was in and out of the SAP headquarters like a yo-yo, telling SAP whenever their new proposed product was less than optimal. They need to know this sort of thing because then everybody wins. My absolute favorite memory was when I asked so many questions about the (then brand new) SAP RESTful ABAP Programing (RAP) that the product owner and the owner of ADT took me out for beers and pizzas in Heidelberg to answer all my questions, and then I went to a workshop on the RAP at the SAP headquarters at which I was the only non-SAP employee. It’s like not just driving a car, but being able to make that car better the more you drive it.
SF: In your blog post The ABAP Chicken and the ABAP Frog, you emphasized the importance of improving the quality of ABAP code. Can you give a couple examples where developing code around clarity, stability, and performance led to impactful IT and business outcomes?
PH: Those aspects of programs – clarity / stability /performance – are more interlinked than people might think and can all be caught with the extended program check and code inspector. As an example, I was given a problem whereby a batch job that ran every five minutes took five minutes (300 seconds) to run. I got that down to ten seconds and it was not even very difficult. First, rename all the obscure variable names so you can tell what the program is supposed to be doing – that’s clarity. Then run the automated checks for stability and performance. In this case, the twin problems were using standard tables when SORTED or HASHED tables would have been much better, and the program was doing database reads in a loop as opposed to getting the data all at once. That scenario was so easy to fix and afterwards the runtime was ten seconds.
SF: In your e-book Migrating Custom Code to SAP S/4HANA, you highlight “starting with a code analysis to identify unused custom code, underperforming SQL queries, and non-robust code.” How have you used this approach in pilot programs to test drive development, enable scalability, and deploy automated testing?
PH: I cannot stress enough the importance of automated unit tests. Traditionally in ABAP programming when you fix something you break something else, so you are constantly runningaround in circles. It does not have to be that way.
There is no point in sugar-coating this – it is neither fun nor easy to transition to a test-driven development mentality. It seems like such a waste of time initially, but once the light bulb goes on your entire world view will change and you will be ten times the programmer you were before.
As for unused code – SAP gives you great tools, but it is easy to spot unused code. If someone is not complaining about a program, that means the program is not being used, because no-one is every happy with anything. My advice is that every time you have to make a change to an existing program (which proves it is being used) run the extended program check and the code inspector (with the open source add-ins like Open ABAP Checks and the Code Pal) and fix every single one of the errors and warnings. Some people think that’s a waste of time as well, amazingly fixing such problems is even considered dangerous, and then the people who laugh at doing such a silly thing wonder why they spend 90% of their day debugging instead of making things better.
SF: From your experience, how does the ABAP RESTful application programming model enable new concepts, guidelines, and tools which encourage new programming models for ABAP development? At a high level, how do you see this model helping developers to efficiently build enterprise SAP Fiori and other apps on SAP BTP, ABAP environment?
PH: In the movie “Sleeping with the Enemy” someone asks Julia Roberts “Are you all right?” to which she responds, “I’m going to be.”
The RAP is like that – it is not quite there yet in my opinion at least, but it will be soon, and when it is perfected this is going to be a sea change. You have everything people liked about “old school” ABAP screen logic in DYNPRO programs (CHAINS and the like) but now in an MVC framework in a modern OO web-based environment. Lots of things that were implicit are now explicit. It will make programs easier to create and much more importantly easier to understand and thus maintain.
SF: What advice would you give to students and recent graduates who are looking to enter the job field as a developer, or change their career journey as you did from accounting and economics to development?
PH: You can easily tell if you want to be a developer. A functional analyst once asked me if she should change to programming. I showed her a telephone directory sized document which explained the mathematics of concrete mix design. I said if the idea of turning that into a giant computer program fills you with joy then programming is for you. She decided that it wasn’t for her, but a few years later I had that exact task and I loved it.
My advice to young people just starting out in IT is a “secret sauce” which is not so secret. It’s simply this – take a little time each week outside of work to learn new things. If you spend even half an hour each week, you will be half an hour up on all the people who just play computer games or watch Netflix in their spare time. The most successful consultant I know only spends four days a week working and the fifth day learning. As a result, he is so far ahead of everyone else he can charge so much more than his competition that the day a week not working more than pays for itself.