#System Design
21 articles
Trends and Strategies for System Design Interviews
Trends and Strategies for System Design Interviews
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
Driving Domain with Data Modeling - Towards Distributed and Loosely Coupled Core Systems
The Importance of Explicitly Stating Constraints and Trade-offs in Technical Decision Making
Document technical decisions by explicitly stating constraints and trade-offs to enable future re-evaluation and org growth.
Practical Techniques for Building System Architecture
Practical Techniques for Building System Architecture
About Architecture, Architects, and Architecting
Understand architecture as essential system structure, architect responsibilities, and architecting activities for building aligned systems.
Principles of Building System Architecture: Three Mindsets IT Architects Should Have
Principles of Building System Architecture: Three Mindsets IT Architects Should Have
Cohesion and Coupling
Understand cohesion and coupling as software design metrics. Learn the 7 levels of cohesion (coincidental to functional) and 6 levels of coupling (content to data) with practical examples.
Considering the Shelf Life of Design
Consider design shelf life across business, organization, product, and technical perspectives. Balance constraints and trade-offs.
Structure of My System Specification Document
Learn to structure system specification documents with sections for architecture, data models, APIs, and sequence diagrams for design clarity.
Considering Architecture Strategy
Understand architecture strategy as systematic policy for building and evolving systems, covering vision, principles, and scalability planning.
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
Decision-Making Techniques for Software Architects: Leveraging Leadership, Technology, and Product Management
freee Technical Book: Multi-Product Development at freee
freee Technical Book: Multi-Product Development at freee
Reliability Patterns
Learn cloud reliability patterns from AWS, Azure, and GCP. Covers Circuit Breaker, Bulkhead, Ambassador, Retry, Queue-Based Load Leveling, BFF, and other fault-tolerance design patterns.
Mistakes in Software Architecture: Development and Evaluation of Non-Functional Requirements
Mistakes in Software Architecture: Development and Evaluation of Non-Functional Requirements
Exploring Permission Management Design
Understand ACL, RBAC, and ABAC permission design methods with functional/data scope, control targets, and operational constraints.
Trade-offs and Mistakes in Software Design: Making Better Choices in Programming
Trade-offs and Mistakes in Software Design: Making Better Choices in Programming
Data-Oriented Application Design
Data-Oriented Application Design
Fundamentals of Software Architecture
Fundamentals of Software Architecture
Software Architecture Hardparts
Software Architecture Hardparts
System Design Interview
System Design Interview