It's not that specialisation is bad, more that you can be specialised in an area but that doesn't mean you should not have a wider range of skills, that you are not expert at but you can do it without fucking things up entirely.
There exists jobs for "pure programmers", but most programmers should have at least a basic understanding for the problem space they are solving. Bonus points if they really understand it and still listen to the full time experts of the field.