Just spent some time to open source two personal projects I built at SAP 4 years ago: YNOT and Zorro. They had never been used in a production environment, but I cannot forget them and those sleepless nights. As a programmer not talented, stick to and resolve some problems painful both to me and my teammates, is the greatest motivation driving me coding - and I enjoy it much.
I have worked in 3 different teams during my 3 years working experience at SAP. Is frequent reorganization good or not? I cannot answer it easily, but at least it allowed me to touch different areas of SAP. From Business By Design to ECC FI, then to ME/MII. Workload there is relatively low and it’s not easy to find some exciting problems to resolve. But fortunately, at each team I met and tried, though sometimes I got to find that someone already tried, and produced far better solutions than me.
YNOT is such an example. To deliver a new feature via SAP Note to customer, you would usually spend at least 1 hour to write a long, boring implementation instruction - I don’t want to do it again forever! So I spent about two weeks of spare time to automate it. The result is pretty good, it would generate documentation in less than 10 seconds without mistake - a 360X or more improvement! My boss reviewed my work and gave positive feedback, then said, “how about submit a CIP application?”. And I did. But CIP committee asked me a question when I introduced YNOT to them, “Do you know UDO?”. Then we started to investigate about UDO, the result made me sad at first, as UDO’s solution to generate code reduced workload of customers significantly, while YNOT only focuses on developer’s side to generate documentation, there is no chance to catch up with UDO in CIP anymore.
After came to myself I began to read the code of UDO, and got to know many things I never knew before, which impressed me a lot. From that time on I became an evangelist of UDO at my team because of admiration to the author. I recommended this tool to all teammates and helped colleagues who were struggling with Note delivery. For me, YNOT gave me the chance to write 6K lines of ABAP code, which is more than what I’ve contributed to the production code. Sounds strange, right? But it’s true.
To write even one line of ABAP code outside of SAP, you would need to install NetWeaver yourself in your own laptop, which is not that easy. I spent literally two days to finish it for the first time, not only because it’s complex, but also because my laptop is too slow for NetWeaver. Play around with Netweaver and get to know something about its kernel made my life much easier at ME/MII, as the first thing there is to install NetWeaver JAVA AS in your laptop.
I am the first one to install NW JAVA AS even before training, only because I’ve spent many days before. However, it would never be a good experience to develop under NW JAVA AS, at least not easy.
Is it possible to automate the whole boring process that will spend you 2-5 days? I asked myself and sent an email to teammates, many of them encourage me to have a try. JUST DO IT!
So I began to try. I didn’t expect it to be done at first, but finally, it was done, which was far beyond my expectations. It will do the setup work in 45 minutes for MII, 60 minutes for ME just with ONE CLICK, which reduced literally 17.7X to 44.4X! After several successful test cases I shared Zorro to Indian and US colleagues, though it’s near the time I will leave SAP for a new journey. From this project on I began to have some sense of automation, and I’m used to automating everything that is worthy in the future.
But still, it didn’t change the fact that I cannot invert a binary tree on the whiteboard, and I am always struggling with those data structure and algorithm stuff. If this keeps on going, I won’t pass most of the code interviews. Maybe I should also follow Haseeb Qureshi’s suggestion, get these books ready?
What you say?
Four years passed and many things had changed, looking at the books published by SAP Press, I realized that I am just archiving something. It’s time to go forward more and more, looking back shouldn’t consume me that much time.