#60: Bye Hasso, Code Review, ABAP Succession, UI5
In this issue:
Succession: The ABAP Edition
We talk a lot about upskilling and “lack of skilled resources” comes up as a concern on every SAP customer survey. Yet there is a more specific problem waiting right around the corner: the succession from the generation of grizzled ABAP developers to the bleary-eyed ones.
According to SAP Developer Insights survey, top 3 countries where SAP developers are based in are: India, Germany, and USA. Europe, with its close proximity to SAP HQ, ABAPConf, and vibrant local SAP community scene might be in a better position with regards to ABAPer succession. Other regions not so much.
Paul and I often reminisce about our early SAP days when we were fortunate to have great mentors. Over the years, outsourcing resulted in ABAP jobs moving from the US to India. In this process, an invisible connection between the developer generations was mostly severed. Displaced US developers had no incentive to train their cheaper replacements. Meanwhile, in India the sharp increase in demand for ABAP workers caused The Invasion Of The Hot Skill Chasers.
I don’t have any statistics on this and am judging mostly by the code that is produced by many developers from outsourcing companies and by the posts I’m seeing online. Let’s be honest, some folks really shouldn’t be working as developers to begin with. But even those who are qualified and interested seem to be having a hard time finding mentorship like Paul and I were availed of.
With the loss of potential mentors in the US, why no new mentors emerged in India? One factor is that ABAP jobs are viewed as transitive, merely an entry point to more lucrative SAP roles. (You can see posts like “I’ve done 1 year of ABAP, what’s the next step?”) Another factor is, from what I’ve been hearing for years, some more experienced developers are propagating bad and outdated practices with hardly anyone daring to challenge them because it’s not a custom and could even get one in trouble.
A good mentor will guide to better code, to the questions that should be asked. They will explain the whys and will never use phrases like “because I told you so”. The absence of such mentors is why we often see subpar “coding to the specification” in SAP systems. It’s not always visible to the customers because on the surface the code works. But pretending it’s all right is like covering a ticking time bomb with a doily. JP
Sponsor: Nuve
Brought to you by Nuve
Developers! Are you wondering if your classic ABAP skills still hold value in today's job market? [JP: They don’t.] Are you eager to master building BTP apps that seamlessly connect with an on-prem system?
Look no further than Nuve Platform! Subscribe to Nuve and unlock the SAP Sandbox of your dreams, and easily link it to your BTP account. Use discount code NotBoringDevelopment to enjoy your first month free on the Developer Plan!
[PM: I use this product, and it truly delivers. Read my review here.]
Yeah. Another AI Story. DEAL WITH IT
When I get questions like “can generative AI predict when our widget sales will improve by 14%?” I know that I can mentally filter out the ‘generative’ part. The crushing tidal wave of genAI hype has caused the term “AI” to be one and the same with “ChatGPT”.
AI is way more than generative AI. A Gartner survey (discussed here) in late 2023 found that generative AI had climbed to the top of the list of enterprise AI adoption. The interviewee of that piece, Leinar Ramos, identifies four ways that non-generative AI is still the best way to do many enterprise-shaped activities:
Forecasting from already-held data, like predicting sales, maintenance of machinery, and so on. Your favorite chat bot cannot currently know when your Turbo Die-Stamper 3000 will go kaput.
Planning and optimization. Hallucinations do not make great plans (unless you’re on a vision quest?)
Autonomous systems, e.g. automated trading.
Fellow nerds, we’re going to get this kind of question more and more. I think it’s good to know both the promise of generative AI and the power of what we’ve had for years - which is really really good. PM
The Art of Code Review
The only programming subject that generates more memes than JavaScript framework abundance is the code reviews. (See Exhibit A and Exhibit B.)
In ABAP, the code reviews are not talked about much (or even exist much?). There is this interesting thing but it’s more about the mechanics of code management than about the peer code review process.
I like the word “peer” here because it’s exactly what it should be. It can be a learning experience for both code author and reviewer and turning it into a one-way “approval by senior developer” would rob them of this opportunity. Quite a few times I learned myself from a code review done by a less experienced developer. If my awesome code cannot be easily understood, maybe it’s not that awesome after all?
There are many opinions on what code reviews are. I’m in the same camp as this author: the code review purpose is not to find bugs or check against the functional specs. Some questionable code is usually spotted organically but in general, the code should already be tested and checked by all the tools available before it’s sent to another human.
The main purpose of the peer code review should be to answer this question: “If I need to maintain this code later, is it easy to understand, to troubleshoot, and to modify it?” It’s hard to disagree with this approach because we’ve all had some lousy code bestowed upon us at some point. Who wouldn’t want to help their future self?
I really wish such code reviews were widely adopted in ABAP development. Writing up a checklist like this one for ABAP looks like a prime opportunity for an open-source project, wink, wink. JP
UI5 FTW - LFG!
In celebration of the OpenUI5 10-year anniversary, Jelena pointed me to this SAP community blog post telling Noël Hendrikx's UI5 story. Noël's story feels like a very common one: lots of people grew into UI5 from a Portal background. In the US, you can still find a few of them kicking around Mindset Consulting.
I have a warm place in my heart for UI5. I freaking better, I wrote three separate books featuring UI5 to some degree or another! It's where I got a chance to make SAP-based applications that didn't just…suck. When I started in ABAP, I did RICEFW work that included making screens in SAP GUI. And while I thought it was neat to be near business processes with ABAP, I also thought "I can't believe the cool thing that I'm doing looks like garbage!" Best of all, it goes hand-in-hand with OData, which we've written about before. The one-two punch of UI5 and OData opens tons of technical doors for developers.
OpenUI5 is the most significant thing to come out of SAP open-sourcing stuff, by a long shot. Huge respect to the UI5 teams both within and without. It was, and is, a seismic user experience shift that was sorely needed - and it delivered on its promise. Also I CAN'T BELIEVE I MISSED THE DATE! I'm so embarrassed. PM
900 AI Tools On The Wall
Do you like data, graphs, open source software and/or AI? If yes, then you will be thrilled, delighted, galvanized, tickled pink, psyched and/or stoked by the article What I learned from looking at 900 most popular open source AI tools from Chip Huyen.
I like how the article organizes AI stack into 4 “layers”. Unless you’re an AI buff, you’ll likely see some layers that you haven’t even thought about. Also, the tool category “seemingly niche tools that solve one problem really well” is on point and it might be the most useful one.
After randomly poking the top items, Screenshot To Code is my favorite. If only there was also a tool that takes a SAP GUI transaction screenshot and tells where the data is coming from, that would be amazeballs!
Awesome Prompts project that I wrote about in the previous issue is also on top of the list. Plus, the list itself is built using Airtable that got a honorary Nerdletter mention before. So meta! JP
So Long, And Thanks For All The HANA
On May 15, Hasso Plattner stepped down from the SAP Supervisory Board. The writeup says it best: “It is truly the end of an era.” I’m not really worried about SAP, of course. It’s gonna be fine for a long time, and if I stay adjacent to the SAP space it’ll get me into retirement.
Reading through Hasso’s accomplishments gets me thinking about vision. Peruse the profile and look for the words “new” and “future” sprinkled throughout. It’s rare to see so many things piled into one career. And it’s truly special for someone to both articulate a detailed view of the future and put pencil to paper in achieving it. If I were to define “vision” I’d have to include both the view-articulating and the thing-doing: a view without action is impotent, and action without a view is chaos.
SAP itself, d.school, HPI, HANA - so much influence, across so many boundaries. Vision is what makes it happen. PM
Like what you see? Consider supporting this Nerdletter by buying us a cup or two of coffee. Thank you for your continuous readership and support!
Watch the Nerdletter Talk 60 video where we discuss the stories from this issue and share controversial bonus content.