Blog
Articles, guides, and notes on software engineering.
How to Split a Large Monolith? - Lessons from Software Architecture Hard Parts
This article organizes useful points for considering service division from a monolith, based on chapters 1 to 4 of 'Software Architecture: The Hard Parts'.
Recent Posts
Considering Architecture Strategy
Understand architecture strategy as systematic policy for building and evolving systems, covering vision, principles, and scalability planning.
How to Read Books
How to Read Books
Practical Introduction to Redis: From Technical Mechanisms to Real-World Applications
Practical Introduction to Redis: From Technical Mechanisms to Real-World Applications
How to Write Code That Fits in the Brain: Rules and Techniques for Avoiding Complexity and Ensuring Sustainability
How to Write Code That Fits in the Brain: Rules and Techniques for Avoiding Complexity and Ensuring Sustainability
Generative AI and the Career of Software Engineers
The rapid evolution of generative AI is bringing significant changes to society. As a software engineer, anticipating these technological changes is crucial.
What is GraphQL Federation? How It Unifies Microservices
Learn what GraphQL Federation is and how subgraphs, a gateway, and schema composition unify multiple microservices into a single graph.
Understanding the Linux Kernel through Illustrations
Understanding the Linux Kernel through Illustrations
Differences Between Instance Variables, Class Variables, and Class Instance Variables in Ruby
Summarizing the differences between instance variables, class variables, and class instance variables in Ruby.
Implementing Singleton Pattern in Ruby
A summary of how to implement the Singleton pattern in Ruby.
Software Architecture Metrics: 10 Tips for Improving Architecture Quality
Software Architecture Metrics: 10 Tips for Improving Architecture Quality
The Path to Staff Engineer: A Guide to Becoming an Excellent Technical Professional
The Path to Staff Engineer: A Guide to Becoming an Excellent Technical Professional
Architect's Textbook: Building Software Architecture that Creates Value
Architect's Textbook: Building Software Architecture that Creates Value
Metaprogramming Ruby 2nd Edition
Metaprogramming Ruby 2nd Edition
Tidy First? ―Experiential Software Design for Individuals
Tidy First? ―Experiential Software Design for Individuals
Reflection on 2024 and Goals for Next Year
Personal year-end reflection on 2024: highlights in engineering and learning, plus goals and resolutions for 2025.
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
The Art of Thought Organization
The Art of Thought Organization
Team Topologies: Adaptive Organization Design for Delivering Valuable Software Quickly
Team Topologies: Adaptive Organization Design for Delivering Valuable Software Quickly
Comparison of Cloud SQL and AlloyDB
A brief investigation into the advantages of AlloyDB over Cloud SQL.