Gin Every Day at Cicil

Anugrah Raesa
CICIL Tech
Published in
4 min readMar 12, 2020

At the end of my fifth semester, I found myself miserable, unemployed, and with no real experience… Until I got wind of the internship program at Cicil.

CHAPTER 1 Cicil

My fifth semester was arguably one of my worst terms yet. My marks were declining more than ever. Everyone around me was getting an internship and by that point, it was their second or even third internship. And there I was, experienceless, in a competitive world. That wasn’t even the worst part, at that point, I wasn’t even sure who I was or what I wanted to be.

“Do I want to be a data analyst?”

“Do I want to be a product manager?”

“Do I want to be a designer?”

“Or do I want to be a software engineer?”

And I thought that was it. I had to look for an internship. I didn’t care how or what but I was determined in getting one for my winter break.

And with the help of my friend, Rachel, I finally got one! Back-end Developer Intern at Cicil.

My first ever internship! I wasn’t sure how I felt back then, but it was sure not grief. I felt like a huge burden just got lifted off my shoulders.

January 6th, 2020, my first day. I wasn’t excited but my mom sure was. She was so excited that she personally drove me to Kuningan and dropped me off. I got on the lift and went up to the 10th floor. I waited a couple of minutes then got introduced to my first friend at Cicil, the CTO himself, Mr. Ricky. He’s a friendly dude, he got this genius aura around him. Then I got seated at the outermost table, and I almost always sat at the end of the table, so I felt like I was the furthest from everyone.

Finally, I got introduced to my mentor, the gentlest person in the room, Kak Eka. Okay so far so good, everything went better than I expected until I was told that I had to study a new language. I had to study Golang, it is this fancy state-of-the-art language developed by our corporate overlord, Google.

CHAPTER 2 GO!

In my humble opinion, Golang is a great language. Learning its syntax and features was easy and hard at the same time. Like all languages, there are certain ways of doing things. It’s just a matter of getting used to it. The one practice in Golang that annoyed me so much is writing a lot of these bad boys:

If err != nil {

}

That line of code is pretty much a meme in my head at this point. Imagine writing that tens, even hundreds of times a day. And you. Have. To. Why? Because the error IS a value in Golang.

Web development in Golang feels great, in fact, it is one of the leading languages for the back-end side of web development. Even in the first few hours of learning Go, I was able to create simple web services. And I wrote those web services without any framework, just plain Go with its built-in net/http package. I’m pretty sure that everyone can build a good website by just using this powerful package.

CHAPTER 3 GIN

Gin-gonic, my favorite web framework yet. Gin is being used in one of Cicil’s services. Here’s gin official description:

Gin is a web framework written in Go (Golang). It features a martini-like API with performance that is up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love Gin.

I love performance and productivity. It’s not that hard to see why I love Gin.

I spent a few days learning Gin. Most of the time was also spent on getting used to clean architecture. The clean architecture itself is a fairly complex software architecture and requires a separate article to explain. So basically, it added several layers of complexity with a steep learning curve for me. It has massive benefits though, it guarantees ease of scalability and modularity with the right implementation. Exactly what everyone wants.

It wasn’t that long until I got my first real task at Cicil. One of the first tasks I got is to create several new tables in Cicil’s DB along with its endpoints for CRUD operations. These new tables are going to be used to update one of Cicil’s services. It was quite simple to do, as I didn’t really have to design anything, instead, my mentor did all the dirty work. All I had to do was implement my mentor’s design.

Several tasks and challenges later, Go grew on me. I loved every second I spent learning Go and its frameworks. It is definitely one language that I’m going to study in-depth.

CHAPTER 4 Back to Reality

So, my final day at Cicil. It was a long time coming. Two whole months at Cicil. I had one of the best times of my life. Thank you, Pak Ricky. Thank you, Kak Eka. Thank You, Kak Cok Tein.

Thank you, everyone!

Peace out.

Me and Kak Eka

--

--