Socio Technical DDD - Essential Social Heuristics [video] Evelyn van Kelle. Great teams build great products. But what makes a team ‘great’? We have a pretty good understanding of how to improve our code from a technical perspective, but how can we increase the effectiveness of the team creating that code and designs? In the end, software is a technical activity, created by human beings, so it’s crucial to understand the underlying social dynamics that affect our code and designs
Histogram: You have to know the past to understand the present [blog] Tomas Petricek. Programs are created through a variety of interactions. A programmer might write some code, run it interactively to check whether it works, use copy and paste, apply a refactoring or choose an item from an auto-complete list. Programming research often forgets about these and represents programs as the resulting text. Consequently, thinking about such interactions is often out of scope. This essay shifts focus from programs to a more interesting question of programming.
Testing Distributed Systems w/ Deterministic Simulation [video] Will Wilson.
Event Sourcing Projections Patterns: Side Effect Handling [blog] Kacper Gunia. Running a projection doesn’t have to mean that all we can do is to update read models used by APIs. It is possible to handle more complex use cases that involve triggering side effects on other systems, and still keep the code concise and resilient.
Created a new Clean Architecture template for Worker Service solutions on my stream today. Check it out here: https://t.co/x1CW948cO2?amp=1 [tweet] Steve Smith.
“I open Pandora’s box” – An interview with Alberto Brandolini on Domain-Driven Design and EventStorming [blog] Corinna Kern, Tobias Goeschel. “But I have to say that many times showing the whole story did a little miracle: it’s hard to get angry with your coworkers who are clearly doing their best given their constraints. I do open Pandora’s box. But what I get is more reconciliation than fights.”
The Language of Actors [Vaughn Vernon]. [video]
Aligning Product and Software Design [video] Sandro Mancuso. The collaboration between business and technology while building digital products is still not as close as it should be. This lack of close collaboration and common understanding that product and software design mutually impact each other leads to badly designed systems that can constrain business evolution.
Workload Characterization for Microservices [paper] Takanori Ueda, Takuya Nakaike, and Moriyoshi Ohara. We explain the performance impact due to the microservice architecture through detailed performance analysis. We also discuss the performance impact due to network virtualization associated with the Docker container framework, which is commonly used as an infrastructure for microservices. These findings give us clues to optimizing the language runtime and hardware architecture for microservices.
Notes on 2PC [blog] Tomek Masternak, Szymon Pobiega. Although the era of 2PC is coming to an end, it’s good to know what guarantees we need to provide by other means in the systems we build.