PinnedFunctional Domain Driven Design: SimplifiedDomain-Driven Design (DDD) simplifies the development and maintenance of complex software applications. However, two seminal books on the topic, Domain-Driven Design and Domain-Driven Design Distilled focus on an object-oriented implementation. How c...May 1, 2022·12 min read
The Four Quadrants of ComplexityEssential complexity is where software engineers are uniquely able to deliver business value, whereas accidental complexity is what some engineers think looks good on their resumes. Another dimension, shown in the diagram below, is frequency. This ...Nov 5, 2023·3 min read
Implementing the Outbox Pattern in Nodejs and PostgresAs applications scale, infrequent problems become significant. A network failure for 0.1% of requests is trivial at 1,000 requests per day, but a nightmare for customer support at 1,000,000 requests per day. This commonly happens when we have externa...Apr 23, 2023·11 min read
Tech’s Surprisingly Bad Math in Team DesignHow often have you seen this happen: The business is anxious that the product team is not kicking enough goals. They want better business outcomes faster, so they hire more software engineers. Makes sense at first glance, right? Engineers write the c...Nov 27, 2022·7 min read
Belonging & Psychological Safety in Remote TeamsMuch of the existing literature regarding team culture assumes a co-located team. It’s not that hybrid or remote teams didn’t exist before the pandemic, but they certainly weren’t the norm. Existing studies consider facets such as desk position, buil...Oct 31, 2022·20 min read
Measuring Apdex from access logs in SumoLogicApplication Performance Index (Apdex) is a standardised method for calculating the perceived satisfaction of a user accessing your service. It divides all served requests into three categories: satisfied, tolerating, and frustrated. A user's request ...Aug 18, 2022·2 min read
Applying Google's Testing Methodology to Functional Domain-Driven Design For Scalable TestingRecently I wrote an article about applying Functional Programming to Domain-Driven Design. One of the key benefits of that approach is improved testability, but we didn't get to delve into it too deeply. In this article, we will consider what factor...May 8, 2022·12 min read