I'm hearing a lot of "you can only demand your job title's work at large companies", and disagree. It may be that this is actually true in America, I wouldn't know. What I can say though, is that at least in Europe this really hasn't been my experience.
I mainly work for places with less than 50 engineers, and with the exception of CICD and a little fooling around in DBs, everyone sticks to their area.
Nope, there's a few different philosophies at work, and I've seen both in the US.
On the one hand, you hire and assign work to domain specialists. You don't expect a DBA or backend senior to be able to explain the box model in CSS or how to make a custom model accessible to screen readers, and you don't expect an FE senior to diagnose why an index isn't performing well or whether a particular model should be backed by a polymorphic table.
It's possible to do both, but you're going to be paying senior rates to get junior work except in rare cases.
On the other hand, there's the philosophy that good engineers can apply learnings from one domain to another, and therefore a senior is a fungible resource. If someone is a senior Django dev, they can pick up rails pretty quickly. Surely it can't be that hard to pick up some flavor of JS.
Personally, I'm in the former camp- true full-stack is a unicorn, and the closest ones still need a solid donation from someone else.
I've never been employed as a full stack developer, and though my current company keeps hinting that they want me to go that way, I've been successful at pushing back.
> there's the philosophy that good engineers can apply learnings from one domain to another, and therefore a senior is a fungible resource.
I see that a lot. I mean, JavaScript isn't hard to pick up, but the front-end is not an operating environment that resembles anything else I have ever seen.
> Personally, I'm in the former camp- true full-stack is a unicorn,
I think that's the case, too. iOS or desktop applications, I've played with those, I've done games on tiny hardware, those feel like I'm using the same part of the brain the rest of the computer science lives in, but I don't think it's possible to have a thorough understanding of the browser environment and be equally good with anything else.
I mainly work for places with less than 50 engineers, and with the exception of CICD and a little fooling around in DBs, everyone sticks to their area.