Okay – Now what? A developer pondering on how to be ahead of the curve with SAP…
Okay, to make an awkward combined sports metaphor, the SAP Developer Skills proverbial puck that Gretzky tells us to skate to where it’s going to be, seems to have split into several pucks in recent years and all of them are bouncing along a different mini-golf hole where there are multiple “holes” that may lead to better positions for your final putt; so I thought I’d take a moment to really sit down and consider: “How do I, as a developer, ensure I remain relevant, and hopefully, in-demand from an SAP perspective in 5-10 years?”.
I mean, 3 years ago now it was pretty evident what was required as S4/HANA came along bringing UX and HANA into focus. So combined with UX Design, Design Thinking and Agile approaches, this meant Gateway, SAP Personas, Fiori/UI5 development and HANA were clearly what the next curve was all about.
Middleware integration was and continues to be still an important skill but it fees like enough of us learnt the basics, and with SOA no longer a buzz word; changes in this space (not to mention, people releasing better interfaces), made this just something you could re-learn as required when it came up.
So back to 3 years ago when S4/HANA came along; from a technical perspective only, the following was introduced to SAP developers:
- The concept of a stateless/RESTful like solution via HANA and Gateway
Obviously lots more came along like XS Advanced development, Lumira, mobility and other techniques and tools; but the above focuses on your typical ERP developer impact.
This meant most ERP Developers were all thrown in the deep end of what many non-SAP developers had been doing for quite some time.
I would say many of us just stayed afloat, many sunk and swum back to their ABAP Stack Island, and a very small number built bridges between SAP and the non-SAP development practices and embraced the real software engineering world outside of SAP on this journey and you can see these people presenting at Conferences making you feel like like you’ve just been playing in the development space all these years.
If we look at S4/HANA on premise today, the danger I feel is that with any extension of the solution, you are either developing legacy code or you are developing Beta code; but let’s ponder the future first…
You’re a new SAP customer in 10 years time – What do you expect your new ERP landscape to look like?
Full disclosure – I cannot talk from experience implementing S4/HANA but from what I can tell talking to others, watching videos, TechEd presentations and reading about S4/HANA.
I would not want to be a CxO implementing SAP in 10 years’ time saying “Let’s install S4/HANA on premise edition and customise the heck out of it”. Even without the customising, it’s nearly a cringe worthy thing to say today without knowing why you need to be on premise (of course, today there are plenty of reasons why you would still do this and even in the future you may still need S4/HANA Cloud on premise too but not the “on prem” version).
So with that, you’ll probably have S4/HANA Cloud (automatically updated with features every 2 weeks by then) and also be looking at plenty of additional Software as a Service solutions, some may not even be from SAP! They will all integrate fairly seamlessly via your Integration PaaS since all integration platforms have become fairly standardised in a way that prebuilt “mapping, process logic & connectivity/authentication” is available from vendors so you’re not dealing with obscure integration requirements.
So with the premise that only your Operational Technology systems (hidden within OT networks) or Secret Squirrel glorified spreadsheet systems, are the only systems on premise; we then have to realise that how people build additional solutions for S4/HANA will be done on a Cloud Platform (which we will assume is the SAP Cloud Platform).
On a side note, I’d like to think with the move to SaaS suites like Office365 and Azure Active Directory, that in the future we can remove Corporate Networks for Users altogether and go with simply endpoint security and your offices simply connect to high quality Internet connections – but I digress.
A lot of work is being done by SAP to make extensions easier through CDS, Business Definition Languages (over BOPF?), Fiori Elements, etc. Even tools like the Mobile Development Kit are being built to give you as near as drag and drop style development tools that are easy to pick up to deploy mobile online and offline content to iOS and in the future, Android and potentially Windows one day.
In other words, the focus is attempting to make n% of all development, more of a configuration WYSIWYG style change that is compatible with the SaaS continual upgrade cycles. Marketing would probably say n is around 90, but I suspect a stretch target would be 70 IMO.
So this is where the Beta vs Legacy coding comes back into the conversation as all of the above is continually and rapidly changing. e.g. Using BOPF draft framework today for an enhancement is still a bit Beta in my mind and could be considered legacy once Business Definition Language (BDL) is released, but if you jump on BDL, then you’re building Beta software too until the dust settles a bit on changes there. Of course, what BDL ends up being is still guess work outside of SAP.
That said, the fact these technologies are being simplified and it feels like SAP have a fairly clear vision they are following for all of this; means writing Beta software today is probably fine and the leap to being full S4/HANA Cloud should be not nearly as painful as for those ERP customers today that will need to radically rethink how their “enhancements” will be brought across into the new world (it is an implementation of S4/HANA and not just an upgrade after all).
So what about the (100 – n)% of development remaining? For this, I ask this question…
Is Leonardo the Future of SAP Integrated Custom Solutions?
“Leonardo” is like the term “Internet of Things” to me. It’s a marketing term for the most part that surfaces to the people with the purse strings of a company what people have done, potentially in a more bespoke and expensive manner with less standardised tools and techniques, for many years now. e.g. Look at any utility for the last 20 years and IoT is what Operational Technology is mostly about (FYI – I love early IoT stories like building light sensors over a panel light in a station in order to tell you remotely whether an alarm is triggered).
So my, non-approved, extended definition of Leonardo is (without overthinking it):
Taking a customer opportunity or problem statement through Design Thinking techniques to quickly identify, prototype and prove/endorse a solution that doesn’t fit into standard SAP which can then be built out over a longer period of time, leveraging S4/HANA Cloud interface friendly approaches that leverage any capability/product within the SAP Cloud Platform such as Machine Learning, Natural Language, Predictive Analytics; Cloud Analytics, iOS SDK, etc; but doesn’t preclude it from leveraging other non-SAP tools on top of that if required (e.g. Office365, etc).
In other words, Leonardo sounds like the future S4/HANA Cloud Custom Solution Development approach of the future to me.
I mean the problem here is there are so many options to go with here that I really hope we don’t end up with solutions that require several architects and developers to bring this all together in a supportable way.
On the subject of Server Side ABAP in the cloud, this may be a great way to bring across your old legacy/proprietary solutions into the Cloud. Similarly, as it’s still hard to get non-ABAP developers who know SAP to build solutions, it may be the best option for many customers who don’t want to grow their development team.
But hang on a second. In 10 years time; maybe SAP will build a multi-language (JAVA, C#, Swift, Scratch 😉 ) version of the “ABAP” tooling for enhancing S4/HANA Cloud? Hmm – Now new customers have a choice to get developers who don’t know ABAP at all. Scary thought and what about my ABAP skills???
Today we have a strong community of SAP ABAP’ers, which may make SAP rethink their forward position here; but in 10 years time, if due to lack of exposure to the rest of the software industry, we’re still writing ABAP without automated unit testing with mock data (as one example of devops); then SAP will probably be doomed with the rate of change now in the software industry, so I don’t see that as the future (though it could be easily debated that SAP themselves will develop this way so maybe this is simply an issue for customers).
But how this progresses is definitely the crystal ball part. My predictions (focusing on ERP) to help work out where we heading are:
- S4/HANA on premise will become common at customers by 2020 (e.g. You don’t want to be that customer still running R3 by 2021)
- By 2020, SAP will get their S4/HANA Cloud programming model stable enough for mere mortals to confidently build relatively complex long lasting n% solutions that don’t become legacy
- In addition, it will also be when customers start to realise that new custom solutions need to be built in a SaaS friendly way and then PaaS will become the next battleground by vendors; especially if interfacing becomes less of a proprietary aspect by 2020.
- 2020 is also the year the server side “language” wars will begin for real.
- 2021 – People will start to feel comfortable talking to their computers in the office with Natural Language taking off and noise cancellation headphones will feature strongly when people are next to that loud guy.
- S4/HANA Cloud by 2022 will then be the go-to upgrade/migration due to people realising that upgrades are costing them a fortune compared to company X who keeps coming to conferences and telling me how easy it is to be on the S4/HANA Cloud.
- As part of this, SAP will need to continue to be strong, to keep ahead of other SaaS offerings as there is a real danger of these “migrations” becoming software selections.
- And hopefully, by 2028:
- SAPUI5 3.42 will be the last stable release as everyone will be happy to upgrade fortnightly to innovation releases hence just pointing at sapui5opensource.com. The original SAPUI5 team will also tour the world and be treated like rock stars wherever they go since Google adopted their framework to build all future Google web apps.
- Design thinking techniques will be standard practice where developers and real end users come together with designers to solve their unique problems right the first time (preferably much sooner).
So with the myriad of some serious, and some less serious thoughts above, all I can think is I need to do the following as a start point for the next year at least:
- Keep taking all open.sap.com courses on Cloud and UX content – filtering out the marketing courses which occasionally try to hide themselves in there!
- Similarly, look beyond SAP for good courses (plan is to start this one next – https://developers.google.com/machine-learning/crash-course/)
- Learn how to train a machine learning model and use it to solve a real problem.
- Get a data scientist to explain to me how I know when to use a predicative library and go back to my University maths days to even understand the various equations.
- Play with Google’s Natural Language Processing interface (surely this one will win out in the end as an SAP CP Service with a Google partnership at some point, as it rocks)
- Monitor what’s happening with Integration PaaS and slap companies who keep doing weird non-standard interface designs, especially ones with strange Window’s dependencies or similar.
- Try introduce a whole devops approach to the build of a solution at a very nice customer who lets me do this (e.g. Still a challenge when dealing with SAP data and no idea if ABAP mock testing fits into an S4/HANA Cloud solution for real repeatable testing in the future)
- Keep an eye on Cloud Analytics understanding how this capability can be embedded into future solutions
- Keep following the unofficial twitter account which tweets all posts from blogs.sap.com and experience.sap.com https://twitter.com/sapCommBlogs to see what the community posts
- Keep attending meet-ups and conferences to hear from SAP and customers about the S4 and Cloud journey
That’s my brain dump for now; but interested in where you see this whole Cloud thing going, especially if you have worked on both S4/HANA on premise and in the cloud. It’s definitely a big hurdle for an SAP customer to go S4/HANA cloud but I’m sure we’ll all end up there one day and that world is going to be so different to what we know today; so let’s all attempt to prepare ourselves as a community.
This is a brilliant blog. I’m sure this is the question on everyone’s mind now (for a few years now.. for procrastinators like me) Thanks for the wake up call.
Thanks and Good Morning John! It's really appreciated to get feedback when you put yourself out there.
In IT terms, there's still plenty of time to procrastinate and SAP will bend to market pressure, whatever that becomes, so anything could really happen. But that said, it doesn't hurt to pick up a few new skills regardless right?
Great blog, thanks Matt.
Definitely enjoyed reading. And most of the parts I feel the same cause it's obvious that SAP is moving rapidly and all the new stuff is bouncing around us. This motion makes us distracted and unsettled about the path we would need to follow.
Some nice additions there Huseyin and glad we're mostly aligned in our thinking (definitely forgot to mention going through HANA Academy which I was actually doing last night myself). My angle to focus is to make sure I'm doing stuff I love (like making end users happy and identifying and hopefully building what they don't realise what they are asking for; which at the very least - means I just need to know what is possible for now; as it's getting hard to know everything to the level of detail you need to do things right now days)...
Another thing that I forgot to mention is the UI5Con. Fantastic event!
Thanks Matt for writing this detailed future:). Most of us being from ABAB background are confused like anything what to learn too many terms doing the rounds Blochchain,bigdata,cloud,FIORI,UI5, Swift .. list goes on and on and on. In last 2-3 years what i have realized from developer point of view is we need to be open to all technologies, always keep learning. Earlier i used to only think about ABAP but off lately it has been about anything to everything.
The basic important thing for a developer at the core of all changes happening is to "Never stop learning, be open to all technologies. Second important thing is to share what you have learnt it might help someone one day"
Once again thanks for the blog, keep learning and keep sharing
Great quote to go by Nabheet; and one addition, that you may want to add is "always have empathy and understanding for the end user". That said, that really depends on the type of developer you are and situation you are in; but that would an additional mantra I have.
100% agreed, Wearing the End User hat to understand his/her pain is must:)
Great blog, Matt! It's sad that I would've totally missed it if it wasn't for Twitter and my trusted RSS feed reader. Somehow the SCN team for more than 3 months can't fix an issue with the Mentor blogs not mentioned on the home page (rabble-rabble-rabble!).
To me this reads almost like a sequel to the famous A Call to Arms from Graham Robinson , except you've actually provided a more specific point of view instead of just a bunch of "legacy-shaming" (c), cough-cough. 🙂
When making predictions, I think it makes sense to look into the past just to check if what we thought 10 years ago materialized. In 2007, the notion that someday we'll just rely on an Internet connection to run an ERP probably sounded preposterous. Of course, it was when 20 mbps down was an "Extreme Internet", when our VPN went down every week and the electric meters were still read by a person. Even though those of us who remember the life before Internet are still cautious about the reliability of network connections, I have to admit that lately there was maybe 1 VPN outage a year and our 200 mbps Internet rarely goes down for more than a few minutes (when Spectrum obviously reboots something at 1 am thinking no one will notice). At the same time, I still write this on a pimped-up laptop with lots of software installed on it and not on a Chromebook. 🙂
I think your assessment and predictions are at least 90% accurate. SAP (and everything) is going to "The Cloud" and obviously the ABAPers have to wise up sooner or later. There is certainly no shortage of educational resources and I thank you for pointing out the specific pucks to follow. 🙂
Thanks Jelena for taking the time and effort to both click on the Twitter link and also log into SCN - Many times I've tried the same thing and my S-ID (not my P-ID) takes over so I don't leave a comment (or some other scenario that disabled my P-ID). Also, I think it's bizarre I have to follow my own twitter bot (that SAP should run as a non-marketing bot) to know what's happening on SCN and experience.sap.com in the first place! That, and I'm not getting consistent notifications when people reply to my post which makes me miss the old SDN even more.
Anyway, about the blog, I kind of wrote this more for those who already get it, and are into the depths of CDS, Fiori Elements, etc; as those who have not heeded Graham's words will face a tough future if only half of what I say eventuates (though it's never too late). There will always be some 3.1H system requiring support if that's your thing
Also, internet connectivity is always going to be an issue; but at least with Fiori style approaches, you don't lose everything when it's down for 30 minutes (unless your security team is paranoid)! On the other hand, supporting private infrastructure is going to get harder and harder to get right as everyone moves to the cloud too (another prediction that is probably counter-intuitive).
Hi Matt - great blog, as usual.
Regarding data science, I recommend everyone take the Edx course offered by Microsoft. It helped me understand a lot more "myth" behind the numbers.
It is free, unless you want certificate.
I agree re: OpenSAP; courses are good, and yes there are some hidden marketing courses. I just finished the Visual Sketching and while I don't expect to be a great storyteller anytime soon, my handwriting improved dramatically.
I hope more individuals share their experiences.
And UX wise on SCN, obviously something is wrong if I accidentally hit the wrong "Reply"..
Very nice course reference to share Tammy, from one of the few people I would probably talk data science "why", "how" and most importantly "when" with. And I did sign up for Sketching, but never followed through, so will definitely continue that if it can do anything with my Doctor style scrawling.
While I do hope more share their experience, I'm more hoping for others to write more thought pieces that the SCN team can somehow support to get more engagement from the community, as I've missed the engagement that we used to get so many years ago now and Twitter feels old-school now too hence we really need a new platform IMO to engage the new community (more random thoughts)...
Some nice additions there. Some thoughts to responsd to your comments:
Anyway, time will tell, but sounds like it's worth revisiting this every year to see where we all think we are and where we might be in the future!
Thanks for adding your thoughts about the future for SAP.
I would say it is not just some out there being below 7.40, it is in fact the majority, possibly the vast majority.
We have just upgraded from EHP5 (7.02) to EHP8 (7.50)
We were under the impression that even if we never upgraded, ECC 6.0 on any EHP was in support till 2025. Is this not correct?
Can confirm. In my previous job, one system was EHP6 and the other EHP2 or so. There was no plan to upgrade them as they'd be absorbed by another ECC system in 2 years or so. Where I work right now it's EHP6 but we should go up to EHP8 this year if stars align.
I'd guess that "we'll get all the nice new ABAP stuff" is item 99 or so on the list of reasons to upgrade an ECC system. I suspect that many SAP customers are also pushing back on any upgrades because ECC is practically done anyway. So might as well just let it run for a few years and then maybe jump on S/4HANA or even a different ERP. Save the budget and headache.
Woops - Yes - My Mistake - When I hear pre-7.40; in my head I was actually thinking pre-ECC 6.0 which is what I was referring to. Thanks for the correction (and confirmation from Jelena who I agree - Many companies will just wait till 2025 and then say - "okay - Now what?")
Thank you for putting it together with the almost evident change of SAP from pure SAP Programming languages(like ABAP) to more open standards in the Market.
On a positive side, believes that SAP like a responsible parent took the developers to more popular Frameworks/Landscapes.
From SAPUI5, it would be easy to pick on AngularJS and other SPA oriented frameworks.
Thank you, it is a welcome move, even though hardcore SAP enthusiast will now reduce.
Thanks for the feedback Arun, though I'm pretty sure the hardcore SAP enthusiast will probably appear to increase as the ones who are not hardcore will struggle to be relevant 🙂
Very nice and well thought out blog! You are spot on as we are (and have been for a couple of years) in this weird "in between" space.....which comes with the oh-so-fun side effects such as learning X framework only to see X framework replaced/gone in 6 months after......it will be really interesting times ahead.....and your 2028 predictions are "interesting"! haha
side note: just read a good article the other day about how AI has and is improving to the point now that you will see much/most front-end/UX "coding" all done by AI.....the only places for "human work" will be in integration and backend. We shall see. =)
I'll believe that when I see the flying cars we were promised before. 🙂
Also I've heard that "soon programmers won't be needed and programs will be written by other programs / trained monkeys / etc" since the late 1990s. By now it's almost an urban legend.
On flying cars, totally agree!!!.....but for the UX discussion.....I can see it coming as the "layers" now are really properly separated.....the UX won't do much more than just lay out the "screen" and set bindings correctly.....I can see AI doing much/most of that....heck, so many tools now make it incredibly easy. Now, I don't think we will see it just be some standalone AI doing the work....it will take some form of human interaction.....but all the usual, tedious, repeatable coding can easily be done by AI.
And as I mentioned, this is where the other layers will be where us "code monkeys" can live and thrive still.
As far as UI comes, most of it is already sort of automated, as Paul noted. (Except when it comes to SAP dynpros 🙂 ) I wouldn't call this AI though, that's really a stretch.
UX (as in User Experience), in my view, includes much more than just frames and buttons. That requires some creativity and empathy. Will the developer tools continue to improve? Sure. Will we see in our life time AI creating the whole UX? Again, not before the flying cars. And I actually hope not. Because even humans still suck at it sometimes. 🙂
The gentleman who sits next to be in Australia is 66. When he started programming they still used punch cards.
He tells me even back then, phrases like "this will be generated without one line of code" were being bandied about.
Indeed that was one of the purposes of LISP in the 1950's - programs where the code is treated on the same level as the data, so programs can write themselves.
I think self-writing programs are like Nuclear Fusion - always 30 years away.
In regard to the UI having the screen layout and bindings done by "AI" - the ALV has always done that sort of thing, and most people would not describe the function module "REUSE_ALV_LIST" as Artificially Intelligent
The ALV is an example of automation of steps people used to do manually..
Real AI learns from past behaviour and adapts itself i.e. behaves differently the next time....
People often get the two mixed up...
But Machine Learning and AI sound so good when said in a presentation! Totally agree with Paul's position again. And in regards to self driving, or flying cars, I'm happy with Machine Learning with a controlled cause and effect loop, but please don't let it have AI as that would be scary if it suddenly adapted to having feelings and felt "used" so decided just not to drive any more and stay in the garage watching Netflix!
And when it comes to UX - I think they'll be some nice patterns for reuse with some good WYSIWYG tooling, but just today I'm spending quite bit of time creating a custom UI5 control to do something very specific for a scenario that is based on empathy and purpose of an end user - I think we're a while away from that place! There might not even be any ECC6 customers left in SAP by that point!
And in regard to AI cars staying in the garage...
A comedian in the US observed that once you get self driving AI trucks then Country and Western singers can sing about being abandoned by their woman, and their dog, AND their truck.
In regard to flying cars:-
There are some other radical IT things going on at the moment. I do not know about the rest of the world but the "New Payment Program" in Australia for bank transfers actually acknowledges that computers do not care if it is a weekend or bank (public) holiday, and so online transfers from one bank to another do not have to wait till a working day before the batch job is processed ... amazing stuff....
Back in Germany again, I notice IKEA in Waldrorf (next to SAP) has finally started taking VISA and Mastercard, that was not the case six years ago. Also on Tuesday (yesterday)I opened a new DB bank account in Germany, and the poor old bank manager person was struggling because it was the first day he had to use an IPAD rather than paper to do such a thing.
He did not think much of this, as no end user does when faced with change. The new application was sort of intuitive, but I had to help him work out how some aspects worked. And ironically the new bank account number takes several days longer to generate in the online process than in the previous paper process....
Very interesting and entertaining blog. I do not only like your definition of Leonardo, I think you deserve a medal for the first accurate definition of this term ?
I would like to add one point
It is not only “that SAP is moving rapidly” but the cloudy world outside SAP has been moving even more rapidly for several years already (e.g. Docker became popular 4 years ago)
There is basically no need for an S4/HANA Cloud programming model that by 2020 "is stable enough for mere mortals to confidently build relatively complex long lasting n% solutions that don’t become legacy". If you want to confidently build even very complex long lasting solutions that don't become legacy, use Java in the backend, if you are cool use Kotlin, expose plain REST to your User Interface and don't let your architecture become too much determined by a proprietary UI framework and likewise proprietary OData protocol. Only a few things in software are as dynamic and short-lived as web UI frameworks.
Well knowing a few customers, I can see quite large modules in the future being ported to Cloud ABAP (which is a thing already); as some pretty critical business processes have some ABAP engines behind them today; but from a 5-10 year future perspective, you would need to think long and hard about continuing with a large ABAP module being developed in the cloud; even with a number of ABAP'ers at your disposal.
I believe the differentiation in what you are saying and what will happen is the tie in with SAP. Until SAP truly becomes fully microservice based and performance of joins between different database solutions via data hubs is fully usable within an application context; you will still have an S4/HANA Cloud programming model to support an "Integrated ERP"; and we know that SAP will take years before it gets to this point. e.g. The majority of development will still focus on enhancements to existing functionality.
But for new functionality that only lightly touches SAP; that will definitely move to this new model and that decision point will be very interesting in deed going forward.
Are there already any proofs or concrete facts that support your assumption that anything like “quite large modules” in ABAP can be ported to Cloud ABAP in the next 5 years? Did anybody do so?
IMHO customers having critical business processes in ABAP will stay on premise or reimplement their critical business processes in Java etc. This is just the side by side extensibility. Therefore for most existing customers with large ABAP processes S/4 will stay on premise for the next >5-10 years until they reimplement it in non ABAP.
If you want a safe cloud option today for your custom development, ABAP is not the right choice.
In terms of the future move of these applications to the cloud - your statement:
"If you want a safe cloud option today for your custom development, ABAP is not the right choice."
I absolutely agree with; however there will be ABAP'ers that will probably hold the undocumented business critical solution to ransom most likely; so choice of an ABAP cloud will be good for customers; even if a less than ideal solution is converted.
And all of my thoughts are educated guesses, but just predicting where a few enterprises I've witnessed will probably go for many rational and fairly irrational reasons.