The tech boom has made people forget this, but that fact never changed. And now what we're seeing is that the "write code" part is increasingly becoming devalued. What does this mean? That those with domain knowledge will still be able to function, whereas people who could only write code will be devalued.
Even from offshore contractors, I still haven't run into anyone who can only write code except for someone just starting out.
Indeed. If we peel back the rationalizations, it is patently obvious that code has no meaning apart from the domain it exists in. Its entire meaning is derived from the domain and from the purpose to which it is put and for the sake of which it is written. There is no such thing as code, or broadly technology, in isolation. It does not exist for its own sake. Where such things are concerned, all meaning is in the observer.
So, if a dev has a poor grasp of the domain, then he must inevitably depend on someone else to supplement his deficits, like a product manager, which is a role that in practice often results in a formal distinction between the domain expert and the technician.
And that's what a dev without domain knowledge is: a technician.
This is also why people with solid[0] philosophical/liberal arts backgrounds often function very well in the software industry. They are better able to cultivate context which puts them in the best position to make prudent judgements at both product and technical levels.
This is not a dismissal of technical skill, but skill is always downstream from meaning, purpose, and context. It's a tool, perhaps a glove. Without the hand, there is no glove.
(Some may say this is obvious, but sadly, the obvious is what people seem to have the most trouble with.)
[0] Emphasis on "solid". I'm not talking about the ideological puff you might see in some places. I'm talking about something intellectual rigorous like the classical liberal arts.