Two Months as a Software Engineer Intern at Kulkul

Hi everyone, I’m Galang Kerta of Bali. And this is my journey as a Software Engineer Intern at Kulkul within 2 months.

The pre-internship challenge

My journey at Kulkul started on Nov 14, 2020. I officially became a software engineer intern at Kulkul Technology. Before joining as a Software Engineer intern, here were several steps I had completed:

  • Make 5 pull requests
  • Create 4 issues, and
  • Comment 4 times.

Indeed, it was challenging at first. And I managed to complete those first steps for a week.

And as you can see above, this was a feature that I made for pull requests before officially being a Kulkid (read: intern). I created a progress tracker using Github API + Markdown to track the progress of each software engineer intern candidate in Kulkul.

Getting more challenges

After officially becoming a Kulkid, mpj the KulChief (read: CEO) explained several things related to Kulkul, such as the culture of working in Kulkul. What surprised me was no time tracker. Mpj believed that his team could work independently and responsibly.

Internship Task at Kulkul

Firstly, my task was a product prototype-making from Kulkul, namely The Flash. It is a web app where we can do video conferencing, meetings and create virtual booths. The tech stack used is Ruby on Rails and React. This experience is my first time working on the backend as a whole. The most exciting part was to learn the CI/CD setup of a project, the concept of database relations, performance, and many other things.

Having an real project

After a month of assisting with some features in The Flash as authentication, mpj offered me to try a new challenge: to learn a new programming language, Elm. Honestly, I heard about it for the first time and used the functional programming paradigm. Before that, I studied more about the front-end, but Elm? What kind of food was that?

My journey for learning Elm was not from online tutorials or its documentation but an actual project. The project was an app for major banks in Indonesia. I know the best lesson comes from actual experience. But for me as a newbie? It gave me a headache at first.

So many things that I had not learned, such as The Elm Architecture (TEA), Types (type aliases, custom types, pattern matching), Subscription & Commands, and Ports. It was the coolest part of the Internship in Kulkul (shout out to mpj). Even though we were still learning, mpj encouraged us to choose the project Kulkul had been working. So we as interns learned how to be responsible for the project and train communication between mentors and mentees.

The activities consisted of earning Elm, pair programming with mpj, and dozens of feedbacks on Jira. After a month, we merged the features we worked on together into production. I felt satisfied as my code generated within the internship period was used in production. There are still many things to learn!

We are hiring software engineer!

We are a digital tech agency and currently hiring for a remote full-time and internship position. If you believe in our mission to bring high-quality software to the masses. And also, helping software engineers in South East Asia raise the bar, drop your latest resume, and we’ll chat.

written by: Galang Kerta

See other interesting posts

Crypto collateral defi
Blockchain

Are Crypto Loans Without Collateral Possible?

Cryptocurrency continues to be a controversial topic. But despite some of its issues like safety and volatility, it has now found a new way to …

What is web development
Website Development

How to Install WordPress on a Subdomain

Are you looking for a tutorial on installing WordPress on a cPanel subdomain? You are on the right page! This article will learn how to …

What is JavaScript Programming
Technology

What is JavaScript Programming: Pros and Functions

JavaScript is a programming language widely used in developing websites, applications, and games. We have discussed Java Programming in the previous post. You can create …

Discover the valuable contents about tech

Get high quality contents