those written here are very good answers. I have been in this field for almost 2 decades and one of the reasons I believe is that people often do not go over the "hello world" phase. get a junior job do the minimum to keep their job until it is time for the promotion. eventually becoming senior without knowing the Solid principles or how to write a simple unit test.