Architecture Weekly #112 - 30th January 2023
Welcome to the new week!
This Thursday we’ll have the next webinar for paid subscribers. We’ll discuss the 2nd day's topics around event-driven projections so how to:
design them (both single and multistream),
test them,
rebuild them,
etc.
I’ll use Node.js, TypeScript, MongoDB and EventStoreDB to show real-world examples, but the knowledge will be focused on the patterns, not the tooling.
Become a paid subscriber to join it live!
I wrote this time a short article on why I think ergonomy, accessibility and stacking the bricks one by one are important in shaping our habits. Complex systems are built from small pieces. We need to start from them and enhance where we see the bottlenecks. Read more:
Not convinced? Check what others think about that.
Andy Hunt wrote his thoughts on how to make your development process rapid and smooth through continuous improvement. J.B. Rainsberger wrote his thoughts on how to refactor software and processes wisely.
Andy Hunt - The Four Keys To Rapid Response Software Development
J. B. Rainsberger - Investing Wisely in Architecture Through Refactoring
To be able to make a smart change, it’s essential to work on empathy. It’s not something you’re born with or not; it’s something you can learn. Of course, some people are more skilled in that (e.g. my wife is much better at that than me), but it’s something that you can work on and get better at.
Empathy is critical to be a good team player and leader and understanding user needs. It’s not easy to get it if we’re just focused on typing the keyboard and watching the LCD screen. Yet, to be decent at your work, it’s a must-have. How to get it? By talking to your colleagues, trying to understand their perspective, learning the client’s needs etc. Read more in:
Adrian Hornsby - Becoming a Better Engineer — Part 2: Empathy
Charles Desneuf - Facilitation Nightmares: How to escape a workshop not going on as planned
Some people are saying that we’re circling and eating our tails. I think that we’re more in a spiral. We’re constantly going past the old ideas but not precisely repeating them. We’re reshaping them. Is it good or bad? It depends. Some patterns got skewed pretty badly from the initial ideas; some were improved significantly. That’s why I like to dig into the past, as it gives us a chance to understand better where we’re at and what’s in front of us (yeah, you can guess that I’m reading the Dune series). Check:
Do you hate meetings? Shopify encourages people to drop off meetings. I’m not convinced that’s the ultimate solution, but that’s a good indication that companies are realising that remote work to be effective has to be asynchronous. And remote doesn’t have to mean async by default. Check my 15 tips on how to run meetings effectively and read more in:
Never Gonna Give Your Teen Spirit up is my favourite mashup, but getting Derek Comartin and Jeremy D. Miller discussing Marten and Event Sourcing is also decent enough! See:
Have you heard about a recent huge Microsoft outage? You should. Although the root cause is not surprising, it’s always DNS or…
…DNS:
Still, Microsoft is not only failing; they also released the Azure Open AI Service. You can sign up for beta too:
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
Andy Hunt - The Four Keys To Rapid Response Software Development
J. B. Rainsberger - Investing Wisely in Architecture Through Refactoring
Gregor Hohpe - Are you integrating or building distributed applications?
Adrian Hornsby - Becoming a Better Engineer — Part 2: Empathy
DevOps
Greg Jacobs - Lessons Learned from Enterprise Usage of GitHub Actions
GitHub - Introducing required workflows and configuration variables to GitHub Actions
Databases
Frontend
Testing
AI
Azure
Java
.NET
Derek Comartin, Jeremy D. Miller - Event Sourcing in 1 Hour with Marten in .NET
Rafał Pieńkowski - Elephants trunk - code complexity analysis
Nino Floris - Slon - A modern high performance PostgreSQL protocol implementation for .NET
Coding Life
Oskar Dudycz - Stacking the bricks in the software development process
Hillel Wayne - 10 Most(ly dead) Influential Programming Languages
Charles Desneuf - Facilitation Nightmares: How to escape a workshop not going on as planned