Architecture Weekly

Share this post

Architecture Weekly #76 - 23rd May 2022

www.architecture-weekly.com

Architecture Weekly #76 - 23rd May 2022

Oskar Dudycz
May 23, 2022
3
Share this post

Architecture Weekly #76 - 23rd May 2022

www.architecture-weekly.com

Welcome to the new week!

As the years go by, I conclude that the simpler, the more boring, the better. To software architecture, that rule also applies. Each abstraction has its costs; the more layers and complex constructions, the riskier and fragile it is. I’m not a huge fan of clean coding and clean architecture. I believe that’s an obsolete approach that (maybe) was good when it was intended, but I also doubt it. It’s overly complicated and explained as one way to rule them all.

Of course, telling someone “just write simple code” is not actionable. Simple code is not simple to write. It requires several iterations and putting thoughts and discussions into it. It’s a paradox that it’s much easier to write complex code. Why? It’s easier to add another layer or stack a new code structure. Decoupling everything (e.g. with interfaces) also helps, as we do not immediately see the results of our actions. Yet, we’ll pay for all of that, but not now, later.

My hot take is that if we’re discussing the separation of concerns, our concerns should be business features, not technical split. Or both, but for sure, the technical one should not be our end goal.

We're sometimes too focused on the technical aspect because we're trying to tame what we can control. Many organisations often have a clear split between "business and devs". If you're in that position, then you won't ever see a client; you might not be even able to discuss requirements, so devs are trying to control what they can: code structure. And that becomes their (Chesterton's) fence and the main focus to do it right.

Of course, some developers just don't care about the business. They see programming as a riddle-solving or like to play with tech.

In my last article, I wrote my take on What onion has to do with Clean Code?

For more, check also:

  • Carola Lilienthal - When we lose sight of our domain

  • Gary Bernhardt - Boundaries

Microservices and lessons learned from them are always a hot topic. They already passed the buzzword phase, and there are some good insights both on how to do them right and bad. Check:

  • InfoQ - Seven Ways to Fail at Microservices with Holly Cummins

  • Antoine Craske - Airbnb's Microservices Architecture Journey To Quality Engineering

I’m thinking about learning some crazier lower-level language like Rust or Go. For the latter, the decent starting point looks like this ebook:

  • Chris Noring - Go, from the beginning

I’m not a massive fan of the “Web3”, but this sounds like an intriguing thing to keep an eye on:

  • BlueSky - A Self-Authenticating Social Protocol

  • The Verge - Twitter’s decentralized, open-source offshoot just released its first code

Check also more links below!

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). This is a great space for knowledge sharing. Don’t wait to be a part of it! We had our first webinar recently about migrating from CRUD to Event Sourcing. If you join, you’ll also get access to the recording.

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

  • Oskar Dudycz - What onion has to do with Clean Code?

  • InfoQ - Seven Ways to Fail at Microservices with Holly Cummins

  • Antoine Craske - Airbnb's Microservices Architecture Journey To Quality Engineering

  • Roni Dover - Improving Code Design With OpenTelemetry — A Practical Guide

  • Carola Lilienthal - When we lose sight of our domain

  • Alexey Zimarev - The Right Way

  • Gary Bernhardt - Boundaries

  • Noah Sussman - Falsehoods programmers believe about time

Distributed Systems

  • Provectus - Kafka-ui - Open-Source Web GUI for Apache Kafka Management

  • BlueSky - A Self-Authenticating Social Protocol

  • The Verge - Twitter’s decentralized, open-source offshoot just released its first code

Databases

  • Alex Vondrak - How Time Series Databases Work—and Where They Don't

  • VentureBeat - Why SQLite may become foundational for digital progress

Hardware

  • Singularity Hub - Moore’s Law: Scientists Just Made a Graphene Transistor Gate the Width of an Atom

AWS

  • Daniel Schroeder - IAM Floyd - AWS IAM policy statement generator with fluent interface

Edge Computing

  • Turing Pi 2 - Reliable, scalable, cloud-native computer for the edge

Go

  • Chris Noring - Go, from the beginning

.NET

  • Jeremy D. Miller - Multi-Tenancy with Marten

  • .NET Conf - 2021 - Focus on F# Recording

  • StrathWeb - Running .NET 7 apps on WASI on arm64 Mac

  • Gérald Barré - Getting telemetry data from inside or outside a .NET application

Kotlin

  • Johan Haleby - Pragmatic Event Sourcing with Pure Functions

Python

  • Plotly - Dash - Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

TypeScript

  • Yuriy Bogomolov - Compile-time validation of UUIDs

  • Jose Granja - Mastering TypeScript Template Literal Types

Industry

  • Lago - Why billing systems are a nightmare for engineers

Trivia

  • Reza Shakeri - Beautify GitHub Profile

Share this post

Architecture Weekly #76 - 23rd May 2022

www.architecture-weekly.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Oskar Dudycz
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing