I'm entirely self-taught in the sense that I've learned as I go, but I've also had some awesome professional mentors along the way in the field, challenging me to think differently. I've been mentoring someone for a couple months now and they've done an awesome job progressing. We meet every other week and I give them homework (e.g. make a plugin that adds a custom post type with custom fields and columns) and have them use online resources (e.g. Code Academy). When we meet I just let him ask questions about concepts and anything he's been struggling with.
To my knowledge, the issue academia is having presently is that it takes years for a curriculum to be written and accepted, and in that time web technology has progressed too quickly. Learning to develop online is like learning how to canoe in a river. It's not just being able to traverse it at one given point, but being along the journey and having traveled some distance through shallows, depths, rapids, and forks. College teaches you all about the canoe, but what makes someone truly proficient is knowing the river itself. Going the self-taught route can be hard, especially if it's alone, but by doing so you learn both the canoe and the river at the same time.
What I will give academia is that it does dive pretty deep into things like server-side management and computer science, which can give you a pretty intricate idea of not just how things work, but why things work. A good number of web developers I run into aren't entirely sure what's going on behind the scenes (especially front-end developers, which is an interested concept in and of itself). That extra knowledge can make you pretty formidable. It's certainly possible to learn that yourself, but it is pretty difficult.
Hope this helps!