Couldn’t agree more. A lot of articles on Medium touching on computer science are just too painful to read. Too many programmers nowadays do not go through the proper training in computer science. They were just taught to code but not on other aspects like predicate logics, time and space complexity, memory architecture and management, etc.
Once I interviewed someone for a developer role and asked him what’s the difference between using a recursive method vs a loop and he couldn’t answer (my follow up would be when and why to use it but I could reach there since he can’t even answer that). And when I asked him what is stackoverflow, he told me it’s a website…
I find that the lack of proper knowledge of computer science coupled with the widespread adoption of AGILE (a reader of yours pointed out that it’s the misunderstanding and misuse of it) has caused a lot of applications to suffer from messy and unmaintainable codes. We are now in a paradigm where “refactoring” and “technical debt" are an everyday problem in software development.