Let me introduce my guest
As a kid – he dreamt of a career as a video game developer, today, he works with consultants and ABAP developers teams, writing articles for the German publishing-house and is a very active member of the SAP community.
About advantages and disadvantages of ABAP in the context of creating new and enhancing standard SAP functionalities, the future of ABAP with regards to open source technologies, and the best development environments for ABAP – Michael Keller is interviewed by Jarosław JZ Ziółkowski.
Reading time: 7 minutes
1. On your LinkedIn profile, you wrote “I <heart> ABAP”. Thus, tell me, what do you love it for and maybe there is actually a small part that you hate about ABAP as well?
I like ABAP because it has a clear mission. It’s about implementing business processes and working with business data. The language was developed towards this goal. That’s great because many companies have many business requirements and need solutions. Another point is the close connection with the SAP ERP system. The environment plays a significant role. You get so much in this system for free: proven data models, existing application logic, interfaces, logging, user administration, update process, predefined classes, methods and much more. Everything is developed in ABAP.
Concerning hate: There’s simply nothing to hate when I think about ABAP. Everything makes sense to somebody at some point. I don’t understand all decisions, but I don’t know all the reasons for certain decisions. But hey, that’s okay because ABAP can tell a long story and has continuously reinvented itself. It remained downward compatible. That’s remarkable. Unfortunately, this also makes it more difficult for new developers learning ABAP. There are sometimes three solutions for one single requirement. Two are old-fashioned, one is modern. It’s not easy to distinguish between them.
SAP and its customers have developed software based on this programming language for many years. In order to protect these investments, the programming language has to be constantly modernized. Fortunately, there have been many innovations for ABAP in recent years. Modern ABAP looks different from 1990’s ABAP. That’s great because you can write applications that are easier to maintain. Finally, that makes the programming language more attractive. Besides, I found the step groundbreaking to offer ABAP for the SAP Cloud Platform (Steampunk). This opens up new ways. In my opinion, the cloud topic is significant. Also for ABAP developers. Overall, I would predict a bright future for ABAP *smile*. The programming language has often been declared dead, and yet many business processes don’t seem to work without it. Apart from that, it would be costly to have historically grown ABAP applications newly developed in a different programming language. Companies don’t like unnecessary costs.
3. So tell me, what are the advantages and disadvantages of ABAP in the context of creating new and enhancing standard SAP functionalities?
There are many advantages and, unfortunately, some disadvantages. We could talk about it for hours. Let’s look at two positive aspects in detail.
- The first aspect is that you can understand the application logic with the debugger. This is not a matter, of course. There are applications from other companies in which this is not possible, or it is challenging. So you learn very fast about business logic and processed data. Incidentally, questions can always be answered clearly. You just have to put enough effort into debugging.
- The second aspect is that you can expand standard processes at all. This is also not a matter, of course. This allows you to individualize a process, and it enables companies to achieve competitive advantages.
4. Changes are needed everywhere, aren’t they? I’m wondering if you could introduce one significant shift in the SAP environment – what would you do first?
This is an interesting question. I’ll try to answer. Surprisingly, it isn’t about technology… I would like to make the entire SAP ecosystem more accessible to new developers first. For some time now there have been more and more new products, technologies and possibilities from SAP. At the same time, we have existing applications (legacy code) that require maintenance. In comparison, I have the feeling that there are not enough new developers to maintain the old and use new things.
Let’s have an example. Trainees and students work on problems with fresh thoughts, sometimes use technologies in entirely different ways than you would expect. That’s why I would make it easier for them to start and find their place in the SAP ecosystem. New developers, new thoughts, new impressions, new solutions. For example, the open-source movement in the SAP ecosystem would benefit from it. This simply requires more people, especially people with passion.
5. I wouldn’t be myself if I didn’t ask questions addressed by my readers. What is, in your opinion, the best development environment for ABAP – SAP SE80, Eclipse or maybe something else?
I cannot recommend using a single development environment for working with ABAP. Based on my experience, each tool has its advantages and disadvantages. So I prefer a mix. I use the classic SE80 a lot for analysis of development objects. In addition, the typical debugger is one of my most essential tools every day. As soon as it comes to write source code, I use Eclipse with the ABAP Development Tools (ADT). The quick fix in the ADT is a great help for creating modern source code according to Clean Code principles. Sometimes technology also directs me to which tool to use. This is the case with ABAP CDS or classic Dynpros, for example. If I don’t have access to an SAP ERP system, I like to use Visual Studio Code with the extensions “abap” and “abaplint” for offline work.
6. Okay, let’s put aside the technical aspects for a while and talk about you. You work in a team of consultants and programmers. What exactly are you responsible for?
Almost for everything *laughs*. I support my sales team during customer meetings, discuss requirements, write concepts, do consulting on standard processes, develop in ABAP, analyze errors and much more. Wherever there is something to do, I check how I can help. It’s a colorful mix every day. Since I enjoy working with people, I’ve been supporting the training in my company for some time. For this, I work with trainees and students. It was a great decision and made my day-to-day work even more exciting.
7. Continuing, why SAP? Have you not thought about developing your programming skills in another industry?
Yes absolutely. Like many other young people, I once dreamed of a job in the video game industry. To be honest, I’m pleased that this dream didn’t come true. The video game industry has developed rapidly since the 1980’s. I mean, I love art, especially art in video games. And I like games as a way of entertainment. But working with perhaps 200 other developers over the years on a small detail of a single game that is mostly a clone of another game, I just don’t like that. That’s why I’m happy with my job as an ABAP developer. I work in small teams on different projects, have a lot of responsibility and contact with my users (customers) and the implementation time is fairly fast. Not to forget, the used technologies are also exciting. Oh yes, the community is great too.
Apart from that: Since I could never give up my love for video games, art, fairy tales and more, I bring a lot of my artistic creativity into the SAP community, for example, as blogs about Robin Hood or with the idea of a virtual wishing well. For me, that’s a good compromise. I hope for the SAP Community too.
8. When it comes to blogging, I have heard that like me – you like to write – not only in ABAP – where can I see your blogs?
I’ve been publishing blogs about my experiences as a developer in the SAP community for several years. In addition, I now also use LinkedIn to write small posts. Although they are in German, thanks to the automatic translation function, I hope to reach all other developers around the globe. Finally, I started writing articles for the German-language publishing house “Heise Gruppe” recently.
9. Then will the next step be SAP Press Book? Are you ready for that?
With pleasure. However, my motley mix of technical, professional and socio-cultural topics is probably less suitable for a book. I often work out individual thoughts from the three mentioned areas, and I’m happy if I can quickly release them to the SAP Community via the blog and get feedback. A book often follows a basic idea in detail and presents various aspects of this idea. So that’s a little bit different. But who knows what the future brings. I’ll be happy to write a book about the right topic.
10. Perhaps after reading our interview, there will be people in our community who want to follow your path. So finally, tell me which tips you would give to an IT fresher which wants to start as a developer within SAP solutions?
I can think of many tips. Maybe I should write a book about them? *smiles*. Let’s take a closer look at one of them: The work environment is crucial. Three factors play a significant role here: the colleagues, the technology and the organization. Colleagues should be experienced, should have modern specialist knowledge, enjoy working in a team and share knowledge. It’s ideal if you find a friendly mentor. Listen to him and discuss his and your opinion.
From a technical point of view, you should get to know a good mix of old and new techniques. This way, you get to know and evaluate basic ideas and solutions for different requirements.
In the end, the organization is important. I believe that people who are interested in a topic can organize themselves. So there should be as much freedom as possible to be able to develop yourself. Sometimes it turns out that someone is not just a good developer, but also has completely different skills that help him, his team and his company. You have to promote that!