Like you noted, a lot of the complexity comes from how the tools work together. There's version control, editing, code intelligence, test suites and test runners, different sorts of environments, and more. And every possible permutation and nuanced setup depending on the runtime you're using and depending on how opinionated and/or fickle the community is around whichever language you're using.
Meta-problems of this kind are seldom discussed directly and are difficult to improve upon. I suspect things will get better slowly, and problems we have now will seem trivial and quaint in the future.
EDIT: What heroku has done for the production environment, I want for the development environment.