The Kargo experience; where everyone can make a difference

                        
This was a summer internship that I did in 2019, where I got the opportunity to do a 4-month internship at Kargo in Jakarta. The choice to do an overseas internship deeply resonates with my belief that one should always seek for a more global experience, which is essential to widening one’s holistic perspective.                 

During my 4-month internship stint at Kargo, I was given the opportunity to work with their incredible android team, which extended such immense hospitality. To do an overseas internship before being tied to the mundane nine to five working life as a typical Singaporean was something I had on my bucket list. Due to the diverse background of employees, the people I got to meet came from all over the world. It truly was an eye-opening experience, and with the relationships I had forged over the course of the internship, it has made my time in Jakarta an unforgettable one. With that, lets dive into the purpose of my article; the experience of a software engineer at Kargo Technologies.

On the first day as an intern, there was something that Yodi (CTO) told me that really reflected and summarized my entire experience here. “We treat all our interns as full timers.” and this was true from the first day. Be it daily stand ups within the sprint cycle, to the sprint review, no intern was capped at what he could do, or supposed to do. For the first day, due to my lack of experience, it took me some time to get up to pace and familiarize with the code base.

The Day to Day:

Here in the android team, the architecture used is MVVM.

MVVM facilitates a separation of development of the graphical user interface – be it via a markup language or GUI code – from development of the business logic or back-end logic (the data model). In our case, as for our remote data source, we use Apollo GraphQL. The View Models act as helper classes for the UI controller that is responsible for preparing data for the UI. ViewModel objects are automatically retained during configuration changes so that data they hold is immediately available to the next activity or fragment instance through the use of live data.

Another interesting routine was the weekly impress us sessions conducted by Yodi. This was basically a video conference among the different tech departments within the company where we share ‘cool things’ or our successful failures of the week. In fact, I was given the opportunity to share this process in my first Friday evening ‘Impress us’ meeting! During the session, I shared about how I manage to reduce number of lines of code, which leads to a lower risk of bugs, with a component-based approach.

Beyond the Work:

The culture in Kargo is a rather open one. On one of the 1 on 1 meetings with my supervisor, I was told that on top of the weekly sprints, we were given the freedom to work on whatever projects we want, to improve the code base. This really gives us the opportunity to initiate change and make an impact.

And on the end of my first month, I was pleasantly surprised of a companywide Birthday celebration. It’s times like these which makes you appreciate and in awe on how a team can grow exponentially from just a small team of a few members just last year, to this huge family of 81 as of July 2019.

All in all, I have learnt a lot on how startups operate through the bi-weekly sprint cycles. I have also gotten a lot more knowledgeable on the best practices in the tech industry, and gained much experience in Kotlin, a language I have actually not learnt before taking on this role.

Be it the technical skills or the soft skills I have picked up, I am sure that they will be invaluable to me for my future career as software engineer in this day and age.

Final thoughts:

I want to thank the Android team for all the support that I received. Thank you Endru ,Ivan, Eric, Hanna AND GANEN :) for the guidance. It was refreshing to not only learn and grow in a foreign environment, but also gain insights from your past experiences as developers.


“Curiosity is one of the permanent and certain characteristics of a vigorous intellect” – Samuel Johnson