Amidst the disruption caused by the COVID-19 situation, I was stuck in Singapore for the whole summer of 2020. I had already completed two online courses, written a few more of these blogs and taken some much needed rest over two months. But I was in need of something to make the time I had left meaningful before the new academic year started. That is what led to me taking the decision of applying to an internship. I was able to secure a position with MoveInSync as a Computer Vision Intern after an interview.
MoveInSync is a corporate commute solutions company that provides a wide range of flexible services for corporate employees to manage their travel from home to work and back. The project I was assigned to was a new initiative being taken by the company to detect social distancing for workplace safety, given the prevalence of the COVID-19 virus. The internship was a short term engagement, for just over a month.
I was paired with a supervisor to work on the project. Contrary to my expectations, he was very relaxed and let me take my own path in searching for a solution to the problem statement; of course my expectations were not very accurate as this was my first corporate experience. Despite being very nervous and eager to exceed expectations, I started work calmly and took my time familiarizing myself with the domain I was working in and the type of work I was supposed to do. My supervisor was always very supportive of my achievements, big or small, and helped me debug a lot of my code when I was stuck.
Without revealing too many details, I would like to recount an incident during the internship where I realized tenacity and patience can solve any problem. As I mentioned the problem was detecting social distancing. Thus the bulk of the work was dedicated to detecting the distance between people. However, due to a number of factors, I was required to come up with a method to detect distance. I was excited to develop something new on my own. So I started searching for references on Google, but to no avail. The only things I could find were much simplified version of the problem statement and of not much help.
After about a week of non-stop effort, I was able to come up with a rudimentary approach to solving the problem. After a few tweaks here and there, it was ready in Python code and integrated with the rest of the program! However, there were many mysterious erroneous answers in the output. I was at a loss as to how that was possible as even my supervisor could not find anything wrong with the program. After another few days of searching, we found a small typo in the code and as it turns out that typo was the culprit of the wrong answers!
I also realized the need and importance of taking short breaks while working. I would not have been able to spot the typo if I had kept staring at the same code for hours on end. A pair of fresh eyes can do wonders while debugging code!
If you're wondering what happened to the other half of the internship duration, then that was spent on solving some limitations of the solution and preparing to present the solution to the company CTO as well as other employees at MoveInSync. I prepared a set of slides as well as a live demonstration of the working of my solution. Including a short Q&A session, it was a proper corporate demonstration. They were all happy with my work and praised my solution.
They say "all's well that ends well" and I think it is a very appropriate saying in my situation. Despite the first few days being stressful because of anxiety, I adjusted well and the internship was a memorable experience and helped me learn a lot of new things.
Despite the internship being 100% virtual since I could not travel to office due to COVID-19, I had a lot of fun working on the project and having daily calls with my supervisor, who gave me a lot of general tips on what I should do after my undergraduate studies at NTU.
I hope to get a chance to work with MoveInSync again!