Architecture Weekly

Share this post

Architecture Weekly #128 - 22th May 2023

www.architecture-weekly.com

Architecture Weekly #128 - 22th May 2023

Oskar Dudycz
May 22, 2023
3
Share
Share this post

Architecture Weekly #128 - 22th May 2023

www.architecture-weekly.com

Welcome to the new week!

It’s an anniversary release of the Architecture Weekly 10000000! How quickly did it go? Woohoo!


Usually, one of the main drivers for Event Sourcing is the audit log capability. Indeed event stores are append-only logs, theoretically, we're getting that for free. Yet, I'm usually not putting it as the front reason, and there are a few reasons for that.

I tried to cover them in my latest article, as I prefer people jump on the Event Sourcing bandwagon because it's helpful for them rather than being blind by the hype and then failing.

Read more:

  • Is the audit log a proper architecture driver for Event Sourcing?


As architects, we should always try to challenge the status quo. Of course, not just for disagreeing, but to ensure that our common practices have a ground basis or are rituals. Michale Feathers, in his classic article, wrote about using mocks:

My point is that we can't look at testing mechanistically.  Unit testing does not improve quality just by catching errors at the unit level.  And, integration testing does not improve quality just by catching errors at the integration level.

Discussions Unit vs Integration etc. are usually meaningless if they don’t involve the context and the feature we’d like to test. Read more in:

  • Michael Feathers - The Flawed Theory Behind Unit Testing

Have a look also at the recent Rebecca Wirf-Brock article showing the testing and development process from multiple angles. It neatly explains that testing is not only about quality assurance.

  • Rebecca Wirf-Brock - Getting out of your ruts


I think that you should already know that I’m not fond of craftsmanship, clean code and other Robert C. Martin concepts. There are many reasons for that, I presented some in What onion has to do with Clean Code?. Criticism is good as long as it’s based on facts and is constructive. That’s what Kevlin Henney did in his talk. Watch more in:

  • Kevlin Henney - The SOLID Design Principles Deconstructed


Some may say that such stuff is about tactics, and strategy is important. My take is that all are important; the big things are built from the small ones. A great strategy won’t work with the wrong execution. Also, projects are failing from the wrong vision and those annoying papercuts that are killing projects every day.

Yet, from my experience shaping the right product direction is one of the essential things. Of course, we’re usually building software to earn money, but if earning money is our primary goal, we don’t have a differentiator, as all the others also want that.

To be a good product manager is not easy; you need to acquire multiple skills: design, management, empathy, collaboration, etc.

Check those two links to read more about product development:

  • Zalando - Discovering & launching products in Zalando SE by Stefano Rinaldi

  • Sam McAfee - This Agile Hammer Doesn't Work For New Product Development


Have a read also about the classic work on how to acquire the skills from Dreyfus & Dreyfus. This is the groundwork in this area, surprisingly not much has changed from the release of it:

  • S. E. Dreyfus, H. L. Dreyfus - A five-stage model of the mental activities involved in directed skill acquisition

See also how to make teams effective:

  • Dan North - Patterns of Effective Teams

And how NOT to make teams effective by putting your ego in front of everything:

  • Forbes - OpenAI CEO Sam Altman says the remote work ‘experiment’ was a mistake—and ‘it’s over’


If you’re looking for another oldie, then have a look at the Byte Magazine edition from 1981, which was fully dedicated to AI:

  • BYTE Magazine - Volume 06 Number 09 (1981) - Artificial Intelligence


Looking for something more technical? Check a decent case study showing how Monzo designed their banking software architecture. It’s an intriguing explanation of how to use Cassandra at scale together with Kubernetes. I’d be interested in learning more about their modelling, but it’s still a good read on the technical aspects of this process.

  • Suhail Patel - Banking on Thousands of Microservices

If you're into Azure space and want to start your journey with Cloud Native, Microsoft provided good ramp up materials:

  • Microsoft - Collection for Cloud Native New Year 2023

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

  • Oskar Dudycz - Is the audit log a proper architecture driver for Event Sourcing?

  • Suhail Patel - Banking on Thousands of Microservices

  • Marc Brooker - Open and Closed, Omission and Collapse

  • J.B. Rainsberger - Surviving Your Inevitable Agile Transition

  • Rebecca Wirf-Brock - Getting out of your ruts

  • Matthew Skelton, Nick Tune - Independent Service Heuristics

  • Robert Yokota - Understanding JSON Schema Compatibility

  • Adrian Hornsby - Respecting What Came Before, Premature Optimization, the Pitfalls of Sensationalism and Technology Enthusiasm

  • Kevlin Henney - The SOLID Design Principles Deconstructed

DevOps

  • Elif Samedin, Andrei Buzoianu - Terraform check{} Block - define assertions based on data source values to verify the state of the infrastructure

Testing

  • Michael Feathers - The Flawed Theory Behind Unit Testing

Frontend

  • Shopify - 3 ways to find your worst JavaScript offenders for page load

AI

  • BYTE Magazine - Volume 06 Number 09 (1981) - Artificial Intelligence

Azure

  • Microsoft - Collection for Cloud Native New Year 2023

  • Alicja Kucharczyk, Adam Wołk - Multi-tenant Saas apps made simple on Azure Cosmos DB for PostgreSQL

Java

  • Holly Cummins - Contract testing with Pact and Quarkus

  • Oracle - Announcing Graal Cloud Native

.NET

  • Jeremy D. Miller - Marten V6 is Out! And the road to Wolverine 1.0

  • Rick Strahl - Implementing Two-Factor Auth using an Authenticator App in ASP.NET

  • JetBrains - C# Support in Fleet: Solution View, Unit Testing, and More!

  • Microsoft - Learn how to modernize your .NET apps from the pros!

Python

  • Szymon Miks - How to test an API request to the external system

Management

  • Dan North - Patterns of Effective Teams

  • S. E. Dreyfus, H. L. Dreyfus - A five-stage model of the mental activities involved in directed skill acquisition

  • Dave Farley - Kent Beck On AGILE vs WATERFALL

Product Design

  • Zalando - Discovering & launching products in Zalando SE by Stefano Rinaldi

  • Sam McAfee - This Agile Hammer Doesn't Work For New Product Development

Security

  • Forbes - Apple And Google Team Up To Stop Unwanted AirTag Tracking

  • Forbes - OpenAI CEO Sam Altman says the remote work ‘experiment’ was a mistake—and ‘it’s over’

3
Share
Share this post

Architecture Weekly #128 - 22th May 2023

www.architecture-weekly.com
Comments
Top
New
Community

No posts

Ready for more?

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