I'm not a web or mobile developer. I'm not a "devops engineer", and I'm not a "backend engineer." I'm a problem-solver. But to many (most?) companies, this means that I need to be classfied into a track. I need to be an X or a Y or a Z. I can't adopt those roles when necessary--I need to be slotted in and just go.
That doesn't really work for me. Which is a major reason why I'm a software consultant now. I'd go do a full-time job that respected my complete disinterest in being pegged to a particular role and was able to give me the latitude to solve cross-cutting problems at scale. But that's a hard role to define, a hard role to hire for, and a hard role to evaluate--which is why they, and other generalist-focused roles, don't often exist.
It's easy to get a job. I can walk into almost anywhere in Boston if they're hiring and get an offer; I interview extremely well. I can't get a job that actually leverages my skills.