I think the real issue with driver development is that almost nobody ever has a reason to do it. It’s a much more constrained way of programming compared to normal programs, and isn’t necessary unless you need to talk to hardware or something. So, nobody has an excuse to learn it.
Yes… as I said. But, most people use hardware provided by other people, which means other people write the drivers.