A Call to Arms for ABAP Developers
Those of you that follow me in any way will know that I am passionate about ABAP Developer skills. For more than 10 years I have consistently been trying to impress upon people in general, and ABAP developers in particular, that it is vital they make keeping their skills up to date a priority.
As my friend Jon Reed says when talking about skills – “If you are not moving ahead – you are falling behind“.
There are many ways to keep your skills fresh. These include formal training, books, magazines, reading (and writing) blogs, documentation, playing in a sandbox system, setting personal challenges, conferences, webcasts, participating in user groups, birds-of-a-feather meet ups, etc. All these, and many others, play a part in honing your skills and keeping them up to date.
You are reading this blog because SCN is one of the resources you rely on to stay relevant. Hopefully you also make use of as many of the others as possible as well.
In my view this places you (and me) in the minority of ABAP Developers. I am deeply concerned for the future of those of our colleagues who have not kept in touch with contemporary development trends including ABAP skills. I fear that they will find themselves so far behind the rest of the industry that they will struggle to be relevant.
<extremeexample>
Let me use an extreme example to illustrate my point. Say I am someone who gained formal development skills in the late 1980’s or early 1990’s. I got a few years into my career – I was just starting to really understand that this programming thing is actually a bit of an art and just starting to crank out some clever stuff.
Unexpectedly a new opportunity came up. There is this little known software company that is selling its’ applications to almost everyone. There is huge demand for skills in a new programming language and therefore a huge skills shortage. This skills shortage is so extreme that the software company is training people for free! That’s right – no charge! All I had to do is turn up on the door of one of the big accounting firms or system integrators or wait for them to call me. They immediately sent me to a “Partner Academy” to learn this new programming language. When I returned – a scant month or six weeks later – I found myself fully booked and I could command a premium salary commensurate with the premium charge out rate my employer billed to the customers. Life is good – very good – as long as I didn’t mind working hard along with a fair bit of travel.
After a few years though I found the life of the consultant was not for me. Too much away from home and family, too many conflicting priorities, too frantic. I actually prefer to work for the same employer on the same system all the time. And again it is not too hard to find a good permanent role because everyone is looking for a better way than paying those premium rates to their SI.
So now I am very happy. Nice conservative company to work for, close to home, they appreciate my wonderful developer skills, they have a good compensation plan and treat me well. I can really show my value by building some great screens and reports that allow the business to get the most out of their applications. And no more maintaining other peoples code either – sweet!
Time passes. My company is not keen on upgrading to the latest version of the software because they want others to go through that pain first. Release 1.0 really means Beta 0.1 anyway – right? There is no need for me to learn about the latest stuff because I can’t use it for a few years anyway. And when they do upgrade – guess what? My old code still runs on the new platform. I don’t need to change a line of code and I can continue to develop screens and reports the same way I always have. When there is a big project my employer engages an SI who comes in and executes the whole project. The SI also supports their solution going forward so I don’t need to worry about maintaining their code either – besides I’ve noticed they seem to have some strange ways of doing things.
Of course there are good reasons I couldn’t stay up to date. My employer wouldn’t send me on any training courses. I didn’t have access to the latest software. I was too busy. I struggle to learn in isolation. I have a life outside my work.
Suddenly it is 2012 and I find my ABAP skills are firmly locked in at 1995. That’s 17 years ago! I have no skills in ABAP OO, ICF, Persistent Objects, Enhancement Framework, WebDynpro or Floorplan Manager to name just a few – in fact I am not even sure what they are. My non-ABAP skills and knowledge is almost non-existent. I don’t know HTML, Javascript or CSS – or exactly what they do. I don’t know what a REST service is and why I would need one. I have no idea what happened, how we got here, and what trends I should follow going forward. Why is everyone walking around with Apple laptops? I sort of get the attraction of the iPhone – but how could anyone buy a laptop that isn’t IBM-compatible? Are you all nuts?
</extremeexample>
Clearly my extreme example is a minority case – I certainly hope so. But I do believe that the majority of ABAP developers are not keeping their skills current and it annoys me. It annoys me for many reasons but I think mainly it annoys me because these people are my peers – they are Me. And by being less than what they could, and should, be they diminish the value of the profession we are all in and by implication – Me.
So I want to make a Call to Arms.
A Call to Arms for all of you reading this blog, the minority who get it, to reach out to your peers, the majority who don’t get it, and give them a great big shake.
Find a way to rock their world and show them how far they have slipped behind their peers and try and motivate them to catch up. Get them reading ABAP blogs, downloading ABAP trial versions, studying SAP TechEd presentations, whatever it takes. If you can point out missed opportunities to them. Try and get them to aspire to be better at what they do. As I said – whatever it takes. Get them to learn how to build web sites, web services, how to use any development tool except SE80.
Give each person a time limit to get it – say a month. If you try with someone for one month and they don’t get it then give up and move on. After all life is too short to waste time and there is work to be done and time is short.
Why could time be short? Well, it is possible we are approaching an inflection point. Up until now there has been gradual change in our ABAP world – and we can catch up to gradual change with a bit of effort. But consider what happens if an inflection point can only be traversed by those with the best of ABAP skills. I will call this inflection point “Huge Absence of Nifty ABAPers” and leave it to you to figure out the details.
Even if you don’t think such an inflection point is coming, Jon Reed pointed out to me the implications of SAP’s strategy of using NetWeaver Gateway as the standard method for publishing back-end services. “Most of the cool sexy new apps can be built by non-ABAPers …” says Jon. He continues with “great UI development is rapidly moving from nice to have to if you don’t have it, forget about it.”
There are also some other possible outcomes. For example, SAP are spending a lot of time and effort on something called “Developer Engagement”. They have made some significant strides in 2012 and there is lots more to come. They still have a long way to go – but so do we. By its’ very definition “engagement” requires something from both parties. We need to remember all the time we are asking for SAP to do more towards Developer Engagement that we, the developers, also need to do more. If we don’t, not only will true engagement not occur but SAP will quite reasonably look for another way to achieve their goals. One alternative could be for SAP to “engage” with another community of developers – or several – and simply assist them to add the ABAP toolset to their skills. How do you like them apples?
Remember – “If you are not moving ahead – you are falling behind.“
Great post.
If you are not moving ahead - you are falling behind
So... 2 years later, have you done your part?
I think I have - have you? 😉 If so tell us about it.
This blog is relevant for years to come. It is more necessary for people to know about the industry and understand why the technologies and frameworks are changing. I still know many developers who are not aware of what is happening in the technology world, other than the technology they work on like SAP Scripts, Smart forms, ABAP, webDynpro, Basis, etc. More knowledge and realization will help them to understand the need to learn more and find the right direction to take. Helps them to stay relevant.
I'm still doing my part! Continuing with my self development and enrolled in formal classes as well. Still grateful to Graham for the blog!
I've come into a couple of stumbling blocks in my own head that have surprised me. I find myself occasionally reluctant to embrace new technology because once I push it through to production, well, I will have to support it!!! An odd worry that it may not behave the way I expect and then I will have created problems for myself.
Another surprising concern is code consistency. Writing programs in new ways means it won't look like other code I have out there. I had no idea that I have such a sense of pride in my code all looking alike!!!
Obviously these things can be overcome. I'm mostly very glad that I'm now aware of them!!! Please let me know if anyone else out there has created such stumbling blocks for themselves......
Hi Graham,
Great blog. I agree that it's the responsibility of both the consultant her/himself and her/his employer to invest in learning and applying the new stuff. On the other hand, I also understand that a lot of ABAP consultants don't have the time and/or the budget to attend Techeds, Code Jams, Inno Jams, SAP training etc etc. Even finding time to follow the free Open SAP trainings can be an issue if you have a fully packed private life.
But although I agree that the lack of time and budget are often a barrier, it doesn't make the problems that have been pointed out so well in this blog go away. Your future as ABAP consultant (or any other type of IT-worker) maybe is at stake, so I would say take every opportunity you have with both hands, even if it is only 10 or 15 minutes (the Open SAP video's are often 10 to 15 minutes long).
Beside time and budget, there are also the aspects of willingness to learn and being allowed to use new techniques in a project. Some arguments that I have encountered which will sound familiar to most:
Will share this blog with my colleagues.
Ben
Hi Ben
Ultimately investment in education is a cost decision - the cost is not only financial. You can always go back to econcomics 101 and opportunity cost. The time you invest in your education keeps you skill set current but it comes at a cost to some social/personal times. This decision might be hard for some people (especially with family committments).
I do my best to continue my education. I see how the workplace has changed and you don't join a company in your 20s and stay until retirement. If you don't invest in your skills and and find yourself in search of work one day you might struggle to get an interview. That is a cost decision you have to make.
The examples of excuses arguments you give come back to change. People resist change. That would be an interesting topic for a blog in itself.
Regards
Colleen
Yeah.. its true for ABAPer..:)
And so...
I started in ABAP Development in 1997. Ack! A long time ago.
Have I worked on my technical skills? Well, yeah. Abap objects, web dynpro, enhancement points, PDF documents - those are all newish. I have not downloaded the new editor yet.
I think for me the biggest thing that I've noticed changing - I have kept up to date and learned more about the functional things - think in terms of process. OTC instead of SD. I was asked a long time ago what I wanted to be stronger in the technical side or the functional side. My answer - both. Unrealistic - yes, of course. But I have to know about the application prior to do my coding. I usually go one step further and do a quick look in the IMG to see if there is a way to configure the change. (That is when I'm working on new development. Sometimes even when I'm trying to fix things.)
So - yeah, I have to learn and keep up with new technical skills. BUT I think it is really important to try to strengthen your knowledge of the functional side as well.
New for me in the last 3 years:
New technical most prior to the last 3 years that I've been using:
Love the comments I've been following, and love the blog that generated them. It is one that should be read every so often just to remember what we should be doing. 😆
Michelle,
very nice post! thanks!
this particular activity shows your depth and hold of SAP. Is it just SD or other do you do this for other functional modules too? And what is the reaction of your functional consultant when you do this? 😉
TW
Well - thank you! That's a nice comment to start my day with.
I look at config for all the modules. OK - I admit I'm very week in FICO. So I usually don't look too hard at that one. I don't spend days on it. Usually just a quick look unless I know that there is probably something that will help me. A search on SCN helps too!
The IMG is simply a bunch of tables that control ABAP code. Simple. Right? You can really break things with this. Like bring down the system break. So I don't make changes that will go to production. I ask our functional consultants to do it. I actually did the functional thing for awhile and missed all the technical fun. So - PP, QM, PM - those are the ones I actually did configure. Once you do one - the rest look a lot like it - for the most part. GTS, XPS, PPM... All the ones outside of core SAP can be tricky to work with.
Sigh - reactions. OK - I get a variety of them. There are some that are good with it. They make the changes and test them out. Or tell me I'm crazy. I love those functional people, and try to get on their projects. But doing a lot of break/fix causes me to work with many different functional people.
There are some functional people that are very sure I'm wrong. After all I'm "JUST" a developer. What do I know? Since I have the security to make the changes - well I make them in our development system. Then test them if they don't work I put them back. If they do - I do a quick WebEx with the functional consultant. Then they can go back and show me why I am wrong. Generally that person won't agree until they work through it themselves. BTW - I am wrong some of the times. If / when they agree, I remove the config from my transport - and let them transport.
After saying all that - let me say that you will start to build a reputation. Good, bad or ugly for looking into the functional side. So usually, they will take you seriously, and look into what you've asked them too. (And for those unmentioned and VERY few - they will take more time to look into the config before asking for development.)
I am so lucky that when I started on the SAP path (as a "functional" person doing configuration) my company was already forward looking in that it was OTC and PTP as opposed to the "hexagon" SAP model with SD and MM in separate hexagons and ABAP sitting alone in it's own hexagon.
That hexagon model was a horrible mistake as it gave people the idea that the SAP system was composed of seperate stand alone areas, when in fact the whole point of SAP is that it is an integrated system. SAP started telling people not to organise IT department by module round about 1999, but, and I find it difficult to believe, but I am told that 15 years on some IT organizations are still organised on a module basis as opposed to a structure that mirrors the business they are there to support.
There are even jobs advertised to this very day - from a wide range of companies - such as "FI/CO ABAP programmer" or an "SD ABAP programmer". Oh Dear! Send for the Fire Brigade!
Since I started off playing in the IMG all day before moving to the ABAP side I cannot be a typical example. I always go looking in the IMG to see if what I am being asked to develop can be changed by a customising setting. You would think that is doing myself out of a job but in actual fact one thing we do not have a shortage of is work.
You are also correct that some functional people - not the ones I work with - are horrified when a mere developer comes back with screen shots of customising settings that need to be changed. You would think us ABAP people were not supposed to know transaction SPRO exists.
Tying all this back to Graham's blog about new technology - if SAP has its way there is a sea change coming in this whole area. By this I meand BRF+ which is supposed to give the business greater ownership of business rules that traditionally lived in IMG tables or their Z equivalents and were thus the province of IT.
If the BRF+ thing takes off - and it is already heavily used in some Australian Government departments - that will puts a cat amongst the pigeons with the whole "suits vs geeks" model. (In real life either both have to wear suits or neither).
Cheersy Cheers
Paul
Very nice! Indeed, it'll be tough to win in today's world with yesterday's skills only. And it'll be impossible to survive in tomorrow's world with only the skills from the day before yesterday. Keep moving! 😉
And then "science the sh#t out of it" - Mark Watney 😆
http://events.sap.com/teched/en/session/26506
Every time i feel lazy and not studying something new, I read ur blog and warn myself. It's the best piece of inspiration and i should have thanked a lot earlier but better late than never.
Thanks Prasenjit - I appreciate you comment.
for sure your experience really can help many other ABAPer's
I just came across this blog when I started reading the book ABAP to the future by Paul Hardy. This blog is on the top in the recommended reading list provided by him in the book.
I started my career in ABAP in 2015 and now I have realised that the SAP world is changing rapidly and I need to update myself, although I am still learning the conventional ABAP, I need to be constantly in touch with the upcoming developments.
This blog opens the eyes of the people who are still not willing to change their way of coding and learn other new things. I was one of them some time ago as I was really scared of change. I terms like HANA, UI5, OData etc used to scare the sh*t out of me. But now I think that this change is unavoidable and I can lag behind if I do not act now.
There is no need to be scared as the changes will always keep happening. Yes, it will take effort to adapt to the new changes but nothing is achieved in life without putting some effort.
Thanks Graham for this wonderful blog! 🙂
I would really like to know what changes you have adopted yourself and what would you suggest a beginner like me to focus on first?
Hi Anand,
I am glad you found your way to this very old blog and found it still relevant today.
In terms of suggestions all I can really say is that I think a culture of lifelong learning wont let you down.
Lifelong learning has obvious career benefits, but there are also benefits for your personal development, social interactions, relationships, health, etc.
When someone asks DJ Adams what he does - he says "I learn". That sounds like a great profession to me.
Cheers
Graham Robbo
It certainly is rewarding!