e.g. Saying "Ruby Developer" isn't like saying "Brain Surgeon". It's more like saying "Hammer Carpenter" or "Scalpel Surgeon".
Web Developer, Embedded Developer -- these are more akin to specialization on the order of "Brain Surgeon" or "Endocrinologist". Notably, no-one's taking issue with that kind of specialization.
Maybe that part of the analogy doesn't hold up for a hospital, but it sure as hell does in a software engineering organization. If you have a bunch of people working together towards a common set of goals, it makes things a hell of a lot more complicated if everyone is just working in the language they like playing with the most, regardless of their overall technical knowledge. Organizations standardize on best practices, languages, frameworks and technologies because it simplifies things.
If you have the feeling for the music you can create music using anything. Ideas just blow to your mind. The tool, well, it's is just an interface to concretize your idea.
But I think specialization is not a bad idea.
(FWIW - I am not a programmer/developer)