Reflection Summary

 My summer internship as a summer analyst in the core engineering division for Goldman Sachs has been the most intense and motivational experience I have had as a student at Berea College. Having been part of the Foundational Infrastructure, FI, a team of the core engineering division, my project was solely backend - most specifically building a Syslog API to help my team troubleshoot and monitor the Linux hosts within the firm. In this paper, I will provide more details about what I worked on, my reactions to the different experiences I faced, some insights I got from these challenges, and how these insights will help me cope and change my approach to similar difficulties in the future. 

From a project’s perspective, I was required to develop an API that accumulated the Syslog data of over 140K Linux host names across the firm. The primary purpose of the API is to enable my team to easily monitor and troubleshoot the Linux host issues whenever they occur. Among the tech tools I used for my internship project, the only tech stack I had prior knowledge of was basic SQL queries. Having to query from Big Query and Elasticsearch API, I am now more fluent in writing SQL and DSL queries and the basic architecture of these APIs. Besides, I worked on Kubernetes because I deployed my application to Kubernetes. Lastly, this experience helped me to develop an in-depth comprehension of the client-server relationship of HTTPS requests which was just a concept I used to hear and not necessarily applied to my CS projects.

Through my internship, I learned and unlearned numerous technical and non-technical practices. For the latter, I improved my communication and collaboration skills quickly. For instance, I had to be concise in describing what my task was as well as being able to explain my project’s architecture to someone else in the most basic manner. Another challenge I faced through this experience was adjusting to the fast-paced working environment within the firm. I realized that I was not as fast a learner as I initially thought. So to address this, I engaged in looking into the next deliverables before having to implement or understand them. This way, I am more confident and aware of what I am working on. 

One of the most challenging parts of my technical practice was reading documentation. I was challenged to read the documentation and implement the logic to achieve the goals of my project, which I almost always never liked doing. Perhaps I am always using the internet - especially Stack Overflow to get my answers. But, with frequent consultations with my manager on how to best approach understanding documentation, I overcame this challenge. This internship experience has also taught me that it is possible to simultaneously learn and apply the skills of a new programming language. Considering that I never had prior knowledge of Golang programming, I was able to implement my logic in Golang while learning it. I did this by working extra hours after working hours to learn the programming language, which was very hard in the genesis, but with my team’s constant Pull request comments, I was able to polish my Golang skills.

In the future, I intend to keep an open mindset and proactive attitude throughout a project and adopt a more flexible learning habit. I have learned through this experience that dynamism and adopting techniques during complexity and uncertainty are among the best skills a CS learner could possess. Therefore, I intend to utilize this experience to help me navigate through such obstacles in the future. 

Moreover, I am now more confident and equipped to apply data structures in a real-world project. Throughout this internship, I had the opportunity to use my data structures and algorithm knowledge in numerous cases. I could not believe how much the data structure classes I took at college are of the essence in software engineering. Finally, I have developed a more understanding and appreciation of the collaboration skills and GitHub insights I gained through my college classes and labor position because these skills were very spot on throughout the internship.

Because of my API, my team can now write query parameters to my URL and receive timely responses to troubleshoot and monitor any issue with the Linux hosts. So too, my team can now run a cron job to generate weekly or daily reports for the coverage of the Linux host performances. Another use case that my team can achieve from my API is to create a dashboard that would make the data display more visually appealing. I am so happy and satisfied that my team can overcome all these issues with my final product. 

With my team’s constant feedback, support, guidance, and mentorship, this internship experience has helped me to achieve my goal of improving my technical and soft skills. As a result of the skills I gained and the tech tools I got exposed to during this internship, I’m more excited to pursue a career in Computer Science and well-equipped to take on more real-world projects to improve my skills. I am also more confident in myself and satisfied with my project’s impact on my team. I would not have the knowledge and skills I have today if it were not for my internship experience with the firm. I am looking forward to where my career in education takes me in the future.


Comments

Popular posts from this blog

WEEK 4: ENTRY 3

WEEK 6: ENTRY 3

WEEK 7: ENTRY 1