Interesting list of criteria about why you might not use some piece of tech. Also delves into why this is often not public knowledge.
Interesting warning about too early standardization. Don't go top-down, better go bottom-up working on each separate problem and see if something emerges.
And that's why I find hard to swallow that "microservices" is the go to answer from lots of people nowadays when you discuss architecture. There are interesting promises on paper but that requires you to ignore several layers of complexity. It's likely fine to get there at some point, but bake in all that complexity from the start? I don't think so.
Simple illustration of that software architecture pattern in Java
Very good rant which explains nicely why rewriting some software from scratch is almost never the right answer.
I recognize myself quite a bit into that: boring but pervasive technologies is generally good for users.