You're both right. Specific jobs are becoming more specialized with a higher emphasis on understanding specific frameworks, languages and patterns. At the same time we switch jobs more often, so engineers have to to become more adaptable and less specialized to remain relevant to new roles.