This echoes my experiences about a year ago almost exactly (although I was looking in London). The obscure programming problems are largely a waste of time, but fairly non-threatening and generally ok (there were a few companies that did group problem solving exercises instead which really impressed me).
The biggest issue that I found by far was communication. Especially in the Silicon Valley based companies that were looking to hire in London at the time. Communication times of a few weeks seemed fairly commonplace (with contact still extremely positive after such a long wait). One company (I suspect the same as the non-profit mentioned in TFA) took more than a month to get to my second interview, during which time one interview was cancelled about an hour before it was due, and one interviewer simply failed to turn up with no explanation.
My limited experience is obviously no indicator of any wider issue, but if that's generally how companies interview, then I'm really not surprised at all that they find it difficult to hire talent.
The biggest issue that I found by far was communication. Especially in the Silicon Valley based companies that were looking to hire in London at the time. Communication times of a few weeks seemed fairly commonplace (with contact still extremely positive after such a long wait). One company (I suspect the same as the non-profit mentioned in TFA) took more than a month to get to my second interview, during which time one interview was cancelled about an hour before it was due, and one interviewer simply failed to turn up with no explanation.
My limited experience is obviously no indicator of any wider issue, but if that's generally how companies interview, then I'm really not surprised at all that they find it difficult to hire talent.