And it really depends on how the company breaks down their development teams. Some do it by function, but some large enterprises divide things by business area - so you'll have a team for accounting, one for packaging, one for manufacturing, etc. In that sort of structure, generalists are much more valuable.