DEV Community

grzegorzgrzegorz
grzegorzgrzegorz

Posted on

Architectural decisions

I recently attended GOTO conference in Copenhagen (https://gotocph.com/2025, you can find the slides for some of the presentations there) and would like to share some of the interesting topics.

Problems which stem from architecture are still there. Decisions related to architecture are hard to make and hard to change while most often they need to be made before we know all the context. I attended quite a few talks related to this topic but I think Daniel Terhorst-North brings especially useful summary to tackle the problem:

  • keep things simple as "complex system can only evolve from working simple one" (paraphrased John Galls' statement)

  • avoid speculative generality, do not guess to be able to create some generic components - this comes from Donald Knuth's sentence "premature optimization is the root of all evil (97%)" and it just means we should not over-engineer

  • do not miss a chance to optimize critical parts - this comes from the 2. part of Donald Knuth's sentence "Yet we should not pass up our opportunities in that critical 3 %" - we should not under-engineer as well

  • learn to sketch - sketching is different skill than developing and it allows to create good prototypes which potentially can even be released (to me, it has much in common with vertical slicing technique)

I personally think that all above points are related to all the aspects of IT industry, not only architecture. "Premature optimization" statement was originally about the code performance but in my view, besides architecture, together with other concepts it also concerns quality (tests), devops and others.

Top comments (0)