I have a hammer, but I have no clue how to get from driving nails into boards to building houses. I don't know what the road map should even look like, or what skills I would end up needing, or how to evaluate them along the way.
Thus why software engineers often get a degree, buy books, pay for classes, and so forth.
The self-education threshold tends to be even higher at the beginning. Most people have no clue how to get from owning a computer to Hello World, to FizzBuzz, to simple scripts, to a well-designed and documented program.
The real failure is when people turn to university (etc.) to learn a skill, get a "QC Okay" stamp at the end - and then still can't FizzBuzz.
You need shorter feedback cycles which focus on finding and correcting errors, not monolithic course grades and monolithic degree pass/fail stickers. You wouldn't expect it to end well if you tried code a major project that way. Why would it work any better as an education plan?
My instinct is to say that self education is hard & we still aren't good enough at it yet. On second thought I want to say that education is hard & our expectations are very high. One of my best friends has a 9th grade formal education, has done serious jail time and has still managed to succeed as a "professional" in the tech sector. I regularly listen to or read non degree people I would consider intellectuals. These aren't just brilliant edge cases anymore. Most of us know these people because there are lots of them. I have learned so much online. More than at work. More than at Uni. (Hard to compare it to school: learning to read & add was important). We are doing pretty well on self education. Lets pat ourselves on the back (or thank those people who made it happen) every so often.
I think the reason my first instinct is to say we aren't good at self education yet is that we can see so much potential. There really is no reason someone couldn't get to bachelor level chemistry, biology, civil engineering or economics on their own. There are all sorts of problems that just go away and let everything go much quicker when you're self educating. People might be able to learn 4 year equivalents in 6 months.Who knows.
Universities solve all sorts of problems in seemingly inefficient ways that we might see being superseded soon. A lot of the things they solve though are genuinely hard problems. Most people in an Econ2003 are not fascinated with Theories & Models of Supply Elasticity in A Recession. They are sort of interested in economics and have a general feeling that its something they should be studying. They might even be reading Why Keynes Matters. But, in a lot of cases they're cranky they have to take this stupid class in the first place. I'm not sure how that problem gets solved outside of a University. Maybe it doesn't need to get solved. Maybe the future is a word where students don't need to get dragged through material they don't want to learn. If it is, I'm excited.
35 year olds are looking back and thinking: "If I was 19 today I would do it like this..." But if you were 19, you'd be a different person, a 19 year old. You'd probably think like one. There are better tools than econ2003 out there a lot of the time. But they don't work for everyone all of the time. I think we have to accept some clunky systems that sort of get the job done.
I have a hammer, but I have no clue how to get from driving nails into boards to building houses. I don't know what the road map should even look like, or what skills I would end up needing, or how to evaluate them along the way.
If you could tear into existing houses to look at how they're built, and if building practice houses were cheap and easy, building houses would be more like building programs.
The feedback cycle is great with DrRacket. And I don't think that's the only beginning-programmer learning environment.
Or is it because people learn early on in school that there is "no other way"?
I recently met with a banker to discuss a mortgage. We talked about what I did and discussed my education. I proudly stated that I was self-taught. When we opened up the financials, she almost fell out of her chair in amazement that someone could make that much without a degree and proceeded to call me a genius.
I'm not a genius. In fact, I ended up being self-taught because I wasn't smart enough to enter into college in the first place; rejected from every single one I applied to. Most people think like the aforementioned banker though, with the idea that only a super genius can learn without a teacher. The result is that most people aren't even willing to try to learn on their own.
Thus why software engineers often get a degree, buy books, pay for classes, and so forth.
The self-education threshold tends to be even higher at the beginning. Most people have no clue how to get from owning a computer to Hello World, to FizzBuzz, to simple scripts, to a well-designed and documented program.
The real failure is when people turn to university (etc.) to learn a skill, get a "QC Okay" stamp at the end - and then still can't FizzBuzz.
You need shorter feedback cycles which focus on finding and correcting errors, not monolithic course grades and monolithic degree pass/fail stickers. You wouldn't expect it to end well if you tried code a major project that way. Why would it work any better as an education plan?