Before starting my own business, I worked 12 years for SAP.
My first developer job at SAP consisted of porting SAP R/3 software logistic tools in C language, like installation and database migration tools, to the former IBM AS/400 platform, nowadays rather known as IBM iSeries. I am talking about a piece of IBM EBCDIC prehistory in the late 1990s. Since SAP R/3 was developed on ASCII platforms, it was quite a tour de force to bring it to the IBM AS/400 for the first time. The conversion to ASCII had a big impact on the performance of the installation process, and back then hardware performance was very different than today anyway.
The SAP ASCII community (which was virtually everyone, except us, few chosen ones) used to smirk with amused superiority whenever our implementation consultants reported about how they could have gone to bed for the night during installation, get up in the morning, have a long breakfast, go back to work, and still witness the final installation steps.
Today, no one would believe that.
No one would accept that.
During the SAP HANA Trainings for SAP Development, which I have the pleasure to be part of, assuming the roles of pioneering trainer, tester and content developer, and as part of a great team with SAP Development University, SAP Knowledge Production Services and brilliant SAP developers from Budapest and Bangalore and beyond, one of our training participants made an interesting remark. He said that one of the exciting challenges which SAP HANA poses, especially to ABAP developers, is related to a change of paradigm, e.g. from imperative to declarative programming.
Even though SAP HANA supports both approaches, there is a stronger declarative philosophy involved. There is also the constant need to think twice before designing an application, among others, in order to avoid side effects to be able to use real parallel processing, and also to squeeze the last performance optimization drop from each and every line of code.
If you critically think about it, performance has always been essential for certain application areas, and good developers had always tried to optimize their applications for parallel processing and clever resource management, independently of tools, development environments, and programming languages.
However, SAP HANA brings these great practices to our consciousness in a much more direct, more existential way.
Co-Founder and COO