Design Thinking for Developers: Architecting Code with CreativityBlending Artistic Design and Logical Architecture for Powerful Software
Learn how design thinking helps developers build user-centric software, improve architecture decisions, and design systems that evolve with real-world needs.
SOLID Principles: A Complete Engineering Guide to Scalable, Maintainable SoftwareFrom Theory to Production - Mastering the Five Principles That Define Professional Object-Oriented Design
A deep-dive guide to SOLID principles for professional engineers - covering all five principles with TypeScript examples, real trade-offs, pitfalls, and best practices.
Fundamentals of Effective Software System DesignLaying the Groundwork for Robust, Scalable, and Maintainable Software Architecture
Learn the core principles of software system design - from requirements gathering and architectural patterns to modularity, trade-offs, and documentation best practices.
Challenges in Software Design Estimations and How to Overcome ThemNavigating the Pitfalls of Project Estimation
Explore common challenges in software system design estimations and learn how to overcome them. This post provides practical solutions to ensure more reliable and realistic project timelines, essential for developers and project managers.
Cohesion in Software Modules: Why It MattersBoosting Quality and Maintainability Through High Cohesion
Learn why cohesion is crucial for modular software, how to achieve it in your modules, and its impact on code quality and long-term maintainability.
Modularity vs. Monoliths: Choosing the Right ArchitectureA Comparative Guide for Modern Developers
Compare modular and monolithic architectures to understand their pros, cons, and the scenarios where modularity delivers the greatest benefits.
Measuring Cohesion: Tools and Techniques for DevelopersA Practical Guide to Cohesion Metrics in Modular Software
Discover leading tools and techniques for measuring module cohesion, helping you build software that is tightly focused and easier to maintain.
Module Coupling and Cohesion: The Twin Pillars of ModularityBalancing Independence and Interdependence in Software Modules
Explore the relationship between module coupling and cohesion, and how balancing these factors leads to robust, adaptable software systems.
Strategies for Achieving High Modularity in Large CodebasesBest Practices for Breaking Down Complex Systems
Uncover practical strategies and best practices for implementing modularity in large-scale software projects, from initial design to ongoing maintenance.
#Software Design
Posts
Booknotes
The Pragmatic Programmer: Engineering Principles That Still Define Great SoftwareFrom Journeyman to Master - A Deep Dive Into the Timeless Mindset Shift That Separates Good Engineers from Great Ones
A comprehensive technical breakdown of The Pragmatic Programmer's core principles - DRY, orthogonality, reversibility, and more - with modern engineering context and practical examples.