Alasan kenapa kamu harus mulai menerapkan 1:1 secara rutin ditempatmu bekerja, khususnya buat kamu software engineer.

Image for post
Image for post
Photo by on

Hi, Iman disini, kembali lagi dengan saya yang sudah cukup lama tidak menulis tulisan berbahasa Indonesia 😄.

Dikarenakan wabah pandemi Covid-19 yang belum kunjung reda, hal ini menjadi salah satu alasan saya untuk menulis lagi di Medium. Kegelisahan dan rasa khawatir dengan keadaan sekitar, negara, dan manusia, sepertinya tidak akan mengubah keadaan. Pada akhirnya, di ruangan kecil ini, hanya ada saya seorang dengan pikiran saya.

Nah, di kesempatan ini, saya ingin mencoba menulis satu topik yang ringan dan sederhana tetapi masih tetap berkaitan dengan Software Engineering, yaitu tentang pentingnya 1:1 rutin kepada atasan kita.

Yap, 1:1 (one on one), atau sering disebut juga 4 mata, antara pihak A, dan pihak B. …


Yet Another My Life Story: Moving For A Mission to Solve the Technical Scaling Problem in Startups!

Image for post
Image for post
Photo by on

It’s been a year after moving from Kurio. My past company. There are so many things I learned when worked in Kurio.

I learned about Products and Metrics pretty well. Learning many buzz-words in the product world like DAU, MAU, Retention Rate, Push Notification rates, etc. Data-Driven decision to create features in the product, and many things.

I also learned many Engineering practices. Like CI/CD, I learned how to make a CI/CD pipeline from scratch.

I learned about migrating from PHP into Golang. I learned about Microservice. Domain-Driven Design. API Driven Development, Software Testing. Semantic Versioning, Docker, Kubernetes, and many more buzz-word in Software Engineering. …


Small things that I learned today about trying Live-Reload for Golang application in development.

Image for post
Image for post
Photo by on

Today, I’m trying to create a live-reload for my Golang application. It’s just a simple application of REST API.

For your information, Live-Reload is a mechanism that will reload our application on every file change. So it will keep up to date with your code. I’m not sure it’s the same as a hot reload. But people said live-reload is reloading the application when a file changes. And hot reload, will only refresh the changed file without losing the state of the application, so it’s not restarting the entire application.

Also based on ,

Live reloading reloads or refreshes the entire app when a file changes. For example, if you were four links deep into your navigation and saved a change, live reloading would restart the app and load the app back to the initial route. …


Show off your latest Medium work on GitHub

Image for post
Image for post
Photo by on .

GitHub recently released a new feature that allows you to create a Readme profile, so you can now customize your GitHub profile page.

You can see an example on :


A few examples of pagination on Postgres, with Benchmark, written on Golang

Image for post
Image for post
Photo by on

Hi again everyone, it’s been a long time I haven’t published any article. There’s a lot of things happen, like from the pandemic and much more stuff. This pandemic affecting me mentally personally, like this self-quarantine is really exhausting and stressing me enough. I wish this Covid-19 pandemic will be ended before Christmas this year. 😭

On this rare occasion, after fighting with the boredom and laziness, I found a spirit to finish this article. Start from me when building our new application in my current job, I’m curious about a few things, and in this part, it’s about pagination. Like how to handle pagination in a better way based on my understanding LOL. …


A short story for what I’ve learned today about Querying rows on timestamp value in Postgres

Image for post
Image for post
Photo by on

So a week ago, I do some experiments related to pagination on Postgres with combined UUID and timestamp. I got an interesting problem here, it’s happened when I’m doing a query for my created timestamp on the same timestamp.

Context

To give some context, I have a database schema like this.

My Payment schema

And out of curiosity, I’m doing a load testing on my application, with many concurrent users up to 100 concurrent inserts. And this caused my database to have a lot of rows that have the same timestamp. For example can be seen below.

As you can see, the created_time was the same for all the records (may up to 100 records). …


Things We Do and Learn when Trying to Consume the SQS Message with Golang in EKS (Elastic Kubernetes Service)

Image for post
Image for post
Photo by on

A few days ago, I was working on SQS in Golang. Quite tricky but stressing enough for me. Because I stuck for 5 days only to make my consumer worked well in EKS.

To give some context, SQS stands for Simple Queue Service. It is a message queue service provided by AWS. More details about it, you can see on the official page of .

To make it short, assume that I have an application that will need to consume a lot of messages from SQS.

Simply, we can use the AWS SDK Go for consuming the SQS message. But the flow is quite different from what I have experienced with Google Pubsub. In GCP, they’ve prepared a complete SDK that already has a function to long consuming/streaming the message from the Google Pubsub. In AWS, especially SQS, we need to make a long looping and making a REST call to pull the queued message. …


Today I learned, The Reality that People Never Told Me about HTTP-PATCH!

Image for post
Image for post
Photo by on

I’ve been working on Software Engineering for more than 3 years now. And I’m surprised, in these 3 years, I never face any PATCH endpoint yet, until now.

And because of that, I never really use the PATCH Method before, and never develop it either. I remember 3 years ago when the first time I asked my senior about the difference between PUT and PATCH was only the changed value. PUT will replace the entire item, and PATCH changing the specified field.

That’s it! But in reality, in my careers, we never used the PATCH method. The reason is that we still didn’t need it at that time. So I now live with this belief, and whenever I talk to others, they usually understand what I mean. …


Bagaimana saya melakukan Row-Level Locking Transaction di PostgreSQL.

Image for post
Image for post
Photo by on

Hari ini, setelah bergelut selama 2 hari kurang beberapa jam. Saya menemukan kasus yang cukup membuat saya pusing dan bingung. Hingga pada akhirnya, saya berhasil menemukan solusinya. Dan solusinya ternyata sangat sederhana.

Sedikit cerita, saat ini, saya lagi mengerjakan proses pengembangan core-payment di , salah satu perusahaan payment-gateway di Indonesia, tempat saya bekerja saat ini. Saya baru bergabung sekitar 6 bulan yang lalu. Dan kebetulan saya mendapat kepercayaan untuk ikut serta dalam proyek me-refactor core system kami.

Nah, isu yang baru saya alami ini berkaitan dengan pengembangan sistem baru dari core payment kami. Isu tersebut berkaitan dengan concurrency dan transaction di database, di salah satu service kami, atau sebut saja service Payment Code Generator. …


I’m humbly requesting this to every software-engineer who read this post around the world. Please!!! Please!!! Please put a descriptive readme in every project that you worked on.

Image for post
Image for post
Photo by on

As nowadays, Software is really shaping the whole world. There are so many companies and products built by technology that help the human race in their activity. Let’s say, when I want to discuss with someone, I just open WhatsApp or Telegram, and I can ask all of my friends there.

When I want to book a hotel or just a small room, there’s already AirBnB. Flight ticket? There are Traveloka or Tiket, etc. For Transportations? We can use Gojek or Grab. Hungry? Go-Food or Grab-Food. (I’m talking about tech-product in SEA especially in Indonesia).

All of those products were created by the technology itself. And no wonder, Software Engineer becomes the hottest job nowadays. To make a great product, it needs great software. And to make the great software, need the great engineers behind them too. …

About

Iman Tumorang

Software Engineer - Writer - Open Source Enthusiast - Startup Enthusiast. Reach me out in for fast response :)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store