[anonymously posted; skip to paragraph 9 for TL; DR.]

I cannot concur enough. I, perhaps, within me, have an entrepreneurial spirit. However, I perhaps am different than most. I did not see any way to get into any industry at all where I was: I got sucked into a game design curriculum believing that since a big-name game company was helping with the structure, my community college would be able to differentiate.

I ended up dropping out, selling my car, and moving six states north. I had no idea what I was going to do. I knew a little bit of CSS, a little bit of HTML, and a smattering of JavaScript - mostly gathered from cut-and-pastes. I had been programming since I was six (starting with qBasic on my father's Gateway machine - ostensibly, to cheat on qBricks: I had asked my father how to cheat, and he handed me a qBasic manual. Off and on I'd programmed: lego logo [robotics] in secondary school; computer science through AP comp sci in high school, covering things as esoteric - back then, to me - as red/black trees).

But the only applicable knowledge I knew was how to make a site look good given a mockup.

After that diatribe, having not gone through explicit training: I wish I had. I do not know data structures, algorithms, and parsing the way I wish I did - the best I did is generate parsing trees based on math input (up to parens - no exponents there). The best datastructure I built was a red-black tree for my final AP comp-sci grade: I never took the AP test. I may have kicked ass with my sorting algorithm a year earlier (dad's book, Dragon Compiler Design, helped - after he pointed me to a certain chapter), but I had barely a grasp of what was going on in that class.

I have not taken a math course higher than college algrebra. Ask me to find dx/xy given y=x^2 and I can barely do it: I've been teaching myselve calculus over the past two months. It's been slow. Thank goodness for 'calculus made easy' - a HN recommendation.

I could wax poetic about what I might have done or what I might have been. But I won't.

You have had education I wish I had had, in retrospect. I have been programming JavaScript (and studying aspects of functional programming I had never even heard mention of 'til Hacker News) in a professional capacity since I left (forcefully: I kept falling asleep building not-even-agency-of-record landing pages for online university direct marketing; thankfully, my manager recognized how bored I was in the role) my first position here.

I have worked for companies large and small. I have ideas I'm sure I could never execute. But I am positive - and this is the [return to the beginning for the TL; DR]

TL;DR: I am positive I would not serve the quality of code I do now, had it not been for peers (mostly superiors) reviewing my code and commenting on how it could be done better. This had never happened during school, as we were all rushing to complete our assignments on time. This only happened when I was working on a team that recognized that the work I was doing was valuable. And that I was worth schooling on style, format, and efficiency.

I may be a (community! I'd started for an associates in arts - english!!) college drop-out, but everything I've learned being a full-time front-end (again: mostly JavaScript) developer has been surpassed again and again by what I learned behind the desk. I don't think I would be the developer I am now without some/most of the lessons taught to me. But I know I would not be the developer I am now without the peer involvement encouraged by working on a team populated by programmers much, much more knowledgeable than I.

Bottom line? Wish I would've gone to school, but shit I've learned professionally is invaluable. Don't underestimate it, and don't think 'apprenticing' isn't worth shit. Because it is.