I've seen this with the younger generations working at the small IT firm I co-owned. I had to teach them at weekly evenings the basics of networking and troubleshooting, and this even only on Windows. No one even heard of the tools arp and nslookup.
I didn't begin working in IT with an education, it was all born rom a hobby, but I became surprised at the lack of knowledge of others in the field over the years.
I program in C for my hobby on a personal fork of OpenTTD. Because of that I've been looking up more detailed information on the aspects of programming (I already knew the broad picture of it because I did a bit of hobby basic and read on C and C++ years last century) and learned about the hardware side of how the CPU works and the various programming paradigms and ways to design a piece of software.
Then recemtly I watched several talks on video about these things. The well-known one from Mike Acton about why software is slow if you don't code for the CPU cache from 2014 was very interesting.
What surprised me was a talk from last year, still explaining the concept of data oriented software design and what a cache is to a public of professionals. So many in the audience who didn't know about anything beyond the syntax of the programming language.
I'm not surprised people still program (in the not-intended way of) OOP style. Not only the lack of education, but also the lack of pride in their job and will to learn more about it and improve themselves.
This is also not specific to IT and programming, but to all fields of work. It's how I noticed the low quality of written language even among famous authors. Idiocracy == true;
There are many faults on different sides, but the main one I see is the lack of motivation to improve one's self.