Recent Posts
View the 10 most recent blog posts.
CI Took 45 Minutes After Switching to Modular Monolith - Optimizing Our Spring Test Pipeline by 77%
Hi, I’m Jeongil Jeong, a backend developer working at a proptech platform. In a previous post, I wrote about how I, as the sole remaining backend developer, consolidated 13 microservices into a modula...
February 27, 2026
MSA Was Too Much for Us - Our Journey to Modular Monolith
Hello. I’m Jeongil Jeong, a backend developer working at a proptech platform. Our company had successfully completed a zero-downtime migration from a legacy Java Servlet monolithic service to MSA and ...
February 20, 2026
The Ever-Changing AI Coding Agent Ecosystem: oh-my-opencode, oh-my-claudecode, OpenClaw, Agent Teams
Hello. I’m Jeongil Jeong, a 3rd-year backend developer working at a proptech platform. The AI coding tool ecosystem has been changing incredibly fast lately. A tool that was trending a few days ago ge...
February 9, 2026
3AM Error Alerts? Let AI Fix Them: Automating Error Response with OpenClaw
Hi, I’m Jeongil Jeong, a 3-year backend developer working at a proptech platform. TL;DR I automated 3AM error alert responses with OpenClaw. Using Loki/Tempo polling + Telegram Forward hybrid appr...
February 6, 2026
What Happens When You Skip DB Normalization — A Firsthand Experience
Everyone knows database normalization is important, but in practice, it seems surprisingly easy to overlook. There are plenty of moments where denormalization wins out for reasons like “one fewer JOIN...
February 3, 2026
Understanding RPC: JSON-RPC, gRPC, and Common Misconceptions
A while ago, while writing about MCP (Model Context Protocol), I found myself dealing with JSON-RPC. As I was writing, a question popped into my head. “JSON-RPC and gRPC are said to be lightweight, bu...
January 27, 2026
Understanding MCP (Model Context Protocol): A Standard Protocol Connecting AI to External Systems
Lately, there’s been a lot of talk about MCP (Model Context Protocol) in the AI field. In a previous post, I shared my experience building and using my own MCP server. However, while using MCP, I had ...
January 25, 2026
[Reflections on MSA 7/7] Do We Really Need MSA?
Previous: [Reflections on MSA 6/7] Event-Based Data Consistency Issues and Solutions in MSA Over the past six parts, we’ve explored various aspects of MSA. How to divide services, how to communicate b...
January 22, 2026
[Reflections on MSA 6/7] Event-Based Data Consistency Issues and Solutions in MSA
Previous: [Reflections on MSA 5/7] How Should We Separate Data? In the previous part, we explored why we should separate DBs in MSA environments and how to solve the JOIN problem after separation. The...
January 21, 2026
[Reflections on MSA 5/7] How Should We Separate Data in MSA?
Previous: [Reflections on MSA 4/7] How Failures Propagate and Where We Should Break the Chain In the previous part, we explored how failures propagate in MSA environments and various patterns to preve...
January 20, 2026