#47 Clean Core 2, OOP, Workday, Upskilling, XR, Vianai
Hi there,
Fall is here. In Minnesota this morning the outside temperature was 36F (2C). Car windows had frost on them. Those of us in that climate are now preparing our nerd caves for hibernation, so that when we emerge in spring all of this clean core and generative AI business will have sorted itself out.
At least we hope that’s how it works!
-Jelena and Paul
Young Man, Go Clean Your Core This Instant
Forbes' Adrian Bridgwater mixes it up with SAP's Sebastian Schroetel on the topic of "clean core" in ERP. OK…"mixes it up" sounds like they got in a fight. That's not quite right. (Can you imagine a schoolyard fight about ERP system customization strategies? Weird.)
Schroetel notes it's been about five years since "keep the core clean" became a thing. If marketing material and conference talks are any indication, it's only grown in the zeitgeist since. But Bridgwater is right to point out that there's still some confusion about what the heck it means, and offers his take: "Being truly ‘clean’ includes adhering to standardized guidelines for all elements of the core as they reach and extend upwards into the application and service layer…changes can be put in place without significant manual efforts to test and adapt existing structures."
Maybe I'm jaded. I'm skeptical about just how clean a system can be and still serve the unique needs of a complex business. It sort of feels like…you have to reduce the scope of any system if you hope to accomplish "clean core". The more it takes on business-process-wise, especially in a large business, the greater the need for weird little tweaks that no other business in the world will need. I mean, businesses exist because of their uniqueness. I think the really big customers should think along the lines of cleanable core - have a keen understanding of what you've done to your systems, and develop a culture of tender loving care for all those weird little tweaks - including removal when they're no longer needed. PM
OOP vs The World
Nothing starts a virtual brawl among developers like replying to an innocent request for “practical use case when it’s better to use classes [in ABAP - JP]”. Bring ye’ torches and pitchforks, lads!
In SAP Community, “procedural vs OOP” debates already peaked a decade ago (this post brings back memories of good ol’ times when SCN was the place to talk about things like that). Outside of SAP and ABAP, videos like OOP sucks or more reserved Object-Oriented Programming is Bad are abundant. Heck, even OOP wiki page mentions criticism by some programming luminaries.
So, is it good or is it bad, after all? And if it’s bad, why SAP is pushing us to use it in ABAP? I’ve been very late on this train and wouldn’t call myself proficient in OO design by any means. But for me, using classes in ABAP is worth it even just for exception handling and for the clear parametrization, as well as shorter code (RETURNING rules).
Most problems arise, I believe, when developers start overthinking and get into “paralysis by analysis”. The pressure to come up with brilliant, “as seen on TV”, OO design becomes too strong.
We start obsessing about being “proper” and flip nervously through design pattern books because that’s what luminaries told us. Yet we find no answers and then sheepishly retreat to “what we’ve always done”. Or, on another end of spectrum, there is that development lead who took a Java and UML course at the Uni and starts designing the jungle when all you need is a banana.
Either way, the result is just the opposite of promised OOP maintainability and ease. I think the main reason why such efforts fail is they violate KISS principle. Remember, “complexity very, very bad”.
As I was struggling to keep this story under 400 pages, the perfect conclusion came in form of a comment on the OOP is Good video (from the author of “OOP is Bad”, ironically):
Don't put yourself in the mindset of following a specific programming-paradigm. Design your app around the problems at hand. If Data Driven Programming gives you an advantage, use it. I would even advise you of mixing programming-paradigms throughout the code depending of what task you need to solve. Use the way that leads to maximum performance AND elegant code. Don't throw away concepts like OOP or functional programming just because DDP was superiour in some cases. Learn to use them all when appropriate.
There you have it, guys and gals. Don’t pay attention to the labels, use what works for the task at hand. JP
Vianai Values Validation
I spoke with Chief Design and Strategy Officer Sanjay Rajagopalan of Vianai Systems about the state of play in enterprise AI, and Vianai's approach to enterprise generative AI. I've written about Vianai previously, and that prompted an opportunity to speak directly to a voice inside the company. For enterprise nerds, there were a few things I thought would be interesting to share.
Sanjay highlighted enterprises' need for verifiability in generative AI. Pretty much any enterprise-y person exploring generative AI eventually hits a hard problem: what do we do about hallucinations? There’s a trap: things like ChatGPT take on characteristics that humans interpret as human-like, and speak in a very knowledgeable tone - which tends to fool us meatbags into taking generative AI output at face value. Vianai has started their spin on improving this with veryLLM, an open-source toolkit they've produced. It can take output generated by a large language model (LLM) and compare it with trusted sources of truth, then present users with a second set of validation eyes. Basically, it answers the question “how close is what the LLM said to the actual truth?”
Sanjay also talked about a vision of the future where, for enterprises, there won't be a single mega-genius model. There will be swarms of models that receive, orchestrate, and respond to requests. Vianai recognizes that there will need to be a TON of tools in the mix: verification, cleaning, processing input and output, and so on. I'm fascinated by cream-of-the-crop AIs like GPT-4, but it may very well be the case that most productive AIs are somewhat more single-purpose.
If you want to dive a little deeper, brush up on retrieval augmented generation and semantic similarity. My nerd engine is redlining for AI these days, I just can't get enough. PM
Upskilling But When?
These days you can’t swing an internal table without hitting another article about upskilling for developers. AI is taking our jobs, and the world will definitely end if you don’t get cloud-ready yesterday. FOMO narrative is strong with this one.
How do you even find time to learn though? Everyone will have a different answer here. (Parents of pre-school kids, you are excused, please put this down and get some sleep. Thank you for your service.)
There are definitely people who live and breathe development and enjoy coding on and off work. I think it’s great but it can contribute to a dangerous stereotype that “24-7 cool hacker” is what it means to be a developer. As the comments here suggest, “cool hackers” are definitely not the majority. Developers can have different hobbies and in general, life (gasp!) outside of development.
This may sound controversial, but I believe upskilling for work needs to happen during work hours. Companies with “skill shortage” are frequently the ones that also maintain 100% employee utilization and don’t leave any time for learning. Connect the dots, folks. JP
XR: Desperately Seeking Business Case
When Minority Report movie came out in 2002, the executives were dazzled by the cool display that Tom Cruise and other future detectives were waving hands around. “How can I get my financial reports to look like that?” was the question on all the C-suite minds.
Since then, every technology company has promised to razzle dazzle us with augmented (AR) or virtual (VR) or enhanced in every possible way (XR) reality. Even SAP, far from being the usual suspect visionary, presented augmented something at every SAP TechEd I’ve been to since 2014. Not gonna lie, it all looked cool. But every time the excitement gets ruined by pesky “nice, what do I do with it?” questions.
Meanwhile, infamous Google Glass folded, Metaverse & Co are barely talked about, and when was the last time you’ve heard about “wearables”? CIO Magazine put XR as one of the most overhyped technologies in IT. SAP, late for both adoption and abandonment, is still staying the course with this “emerging technology”.
Maybe SAP knows something we don’t and will have the last laugh on this. But I think it’s time to give XR a rest, at least for a while. Someday (2054?) we might get fancy Minority Report tech (and not their judicial system, hopefully). But first, someone please find an actual need for it. JP
Workday Announces: Yep, GenAI
Generative AI's powers are taking on a general shape across enterprise vendors. Job description-writing comes up SAP/Oracle/others, as well as career planning/goal setting. Not to be left out, Workday announced more power and refinement to its genAI-infused offerings at their Workday Rising conference at the end of September.
There's also, of course, a developer copilot. "Copilot" is used so often that it's going to lose all its meaning pretty soon - so if you just imagine all the ways the other copilot products work, you'll have a good handle on this one.
The most interesting thing in this is that the announced features won't appear for at least 6 months. Can you imagine what the state of the art in generative AI will look like in that time?
None of this is to be harsh on Workday. The genAI use cases with real value attached keep piling up, and everyone seems to be all in. The differentiator is not going to be the generative AI tools enterprise vendors bake in (because they'll all have them), it's going to be: how in the heck are you delivering the things that businesses need? The biggest winners are going to be the core model producers, because everyone else's products are going to need their juice as table stakes. PM
Watch the corresponding Nerdletter Talk discussion to augment the reality of this newsletter!
Don’t miss our presentation and roundtable discussion at ASUG Tech Connect November 7-9.
Hate Twitter? Find us on BlueSky!
Boring AI Nerdletter issue #5 is out.
A tall mug of pumpkin-spiced latte goes nicely with the newsletter. Thank you for your support!