The closer to the edge, the more stable a platform must be
Explains why edge components like API gateways must be more resilient than backend services to protect platform availability.
Explains why edge components like API gateways must be more resilient than backend services to protect platform availability.
Explores five software architecture mistakes that make systems hard to change, emphasizing understanding the domain before choosing tools.
Explores multi-tenancy in SaaS beyond databases, focusing on isolation through boundaries like compute, deployments, and schema changes.
An analysis of AI personas created by Kenneth Reitz, exploring the Digital Ouija Effect and emergent properties of language models.
A technical article about the pitfalls of modular monolith design, focusing on how a clean separation between modules can become irreversible over time.
Explains the key differences between microservices and AI agents, highlighting broken assumptions and security risks.
Talk on challenges of combining Domain-Driven Design with ORMs in web development, presented at Full-Stack NL meetup.
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.
A blog post assembling a reading list and syllabus for a course on engineering architecture, covering computing systems and cyber-physical systems.
Explores architectural theory in computer science, covering internet, software, and hardware design principles like abstraction layers and protocols.
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.