Architecture Weekly #114 - 13th February 2023
Welcome to the new week!
Event-driven projections without the hassle? That's what we try to achieve in Marten. Of course, the modelling part may be challenging, but at least we could help to reduce the boilerplate for you.
I wrote yesterday a walkthrough of Marten’s projections in the spirit of "talk is cheap show me the code". Read it below, make your judgement and share your thoughts!
I’m in the team: DevOps is a culture, not a role. It’s making me sad when I see that the Operations team were rebranded to the DevOps team, now the Platform team. Quite often, they didn’t even change the tools, just the position.
There’s also a different extreme, where those teams become a driving force in the organisations. So instead of being supportive and enabling the teams to be efficient, they’re making decisions that end up with the lowest common denominator.
Sam Newman wrote a great rant with constructive criticism on this topic:
In a similar spirit, Shlomi Kushchi explained considerations around Serverless. I’m a huge fan of serverless, but through my experience, I can confirm that it’s not as easy as it seems. It needs to go hand in hand with other architecture and DevOps decisions. The last part may be the hardest one.
Dos and donts on how to work with microservices is a neverending topic. Still, this is our bread and butter, so it’s worth to continue learning how to do that. Check decent pragmatic takes:
While working on technology, we should never forget about the User Experience. A lot of technical complexity can be fixed by the right user experience. Focusing only on solving backend logic, we might end up with an unusable application. We may also lose track of important business workflows and not handle them correctly. Check the great case study about credit cards UX:
Empathy is a base for communication. Of course, there’s a running joke that we didn’t become developers to have to talk to humans, but it’s far from being correct. To design and build proper systems, we need to collaborate. Without good communication in our teams and with customers, we won’t succeed. Learning empathy and proper communication is something that we should invest in every day. Check, for instance:
Check, also other links!
Cheers
Oskar
p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it!
p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross.
Architecture
Sam Newman - Don't Call It A Platform. Down with The Platform, up with Developer Enablement
Eric Johnson - Building next-gen applications with event-driven architectures
Shlomi Kushchi - Serverless Doesn’t Mean DevOpsLess or NoOps
Merrelyn Emery - The Far Reaching Effects Of The Design Principles
Thomas Ploch - The One Question To Haunt Everyone: What is a DDD Aggregate?
DevOps
Databases
Frontend
Testing
AI
AWS
Java
.NET
James Hickey - How To Structure Your .NET Solutions: Architecture And Trade-Offs
Gérald Barré - Meziantou.Analyzer - A Roslyn analyzer to enforce some good practices in C#