Blog
Articles, guides, and notes on software engineering.
Characteristics and Design of Nontemporal, Unitemporal, and Bitemporal
Exploring the features, design examples, advantages, and disadvantages of different temporal data models.
Recent Posts
Open Addressing Hash Tables and Swiss Tables
Explore open addressing, Swiss tables, collision resolution techniques, and cache-efficient hash table design.
Understanding Story Points Using the Cynefin Framework
An idea on how to think about the criteria for story points.
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'.
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.
About GraphQL Federation
A summary of what I researched about GraphQL federation.
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