I think it would depend on where you're working. If you're at a startup, you must be a generalist because there is a need to do as much as possible with the least amount of resources. A generalist who can perform 3 functions reasonably well is therefor much better for a startup than 3 people who perform these functions to perfection (at least in most cases). In a large corporation, there is often an inherent degree of specialization (whether or not it's efficient).