I believe that a lack of domain knowledge is the root cause of a lot of very bad software that gets developed and I think that it is up to computer programmers and their managers to deal with this. Acquiring domain knowledge is an essential component in the development of software that really works well for its users.
as a self taught software engineer just starting my career; what do you mean by domain? I’m familiar with the term as i have spent years on learning web development as the “domain name” like in a url. But i get the sense that you may be speaking on something else? I will agree though; my boss should learn more about the web and how it works instead of relying on these frameworks to handle everything…
Basically what @clobble_wobble said. For a fast introduction I recommend Domain-Driven Design Quickly (available for free). If you are interested in gathering requirements in a way that can also strengthen your understanding of the business domain, you may want to check the Event Storming technique.