As an interviewer…

I used to just share whatever I learned, no matter how small it was. However, at one point, I forgot about the practice due to my work commitments. So, this time I would like to talk about what it looks like on the other side of the interview session, which is the Interviewer.

Let’s put the disclaimer out first. I haven’t done it for “years”, ok, maybe just around two years. So, I’m not what you would call a seasoned/expert interviewer, but I believe there will always be someone out there who can learn something from this post.

Read more

Caching 101

Caching is something we use to reduce the access to the original source. To do that, we store the data temporarily on another medium. We can use various tech to achieve that, but whatever we choose should be faster or lighter than the original source. This will help our users to retrieve our data faster than before. It will also help lower the initial resource utilization. Depending on what we choose, we can save some costs.

Read more

Tiny Guide to Webscaling

Someone on Twitter asked what if Khairul Aming wanted to set up his own website for his sambal? For those who may not know, his product has gained fame and typically sells out quickly once he opens orders. At present, he utilizes Shopee.

From a business standpoint, it’s advisable for him to stay with Shopee. My post is primarily for educational purposes.

Disclaimer: I am not an SRE/DevOps professional, but rather someone eager to share insights that might broaden understanding of web scalability, drawn from my limited experiences. Therefore, there may be inaccuracies, though I hope none too significant.

Read more

CoinGecko’s Interview Process for Level 1 to Level 3

I’ve been talking to a prospective candidate who has been inquiring about the best way to prepare for the interview. I was surprised to see that his first email was sent in May 2022. His most recent question pertained to the interview process, and this was my response (with some additions):

Disclaimer: Much of this work is handled by our Engineering Manager and HR department as they are the leads in this process. My response is based on what I recall.

Read more

Minimizing Problems Before and When They Occur

Although we use monolithic architecture, we actually “break down” the application into several parts in production, such as:

  • Web
  • Free API
  • Paid API
  • Mobile API

Workers (background jobs)

Therefore, when we deploy, it does not mean that all servers will receive the new application. If we deploy to the Web and there are issues, only the Web will be affected. However, some applications may still have problems if they manipulate shared data until it becomes corrupted.

Read more