Blog
Articles, guides, and notes on software engineering.
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization
A book that organizes the requirements microservices must satisfy to be production-ready, presented as a standardization checklist.
Recent Posts
Into the World of Systems Thinking: For Software Engineers Who Keep Thinking in an Increasingly Complex Era
A book that introduces systems thinking from the perspective of how software engineers can apply it to their own work.
Accidental Complexity and the Absence of Decision Records
How accidental complexity emerges, and why the absence of ADRs and Design Docs makes it hard to tell what is essential from what is accidental.
My Career Vision as of May 2026
Articulating my career vision as of May 2026 — aspiring to be an architect who improves the long-term value of organizations and software.
Three Common Patterns for Distributed Transactions — 2PC, Saga, and Outbox
A concise comparison of the three canonical distributed transaction patterns in microservices — 2PC, Saga, and Outbox — covering their mechanics, trade-offs, and when to use each.
Architecture Modernization: Socio-technical alignment of software, strategy, and structure
Architecture Modernization: Socio-technical alignment of software, strategy, and structure
パスキーのすべて: Adoption, UX Design, and Implementation
パスキーのすべて: Adoption, UX Design, and Implementation
Product Management in Practice, 2nd Edition
Product Management in Practice, 2nd Edition
Escaping the Build Trap: How Effective Product Management Creates Real Value
Escaping the Build Trap: How Effective Product Management Creates Real Value
Evidence-Based Parenting: The Frontier of Education Economics
Evidence-Based Parenting: The Frontier of Education Economics
Python for Algorithmic Trading
Python for Algorithmic Trading
Fundamentals of Software Architecture, 2nd Edition: An Engineering Approach
Fundamentals of Software Architecture, 2nd Edition: An Engineering Approach
The Crux: How Leaders Become Strategists
The Crux: How Leaders Become Strategists
The Engineering Leader: Strategies for Scaling Yourself and Your Team
The Engineering Leader: Strategies for Scaling Yourself and Your Team
The Abstraction Trap in Architecture Design
Why sharing domain logic can quietly turn into architectural debt, while technical concerns can safely be shared — with nuance around authorization and PII-sensitive logging.
Viability Conditions for Building a Platform
How do you decide whether to build an internal platform? This article organizes the viability conditions from the perspectives of core/supporting/generic subdomains, comparison with external services, leverage, and organizational capacity, and examines how far domain analysis alone can take you.
What's the Difference Between Product Development and Platform Development?
Exploring how product development and platform development differ across three dimensions — decision criteria, design philosophy, and investment perspective.
Introducing Asset Trend Simulator — An iPhone App for Compound Interest Simulation
A deep dive into Asset Trend Simulator, an iPhone app built with Flutter and Riverpod that simulates future net worth trends using compound interest calculations based on your household finances.
Introducing Bookstacks — An iPhone Bookshelf App with ISBN Barcode Scanning
A deep dive into Bookstacks, an iPhone app built with Flutter and Riverpod that lets you register books via ISBN barcode scan and organise them with customisable labels.