Back in my university years I was stunned when we moved from mechanical engineering theory to practice and it became clear that you need little to none theoretical knowledge to design machinery. There were step-by-step guides on every topic, there were machine parts for literally everything and they all were standardized and heavily documented, so putting up an automatic production line was practically a no-brainer. This is what goes on with programming as well - there are frameworks and libraries for everything, all you have to do is to compose a solution to the problem, in most cases it does not require any science.