Architecture Weekly #137 - 24th July 2023
Welcome to the new week! I took July as a break from commercial work and bigger engagements. I decided to keep sending the newsletter and post new articles, as I wanted to keep consistency. Yet, we didn’t have any webinars this month, but we’ll have two in August! On the 2nd of August, together with Jeremy D. Miller, we’ll try to show how to reduce boilerplate in your .NET applications. We’ll take the simple Event Sourcing application I showed on NDC Oslo: And try to make it even simpler by using Wolverine. It’ll be a live pair programming, where we’ll discuss the assumptions behind Wolverine and how it helps to keep things simple. Some of that Jeremy mentioned in his latest article: I think non-.NET devs will find something interesting about it, as we’ll focus on the architecture aspects using Wolverine and Marten as examples. Join the paid subscribers community to join us live! As mentioned, I’m continuing my blog-each-week streak. This time I published a small tip on setting up global variables in .NET tests with XUnit. That can be helpful if you're doing API integration tests for an application using Marten. I also included a small rant on .NET testing frameworks. Psst, they’re not great. OK, enough about .NET. And Now for Something Completely Different. Shopify bragged about the browser plugin they use to show how much the meeting costs the company. Some people took it as a healthy idea to cut the meetings that should have been an email. My take on that was different… I think that’s a mark more about organisation rather than meetings. The quality of meetings (or rather the lack of it) is one of the most visible signs of the company's issues, but rarely the root cause. I have also been in projects where I spent 6-7h in meetings, so I’m not trying to downplay how they can degrade work experience, but the usual issues were elsewhere. The most important is to agree that it’s OK to skip meetings and ensure you won’t miss anything. I wrote more tips on how to run meetings effectively on my blog. And life is funny, as a few days later, I found such an article on yet another cost optimisation at Shopify: There’s a difference between doing cost-savings and just being cheap. How to tackle the organisation issues? Read more in a decent case study on how Xapo Bank approached its organisation change.
They were always remote-first but changed the business model from a Bitcoin service provider to an online bank. It’s an interesting story on how to get alignment between your business needs, product and engineering strategy. Not surprisingly, introducing the proper team topology and focusing on the business domain helped. Yet, that’s only possible when you’re passed your market validation and know what you’re doing and what you want to be doing. Check an article explaining why we should not set up a permanent Platform Team. I also think that, by definition, such teams should be made for the particular cause of enabling other teams to focus on their work. By definition, they should be treated as interim until they fulfil the specific goal. And this goal should enable other teams. Of course, they may be kept longer, but we should always reevaluate if the current constellation we designed in the past still applies. Such process evolution and enabling autonomous teams to share standard practices is the main idea of the DevOps movement. I mentioned already that the practices in the companies skewed perception of this idea. DevOps is not rebranded Ops teams using newer tools. It’s a set of practices and approaches to dealing with socio-engineering systems. Those practices should not be considered as novel but as commodities. Is that really the case? Check the annual InfoQ report about the DevOps Trends: There are interesting quotes:
Also:
Quite an enigmatic sentence, aye? Still, you can read between the lines that companies realised that just applying CI/CD tooling or Kubernetes is not enough to say that you built the proper development process.
So as always, cloud providers made monetisation out of it but then realised that they had achieved feature ubiquity. So they invested more in creating managed services to lock customers. Which, of course, didn’t help all the companies to deliver business value. Watch also a nice talk by Andrew Clay Shafer debunking some of that: InfoQ report also notices the emergence of WebAssembly as the new hope for a “write once, run anywhere" solution. Yes, also on the backend. That’s also an area that I’m looking for and planning to invest more time in. See nice presentation explaining this technology: LinkedIn released a new article explaining how moving from the JSON serialisation to Protobuf changed and improved the spread of their services. And that can be some information that we should consider, but what’s staggering for me when I looked at the article, and Rest.li is that I don’t see how it applies the REST principles. In my opinion, it’s more CRUD.li than Rest.li… Based on the modelling tips I found in the documentation, it promotes a narrowed view using common verbs (GET, PUT, POST, DELETE). It is missing the main idea, so hyperlinks. Don’t be like LinkedIn, be like Asbjørn Ulsberg and try to understand REST principles if you claim you’re using it. Sad news came about Kevin Mitnick died last week. His life was filled with controversy. He was sentenced to change sides and became a security expert. Read more: 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 the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross. Architecture
DevOpsDatabasesFrontendAIAzureJava.NETWebAssemblyCoding LifeManagementProduct DesignIndustryTrivia |
Older messages
Architecture Weekly #136 - 17th July 2023
Monday, July 17, 2023
Welcome to the new week! I feel that the DevOps aspect of Event Sourcing tooling is not covered enough. Knowing how to put data in and out for development needs is not enough to know how to run Event
Architecture Weekly #135 - 10th July 2023
Monday, July 10, 2023
Welcome to the new week! Simplicity in software design was a leitmotif of my last year's work. I tried to explain how CQRS and Vertical Slices can help with that. Still, it's not about the
Architecture Weekly #134 - 3rd July 2023
Monday, July 3, 2023
Welcome to the new week! Last week we did a next Architecture Weekly community webinar. Maciej "MJ" Jędrzejewski told us about Evolutionary Architecture: The What. The Why. The How. Showing
Webinar #11 - Maciej "MJ" Jędrzejewski - Evolutionary Architecture: The What. The Why. The How.
Friday, June 30, 2023
Watch now (93 min) | Architecture is about making important decisions at the right time. One of the soundest suggestions is to delay the most significant decisions as much as we can. That's a nice
Architecture Weekly #133 - 26th June 2023
Monday, June 26, 2023
Welcome to the new week! Let's start with a quick reminder. Architecture Weekly became something bigger than just a newsletter with Software Architecture links. We now have a community of over 3100
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