#64: ABAP and AI, REST, Prompting, More AI Job Craziness
In this issue:
Midsummer Thoughts on ABAP and AI
SAP’s blog post LLM Fine-tuning stirred some unexpected controversy by sharing an AI-generated ABAP code snipped and claiming it to be a correct solution vs ChatGPT getting the thing completely wrong. I pointed out in the comment that the solution is not correct in S/4HANA 2022 system. Since then, another comment clarified that it is valid in 2023 system where interface was changed. I’m relieved there isn’t a glaring error in SAP’s LLM, but this example left a sour aftertaste for several reasons.
For starters, the way interface was changed between 2022 and 2023 seems rather questionable. The method named “contains” was returning a Boolean (well, ABAP equivalent) value, just as one might expect: it either contains a value or it does not, there isn’t room for Schroedinger’s stuff in programming. New method version also returns the actual data despite there being a separate “get” method. I feel that violates several OOP principles and doesn’t set a great example.
What also does not set a great example is the generated code. Understandably, it will not always be elegant but it doesn’t mean it should look like it was written in 1999.
When I started my first ABAP job, I was amazed that we could simply see standard SAP code. Wow, this means I can learn from the masters! Naïve, I know. It took me less than 3 months to realize that not every developer employed by SAP is ABAP visionary. But still, ABAPers (even myself included occasionally) peek at SAP’s code trying to find greatness or at least some new ideas. We expect more from SAP’s development work.
Seeing not-so-great SAP’s ABAP code disappoints me differently these days: it makes it harder to encourage new generations of developers to do better. Why should anyone care about Clean ABAP or refactoring when SAP themselves don’t?
Shoddy generated code will result in more shoddy code, generated or otherwise. Eventually, we will end up with ABAP equivalent of Idiocracy. I guess we better freeze one of the SAP developer advocates in a pod to save us in future. JP
Sponsor: Nuve
Brought to you by Nuve
SAP pros, are you tired of spending countless hours on mundane SAP operations tasks? Do you dream of a world where system refreshes don't eat up your entire week, or worse, weekend?
Look no further than Nuve Platform! While everyone's buzzing about AI, Nuve is quietly revolutionizing SAP operations with practical automation that actually saves you time and headaches. Imagine refreshing your system from a productive backup with just minutes of downtime. Picture hundreds of tedious steps condensed into a single, efficient process ensuring consistency and eliminating manual refresh nightmares.
Don't let the AI hype distract you from the real productivity gains waiting at your fingertips. Contact Nuve today, your sanity will thank you! #BoringButBrilliant
[PM: I use this product, and it truly delivers. Read my review here.]
SAP AI Strikes Back
Earlier this year, SAP planned to shed 8,000 positions in favor of Business AI investments. Now they're adjusting that figure upward, looking at another 2,000 restructured jobs. Let's not cast SAP as the only tech company making human resource moves with their eyes on the future of AI - we've seen this story play out elsewhere in the past year.
Maybe this is what the AI job revolution looks like. It's not so much your boss sending you an email that says "We trained an AI to do your job - collect your things and take a hike". It's your company saying that AI has shifted the landscape entirely: "AI doesn't do your job, it's made your skills irrelevant." (Maybe there's not much difference between those two statements.)
It's looking more and more like blowing this off as a fad is a dangerous gamble. It's just plain practical to learn how AI tools can improve your working life. I am NOT saying that ChatGPT is conscious, self-aware, or hyperintelligent. I'm not philosopher or scientist enough to figure out how to know those things.
I’m keeping my eye on this. At this point, it’s not a matter of whether AI can take your job. It’s a matter of whether the people holding the purse strings believe AI can take your job. PM
This Is How We Defeat Them
Salesforce and Workday have put out a typical corporate blather PR release about forming a partnership to make "a new AI employee service agent" which promises "onboarding, health benefit changes, career development, and other tasks will be easier than ever". Sounds like ChatGPT-HR.
If your day job is doing HR things like those above tasks, you may be worried about bots taking your job. But I think there's a secret here: because you work in HR, you have the power to prevent this from happening! Here are a few easy tips for you HR folks to defeat the Salesforce/Workday bots:
Institute policies for hiring that only humans can follow. For example, "proceed to the next page of this form only if you have consumed nutrients today".
Hide secret infinite loops in the onboarding instructions. Ensure that completing step 4 of the process requires completion of step 2, but make step 2 require step 4. A human will break out of the loop and complain - a bot will time out.
Use the XKCD "Land Before Time" strategy. No human alive would not feel sad about Littlefoot's mother, and language models are probably susceptible to the "no lying" command.
Keep your chin up! Your jobs will be safe, as long as you build "defeating AI" into the hiring process. PM
Selling Delicious Software
Thomas Otter’s post Menu vs Recipe speaks mostly to the sales crowd (no surprise since Thomas is an ex SAP product manager turned venture capitalist). But as any good prose, it gave me some thoughts about universe and everything.
A restaurant is a relatable example but the main difference with software / technology is that people really want to get into a good restaurant. They read the reviews, heard from the friends, saw the Instagram posts. They trust the chef and are pumped for the experience. Difficulty in gaining a reservation contributes to the sense of luxury and ego-boosting. “You ate at that restaurant?! Wow, you really made it, buddy!”
But no one in the business is excited about enterprise software. They already have a table at La Maison Excel anyway.
There are some points I fully agree with though.
“Don’t be the pasta-sushi-curry restaurant” – yes! Keep it short and simple.
“You have the curse of knowledge. Manage that carefully.” I bet SAP consultants would nod to that.
“Look at your website”: as a techie, if the website doesn’t answer right away “what does my thing do, how it works, and WIIFM”, I usually move on. Looking at SAP websites, I can never understand how they manage to sell anything. Hm. JP
You REST on a Throne of Lies
In Turns out REST APIs weren't the answer (and that's OK!) Dylan Beattie takes on the old debacle of what really is a REST API and how everyone is doing it wrong.
In addition to subtle humor (I chuckled at “The Consolidated Cheese and Diesel Corporation” data example), this video offers simplest and best explanation of what proper REST API actually is and how it differs from uh… the rest.
If anyone is interested in a deeper dive on this subject, I recommend the excellent Rebranding REST article. It brings a good point that we should just put the term REST to rest (these puns just write themselves!) and use “HTTP API” and “hypermedia API” instead.
I like Dylan’s observation that language evolves and it’s OK to let go of terminology that outlived itself or maybe just ignore the fact that what we call REST API isn’t that at all. We see that in SAP world as well: for example, I know someone who could die on the hill of “SAP Fiori is a design system” while many others just call it a platform and move on. And that’s OK. JP
Prompts On Prompts On Prompts
I regaled you last time with my Claude Boring Enterprise Nerds Copy Editor. It's worked well for me - it plays its role with aplomb, never skimping on the snark I told it to bring.
In the last couple months, Anthropic has added a few more tools to their developer console. My favorite is "Generate a prompt". It allows you to start off with your own thoughts on what you'd like to ask the AI, and uses some really cool reflective prompting to bring all its FLOPs to bear on improving your prompt.
So of course I gave it my original editor prompt, to see what it would fix up. Results have been promising. The prompt is more clear and direct, while retaining my original directions almost perfectly. I'm sure some of you see what's coming: I then re-submitted Claude's fixed prompt as a new prompt to fix up. Even after folding the prompt in on itself 4 times, it comes out almost exactly the same as the first fix-up. I guess Claude thinks very highly of its own work.
The only thing I had to fix up was that the new prompt didn't go strongly enough into the "don't you dare write anything for me - only feedback!" realm. I manually tuned that direction to a stronger space. I like that there's a technology now that is arguably capable of something resembling thinking…but that doesn't mean I want it to do mine for me. PM
Want to hear about importance of communities and what’s in ASUG plans for 2024? Tune in to our Nerdcast episode 19 where we welcome back Geoff Scott, CEO of ASUG (Americas SAP User Group).
Want to find out what on Earth is SAP BTP? Watch the latest video from Jelena Goes Online series. We bravely visit SAP websites. Hoo boy…
Want to continue receiving this newsletter free? Support the nerds by buying us a cup or two of coffee. Thank you for your continuous readership and support!