APIs as Infrastructure: Optimizing for ChangeManaging APIs is hard. An application usually supports a single version of itself. It can be refactored, restructured, and redesigned with…Nov 17, 2025Nov 17, 2025
Getting used to our problemsHow engineers inherit dysfunction and stop asking “Why?”Jul 9, 2025Jul 9, 2025
Team Topologies Gone Wrong: When Platform Teams Forget Their CustomersA platform team’s job is not to enforce standards, it’s to reduce friction.Jun 15, 2025Jun 15, 2025
PHPStan: How to test if a file exists when requiring itUpdate: The rule was merged into PHPStan itself! You can find the PR here: phpstan/phpstan-src#3294Aug 2, 2024Aug 2, 2024
Modular Monoliths: Microservices without a cost?In recent years, the Microservice architecture still has attached some “coolness”. While the term premiered 13 years ago, the promises that…May 27, 2024May 27, 2024
Database Connection Pooling: Optimizing Database Interactions for Performance and ScalabilityEfficiently managing database interactions is crucial for performance and scalability. A common element in database interactions is the…Jan 4, 2024Jan 4, 2024
Enhancing Microservices Architecture: Harnessing the Power of the Sidecar PatternA well designed service in software architecture must be modular and have a single responsibility. Yet, as services evolve and mature, the…Dec 7, 2023Dec 7, 2023
Building Resilient Systems: Exploring the Bulkhead and Circuit Breaker PatternsIn the era of microservices, it’s common for services to either depend on others or act as dependencies. These situations call for a method…Dec 4, 2023Dec 4, 2023
Domain Events and Domain ServicesAs you begin developing your application, you may encounter elements that are inherently vertical and don’t fit into a specific domain…Nov 19, 2023Nov 19, 2023