I’ve been programming over 30 years and this has always been the case. Large companies even started parallel technical and management advancement ladders so that engineers didn’t feel like they had to switch to management to progress in their careers.
Media portrayals of programmers have improved since the Revenge of the Nerds days but they’re still stereotypical, corporate types and recruiters like simple compartmentailization and labels, and an easy way to boost your ego and assuage your insecurities and defend your turf is to indulge in stuff like left-brain/right-brain dichotomies where you can’t possibly be creative if you’re analytical or vica versa.
Maybe this has become worse now projects have become more complex and layered and teams have more specializations, although it’s also easier now for small and even one-person teams to do everything. And there is now a premium on being considered creative to the point where “creative” is used as a noun and professional designation (it would be just as silly for programmers to call themselves “smarts”, but actually I saw the book How Google Works uses “smart creative” throughout). Although the modern open office looks more like the steno pool in Mad Men than Don Draper’s office.
But I also think the problem is increasingly self-inflicted. Early in my career, interviews consisted of real discussions where we talked about the company projects and my past work and current interests, and our ideas about things, then during the first dot-com boom only people from companies like (early) Apple liked seeing a varied background (it just confused others), Google didn’t even ask about my past projects, just quizzed, me, and at my last Bay Area interview they just want me to write code on a whiteboard. So programmers these days are just as guilty of pigeonholing programmers.