I'm not sure I totally agree with all the points in this article, some are valid and familiar to me, but I have to add that a lot of the systems I have worked on, have had 'accidental complexity'. By that I mean that decisions on architectures tend to be made, but never fully implement by the time another business imperative comes along, and the implementation is never quite finished.
I think most of us would be familiar with working with systems that have components that follow different architectural styles, at the same time. And I don't mean in a deliberate way, as per a microservices / API first approach, but literally none of the approaches ever had time to come to fruition, before it was side-lined by another initiative.
That in turn leads to a high cognitive load, and the type of job specs we see all the time, where a developer is expected to know many, often contradictory skills.
Perhaps it's not always the technical team that is at fault, but also the business must share the blame... #complexity
https://lnkd.in/daEQDaFa