Stop Joining Tables In Your “Modular” Monolith
Explains why joining tables across modules in a modular monolith creates hidden database coupling, undermining architecture.
Explains why joining tables across modules in a modular monolith creates hidden database coupling, undermining architecture.
A curated list of 13 newsletters covering .NET, React, system design, AI, frontend, and engineering leadership to help developers improve.
Explores the trade-offs of using Postgres as a message queue compared to dedicated tools like Kafka, Redis, and RabbitMQ.
Explains why testing needs a seam, not an interface, challenging the common practice of creating interfaces solely for testability.
Challenges the notion that clean code practices always improve velocity, arguing that unnecessary abstractions can slow development.
Explains the C4 model for creating clear, multi-level software architecture diagrams to improve communication across teams.
Explains Architecture Decision Records (ADRs), short documents capturing key software decisions, their context, and rationale for teams.
Review of Gregor Hohpe's 'The Software Architect Elevator', a book about bridging business strategy and technical implementation for modern architects.
Explores three eras of card game design tools: template, GUI, and AI-native, from a software architect's perspective.
Integrates live Azure pricing into GitHub Copilot via an MCP skill, enabling cost estimation during architecture design without switching tools.
Author announces a new blog focused on software architecture, sharing knowledge and practical solutions for building adaptable software.
Analyzes why Claude AI uses Electron for its desktop app, debating the trade-offs between native development and web-based frameworks.
Argues against placing business logic in stored procedures, advocating for keeping it in the application layer for better maintainability and scalability.
Proposes a 'whiteboard before keyboard' design-first approach for AI coding assistants to prevent hidden design decisions and improve collaboration.
Explains how Draw.io MCP automates diagram generation from code, integrating diagrams into engineering workflows and version control.
A daily tech reading list covering AI advancements, API latency fixes, cloud scaling, and the importance of fundamentals over frameworks.
A developer reflects on how AI coding tools have shifted their role from writing code to steering and architecting systems, viewing it as a natural evolution.
Explores how software architecture principles for human cognition, like fractal design, could improve AI's ability to work with large codebases.
Explores the reality of managing legacy code and continuous migration in production software, emphasizing adaptability over perfect design.
A weekly collection of curated articles on software architecture, development, DevOps, code quality, and tech leadership.