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. …
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. …
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 this Stackoverflow answer,
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. …
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 my GitHub profile:
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. …
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.
To give some context, I have a database schema like this.
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). …
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 SQS from AWS.
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. …
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. …
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 Xendit, 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. …
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. …