Architecture Weekly #95 - 3rd October 2022
Welcome to the new week!
I’m writing to you from the hotel room in Bergen. Last week I was at the NDC Oslo conference and prolonged it a bit to take the opportunity to see a bit more of charming Norway’s nature. If you’re here, take the train from Oslo to Bergen, you won’t regret it! I need a bit to recharge, as the last week was super busy for me.
At NDC Oslo, I did a short (2h) workshop with a practical introduction to Event Sourcing. It’s not an easy format to give people to get their hands dirty and also explain the foundations. It seems that it worked out, as some participants wanted to do a photo with me after it was finished.
If you want the full experience, feel invited to join the online workshop I’ll be giving in November with DDDEU academy.
On Friday, I built an event store in one hour live at the NDC Oslo stage. It’s not something you should try to do for production usage; using some existing, mature solutions is better, but it’s a lot of fun. If you want to try that on your own and your code in C#, try my self-paced kit that you can find in my repository.
If you want to see also see all my observations from NDC Oslo, check this Twitter thread.
I told you that I was busy, right? We also had a webinar discussing the CQRS in a nutshell, untangling common myths and showing the practical way of transitioning from CRUD. You can watch it by joining the paid subscribers community.
I also write a blog article that matches the idea behind the abovementioned activities: Dive a bit deeper, look a bit wider. We should strive to understand our tool and try to break through the marketing sold by their authors. Let’s not base our design on gut feeling and question hype and what we read on the blog. To be a decent programmer, we should look at least one level lower than the one we work on daily. So if we use ORM, apart from understanding it, let’s also understand the basics of relational databases. If we are doing a frontend, let’s understand the rules of building a sound WebApi and how the backend roughly works.
Speaking about basics, it’s always surprising for me to see how people skip the foundational patterns and want to just tech-around-the-problem. For many people, outbox pattern, sharding, etc. are like enigmas. That’s also why it’s never enough to explain basic concepts like:
With proper modelling and understanding of the business process, we can try to make proper tradeoffs and know when to cut corners. Good design is not created in a vacuum. If we understand our business goal and usage patterns, then we can create simpler solutions instead of complex, byzantine ones. See more in:
While being an architect, it’s important to focus on the trends in the industry. Even if they don’t seem related to our regular scope of responsibility, we need to understand them because they may impact us sooner than later. See:
HTTP Archive - Web Almanac 2022. Annual state of the web report
Pew Research Center - Teens, Social Media and Technology 2022
If you want to read some crazy tech-related story, there you have it:
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 Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.
Architecture
Nick Tune - Domain-Driven Design and Team Topologies for Product-led Organizations
Anton Stöckl - Hexagonal Architecture: Structuring a project and the influence of granularity
Database
DevOps
Frontend
HTTP Archive - Web Almanac 2022. Annual state of the web report
P. Schmitt - Big Techday 22: Future of the Frontend: The End of Single-Page Applications?
AI
AWS
Java
.NET
Daniel Marbach - How we achieved 5X faster pipeline execution by removing closure allocations
Microsoft - Microsoft Teams’ Infrastructure and Azure Communication Services’ Journey to .NET 6
TypeScript
Tools
Coding Life
Management
Charity Majors - The Hierarchy Is Bullshit (And Bad For Business)
Google - Are you an Elite DevOps performer? Find out with the Four Keys Project