When I left SAP in October 2016, having worked for 2.5 years as an Associate Software Developer in India, the company was still defining its strategy to be “the Cloud company”. Today, SAP is one of the fastest growing Cloud-based software vendors, with revenues from Cloud-based software and services outpacing that of the traditional On-premise software and services. However, the highly mature, internal software landscape is still in the process of transition from an On-premise to a Hybrid landscape (i.e. On-premise integrated with Cloud). This made it a perfect place for my independent studies as I got to experience the process, the challenges, and the risks involved in Cloud system implementation and testing. During the 7 months of Internship with the Go-To-Market Services team at SAP, I contributed towards transitioning the internal Deal Management system wherein I got an opportunity to apply the Software Design skills (like Design Principles and Patterns), and Software Development skills (like latest DevOps concepts -automated testing, continuous integration and continuous deployment, version control etc.) that I gained during my graduate studies at the University.
The first month of the internship was particularly tough for me. Having been a Backend Developer in the past with expertise in SAP proprietary technologies and frameworks, I had little experience working with currently used open source frameworks based on Python and JavaScript(JS). Neither did I have much exposure to Frontend/User Interface (UI) development and testing. To be able to contribute meaningfully, not only did I have to quickly gain these necessary technical skills, but I also had to interact with my colleagues with their busy schedules, attend training and read a lot of documents to understand the functionality of the system that the team was working on. I had to work extra, even after office hours, to get up to speed.
My first official task was to prepare a Proof of Concept (PoC) for test automation of Callidus Cloud Configure Price Quote (CPQ) system that we were implementing for Sales Quotation management. Since SAP had recently acquired the software, the team lacked expertise in this area. After successful POC with Selenium-based Protractor end-to-end UI testing, JS framework, I went on to create automation test scripts to cover all core functionalities of the CPQ system. Since the project followed an agile development model, the automation of test cases helped catch bugs early with each deployment and allowed the team to fix the issues with the least business impact. Having proven my capability, I was included in core development. Initially, I could implement small requirements and bug-fixes. Gradually, I progressed onto implementing more complex functionalities and reached a stage where the team trusted me with the development of some modules entirely by myself. Using my coding skills and Python programming proficiency, I developed an API for exposing Quote information in CPQ system to mobile applications for iOS and Android platforms. I also refactored a few modules and optimized the system performance for some scenarios. Apart from these tasks, I supported several system deployments during weekends and proactively performed bug-fixes. My contribution to the team was greatly appreciated by my Manager by awarding me “Keep the promise” award 3 times during the internship.
Although my internship was very satisfactory in terms of learning, there are three things I think I should have done differently. Firstly, I should have reflected on my work on a regular basis and note down what went right and what I need to focus more on. This self-introspection could have helped me plan and manage better. Secondly, I should have invested more time into understanding the business processes thoroughly and gain a broader perspective of the business domain rather than just concentrating more towards providing technical solutions. Deep domain knowledge would have been a valuable skill in my repertoire, making me a well-rounded professional not restricted by technology. Thirdly, I think I should have tried exploring the application of data science like the implementation of Machine Learning algorithms at my work. This would have given me much-needed experience for applying data science concepts in solving real-world problems.
In conclusion, I believe that I have learned many new skills at my internship. My understanding of the Cloud-software architecture, On-premise and Cloud-software integration, and Cloud-system design and development has increased greatly. Further, I have gained knowledge of various open source technologies and cultivated skills of writing production standard Python and JavaScript code, thereby supplementing my past SAP proprietary technology expertise. In addition, I learned valuable inter-personal skills by working with a team comprising of members from diverse international backgrounds. All of this has given me a lot of confidence to pursue my career ambitions as I plan to graduate from the University.























Fileop.close() will be execute if exception is raised or not.





