The "problem" that humans have, is to understand the problem.
To understand the problem, most humans want to understand the "Why?".
Usually only then, people have lowered the "bullshit" shield that prevents the actual problem solving and algorithmic design.
Computers on the other hand, usually do not understand what "Why?" means, and thus for tersely described algorithms, are able to produce code, without any mental feeling blockages.
This is very similar to chess, and why chess computers are able to beat the best humans, raw processing power and trying out loads of different scenes according to a rigorous, painstakingly precise order and method.
However it is also the reason why computers are not able to beat the best humans at all times, because humans may do things that are feeling based, rather than logic, and thus the humans are able to "outwit" the computer.
For some tasks, where the precise algorithm can be described in minute details, although in natural language, I would expect computers to excel and take over the work from humans. However the humans would simply move a short step up the process chain since someone is needed to make that detailed analysis and precise description of what the algorithm actually should do and why.