While most programmers are able to utilize a simple machine learning or deep learning library/module (scikit-learn for instance) in their code, many are unaware of how these libraries work behind the scenes, why do they work etc.
It is clear that if a software developer wanted to pursue a career in Data Science he would need to study the algorithms and models (and relevant math).
But, what about the average programmer that occasionally needs to implement face recognition/dog detection/you name it in his web app?
Do you think that he needs to understand the models he uses, and if so, to what extent? Or just understanding the outputs of the algorithms is good enough?