I consider myself to be a generalist that specializes in front-end web development.
If you are trying to decide between hiring a generalist or specialist, it just comes down to your resources and the current structure of your team.
If you are a startup with little to no funding... generalist.
If you are a stable company looking to improve your UI or starting to incorporate new tech (like native mobile dev) into your products....specialist.
An Ideal team for me, given ample resources, would be a bunch of specialists supported by 1 - 2 generalist.
A specialist will always try and solve problems with the tech that they know. This often leads to maintenance problems due to a blurring of separation of concerns. A specialist will also out perform a generalist when they are given the correct problems to solve.
A generalist will know which specialist is the correct one to solve the problem, and can even do some light to medium lifting if a deadline calls for it.
Also, do not hire specialists if the corporate culture means their new expertise will be ignored or overruled by the old decision-makers.
There's no point bringing in a UX designer unless you can force the marketing-director to stop micromanaging pixel offsets. At best, you'll be paying extra for somebody who is demoralized an unable to meaningfully contribute.
The danger with specialist is the focus on developer-oriented value, e.g. you're front end guy spends all his time on designing his CSS code, instead of designing the page.
The key is whether you understand what's important for the business/product, not whether you've worked on the same stack.
If you are trying to decide between hiring a generalist or specialist, it just comes down to your resources and the current structure of your team.
If you are a startup with little to no funding... generalist.
If you are a stable company looking to improve your UI or starting to incorporate new tech (like native mobile dev) into your products....specialist.
An Ideal team for me, given ample resources, would be a bunch of specialists supported by 1 - 2 generalist.
A specialist will always try and solve problems with the tech that they know. This often leads to maintenance problems due to a blurring of separation of concerns. A specialist will also out perform a generalist when they are given the correct problems to solve.
A generalist will know which specialist is the correct one to solve the problem, and can even do some light to medium lifting if a deadline calls for it.