Blog

Articles, guides, and notes on software engineering.

More Effective Agile
Development Process 2023-10-01

More Effective Agile

A review of More Effective Agile. A book that broadly compiles practices for putting agile into action. Beyond individual techniques, it organizes the essentials for leaders and teams to draw out agile's benefits, usable as a textbook for practice.

#Agile#Book Review

Recent Posts

Modular Monolith Architecture: A Practical Guide and When to Choose It Over Microservices
Architecture 2023-09-25

Modular Monolith Architecture: A Practical Guide and When to Choose It Over Microservices

Learn what a modular monolith is, how it differs from microservices and traditional monoliths, and when it is the better architectural choice for your team.

#Monolith
CQRS Explained: When to Use Command Query Responsibility Segregation
Architecture 2023-09-18

CQRS Explained: When to Use Command Query Responsibility Segregation

Learn what CQRS (Command Query Responsibility Segregation) is, how it differs from CRUD, and when applying it actually improves your system design and scalability.

#CQRS#Microservices
The Saga Pattern Explained: Managing Distributed Transactions in Microservices
Architecture 2023-09-17

The Saga Pattern Explained: Managing Distributed Transactions in Microservices

Learn how the Saga pattern manages distributed transactions in microservices. Compare choreography vs orchestration-based sagas and their practical trade-offs.

#Microservices#Distributed Transactions
Side Effects of Go's response.WriteHeader
Application 2023-09-11

Side Effects of Go's response.WriteHeader

Learn why calling Go response.WriteHeader multiple times triggers the superfluous call warning. Covers how the first status code wins and how to fix duplicate WriteHeader in HTTP handlers.

#Golang#Tips
Proposal to Extend ServeMux Functionality in Go Accepted
Application 2023-08-31

Proposal to Extend ServeMux Functionality in Go Accepted

The proposal to add dynamic routing and path parameters to Go net/http ServeMux was accepted. Learn what this means for third-party routers like goblin and the future of routing in Go.

#Golang#Router#HTTP
What is BFF (Backend For Frontend)? Benefits and Implementation Guide
Architecture 2023-08-29

What is BFF (Backend For Frontend)? Benefits and Implementation Guide

A summary of what I researched about BFF (Backends For Frontends). It covers what a BFF is and why it is needed, and how placing a BFF layer between the frontend and backend can simplify the API contract for each client.

#BFF
Notes on Building a Notification Platform
Architecture 2023-08-28

Notes on Building a Notification Platform

Understand notification platform design for multi-channel delivery including email, push, SMS integration.

#Notification
100 Tips for Go: How to Address Common Developer Mistakes
Application 2023-08-27

100 Tips for Go: How to Address Common Developer Mistakes

A review of 100 Go Mistakes and How to Avoid Them. A book that comprehensively covers common Go pitfalls as 100 tips. A handy reference for those already comfortable writing Go who want to raise their code quality another notch.

#Golang#Book Review
About Go's http.RoundTripper
Application 2023-08-22

About Go's http.RoundTripper

Learn what Go http.RoundTripper interface is and how to use it as HTTP client middleware. Includes a custom RoundTripper for request logging and response latency measurement.

#Golang
Implementing Fan-In and Fan-Out in Go
Application 2023-08-21

Implementing Fan-In and Fan-Out in Go

Implement fan-in and fan-out concurrent patterns in Go using channels and goroutines. Fan-in aggregates multiple producer outputs; fan-out distributes one input across multiple workers.

#fan-in#fan-out
About Template Method and Strategy Patterns
Application 2023-08-20

About Template Method and Strategy Patterns

Master Template Method and Strategy patterns—two behavioral design patterns for controlling process flow and runtime method selection.

#Strategy#Design Patterns
Distributed Services with Go
Application 2023-08-18

Distributed Services with Go

A review of Distributed Services with Go. A hands-on book for building distributed services in Go. It deepens practical understanding of modern techniques in a microservices context, the reasoning behind architectures, and how to implement them.

#Golang#Book Review
Running k3s with multipass
Infrastructure 2023-08-17

Running k3s with multipass

A note on using multipass, a lightweight VM manager, while attempting to migrate a personal docker-compose application to Kubernetes (k3s). Although I ultimately didn't complete the migration, it covers how to run k3s on multipass and use it for personal development.

#multipass#k3s
Implementing Sliding Window
Algorithms and Data Structures 2023-08-17

Implementing Sliding Window

Implement sliding window algorithms for efficient subarray searching with optimized time complexity and rate limiter applications.

#Algorithms
Monorepos Explained: Benefits, Drawbacks, and When to Use Them
Architecture 2023-08-11

Monorepos Explained: Benefits, Drawbacks, and When to Use Them

Understand what monorepos are, the tooling involved (Nx, Turborepo, Bazel), and the practical trade-offs between monorepos and polyrepos for growing engineering teams.

#Monorepo
Practical Go Language
Application 2023-08-05

Practical Go Language

A review of Practical Go Language. Even for those who have written Go for a while, a book that surfaces practical knowledge you did not know or had forgotten. From fine conventions like naming error types to the standard practices worth knowing when writing Go professionally, it covers a broad range.

#Golang#Book Review
Search Patterns in Binary Search Trees
Algorithms and Data Structures 2023-08-04

Search Patterns in Binary Search Trees

Learn DFS and BFS search patterns for binary search trees, including preorder, inorder, and postorder traversal methods.

#Data Structures#DFS#BFS
Became a Registered Scrum Master (LSM)
Development Process 2023-08-01

Became a Registered Scrum Master (LSM)

Reflections and notes on becoming a Registered Scrum Master after attending the training and exam by scruminc.japan.

#Scrum
About the Two Pointer Technique
Algorithms and Data Structures 2023-08-01

About the Two Pointer Technique

Master two-pointer technique for efficient array pair searching with O(N log N) complexity using sorting and index manipulation.

#Algorithms