Being able to produce/create algorithms for solving specific problems is certainly a valuable skill. If one has a problem (let’s say sorting of data) and has absolutely no clue how to write code to implement an algorithm to do that, then I think maybe that person might not be best suited for a programming career. The best programmers I have worked with always have an idea for solving a particular problem. I believe it is part of a programmer’s nature to think about how to solve a problem. In fact, I love having a collection of problems in my head so that I can think about how to solve them when I am stuck in a boring situation.
On the other hand, I suspect that it is a rare situation where it is actually best to use an algorithm written from scratch (at least with well known problems such as the sorting example). I am quite sure that I would never have been able to “invent” or “create” the quick sort algorithm. It seems likely that any sorting algorithm that I would create from scratch (assuming I knew nothing about sorting) would end up being O(n^2) or worse. But being able to understand the quick sort algorithm has been invaluable. We had a situation where a class of data was turning out to be very costly to sort (close to n^2) by a quick sort implementation we were using. By understanding the algorithm, I was able to change the code to choose a much better partition element for that class of data and “fix” it so that it worked in O(n*log(n)).
So I think there is some middle ground. Having no interest or capability in writing an algorithm for a class of problems is possibly an indication that a different career path might be more rewarding. At the other extreme, someone who insists is on writing everything from scratch is, in my opinion, a much worse person to have on the payroll. I think the former person can probably have a good career even if not the most enjoyable for that person, while the latter may not succeed in the long run.