It used to be the job of a Systems Analyst to come up with the algorithm and the programmer to implement it without deviation.
That job no longer exists and programmers make up their own algorithms, which are perhaps less than robust. Not all programmers are good at algorithms. Its a different skill.