Architecture Weekly #88 - 15th August 2022
Welcome to the new week! I’ll start with an invitation to this week’s webinars that I’ll be running. The first one is Pragmatic Event Sourcing in .NET With Marten. I’ll show in practice that Event Sourcing is (contrary to common belief) highly practical and not as complicated as it’s pictured. You’ll also see why Marten can give you a boost with its pragmatic attitude. The webinar will be run thanks as part of the JetBrains webinars on Tuesday 16th at 2 PM UTC. More details here: https://blog.jetbrains.com/dotnet/2022/07/15/webinar-pragmatic-event-sourcing-in-net-with-marten/. The second one is Implementing Distributed Processes. It’ll be run for the Event Sourcerers Community. What’s it and how to join it? By becoming the paid Architecture Weekly subscriber or my GitHub sponsor. Feel invited. Ok, but what’ll be the exact topic? Some time ago, I added Java samples of Distributed Processing (See more in Event-driven distributed processes by example). During the webinar, I'd like to port them to C# and, while doing, explain the nuances of the implementation and design decisions. It will be a chance to have more interactions and discussions. Most of our design struggles are related to trying to create a perfect solution. It'll be perfect because it can be set in stone once we develop it. That's rarely possible. As we strive to do one and done, we're afraid to fail and fight ourselves. In my last article: Why are we afraid of our decisions? I wrote more about the origins and potential solutions. It’s easy to say, “just keep the right balance!” or “just write simple code!”. Jeremy D. Miller wrote in Putting SOLID into Perspective a thorough take on what “simple code” means to him. SOLID and Clean Code principles put you in a love & hate relationship. Nowadays, many people (including me) are ranting about SOLID. Jeremy took a breath and wrote a nuanced explanation. I was taught (at university, work) that I should strive to create an architecture that’s easy to maintain and evolve. That’s also easier to say than follow. The more prescriptive would be to say that we should build solutions that are replaceable or even easy to remove. Such an attitude focuses on composability and building solutions from smaller blocks. We’re also not focused on something that should last and be set in stone. We embrace the change and accept that our design should evolve. Smaller elements are also easier to understand and reduce the cognitive load. What’s that? Check the InfoQ panel: the True Bottleneck in Software Engineering - Cognitive Load. Moderated by Jessica Kerr and run with Proper boundaries set good foundations for the right decisions. We can break down our complex problems into smaller departments. They can be focused on a certain business area or workflow, be easier to understand and reduce the number of modules we need to touch to provide a change. Check more in:
The final aspect that’s too often forgotten is the human-to-human relationship. We didn’t become developers to talk to humans, aye? It’s the contrary. You know IT means Information Technology. Information can be gathered, but usually, it’s done for a reason. And the reason is: to be able to use it. Information needs to flow between humans also, through our colleagues. In my project, I always emphasise the value of proper information flow. Damian Płaza in Organization-Driven Design wrote an intriguing take on looking at our design as a human organisation. The jazzy way to deal with that in the Agile world are: Pair and Mob Programming. They facilitate collaboration and enhance mutual understanding. They’re extreme (hey, they come from Extreme Programming!), but they work. I wrote my concerns in Agile vs Introverts, but I cannot deny that if they’re done correctly, with empathy and not forcing anyone, then they’re highly effective. If you want to try it or improve your experience, then check those thorough, balanced takes: Check also other links! Cheers 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
Distributed SystemsDatabasesDevOps
FrontendFunctional ProgrammingGoJava.NETCoding Life
Security
IndustryYou’re a free subscriber to Architecture Weekly. For the full experience, become a paid subscriber. |
Older messages
Architecture Weekly #87 - 8th August 2022
Monday, August 8, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #86 - 1st August 2022
Monday, August 1, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #85 - 25th July 2022
Monday, July 25, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #84 - 18th July 2022
Monday, July 18, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #83 - 11th July 2022
Monday, July 11, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your