This is both a response to GuiA and dpeck. GuiA's comment was right on from my perspective. When I was about 10-11, my class was in our school's computer lab full of new Apple II machines. We were supposed to be writing an essay on the computer so we could print it and turn it in. Computers were so new to us and our teachers that we were still taught to double space after end punctuation.
I noticed a classmate messing around in a totally different program, and asked what he was doing. He said, "Come here, check this out." He hit enter, and on the screen appeared the prompt, "What is your name?" He said, "Go ahead. Answer it." I typed in my name and hit enter. Almost immediately the computer responded with another question, but this time it addressed me by my name. My first thought was that, somehow, this machine consciously knew it was communicating with me.
I had to know how this kid made the computer act like that. He showed me the BASIC code he used to store my input in variables and reference it later. I understood what he taught right away, but it certainly didn't come naturally to me. I was fascinated by programming, and wanted to know what was possible with all of the stuff I hadn't learned yet. I was lucky to have been exposed to it so early. If we had been doing what we were supposed to, I wouldn't have had that opportunity.
dpeck, you mentioned that young minds are very malleable. I completely agree. I inferred (possibly inaccurately) from that statement that older minds are not as malleable. I would word it differently (and probably flawed). Minds that have not yet submitted to the authority of the status quo and thus accepted the limitations therein are still open to and actively seek discoveries which may influence their perspective. Many adults, hackers in particular, continue to explore even when they're explicitly told not to.
So, I would argue that all minds are very malleable. Some who desire control aggressively act to corral many minds into spaces that restrict curiosity and exploration. Until a mind has been corralled into one of those spaces, it remains very malleable. I believe that early exposure is certainly a great benefit, but there are many adults who could become great programmers who have not yet started.
Having a perspective that is likely foreign to HN, I can offer some insight from a beginner's point of view. I am fortunate that the projects I have been interested in until now have been profitable enough to support my family. While many of those projects required a strong understanding of what's going on behind the scenes of a program, I didn't really have to code very much. I did learn whatever programming ability I needed in order to make my programs meet their objectives without error.
During tough financial times and in between projects that interested me I'd curiously browse job listings for programmers. From a beginner's perspective, even a beginner who's willing to learn, they're daunting as hell; BS required, MS preferred, 10+ years experience in programming, 5+ years experience in a language that was released 3 years ago, etc.
All you seem to hear about are these self-proclaimed prodigies who taught themselves to code just after kindergarten.[1] Educational resources are taught by the types of programmers those jobs seem to be targeting. So programmers at your instructor's level will be your direct competition for employment. If you're an expert at anything, then you realize how much you still have to learn and the beginners are so much farther behind that. So a programmer with 10 years of experience who's still improving seems tough to compete with when you're getting started.
I understand that it's relatively simple for a beginner to become a good programmer in just a year or so. But from a beginner's perspective, jumping into it doesn't look as easy as it actually is.
I apologize for the long response. Thank you for your time.
[1] I'm not implying that everyone who learned to code young thinks they're a prodigy. I learned young, and I admit I'm still a novice.
I noticed a classmate messing around in a totally different program, and asked what he was doing. He said, "Come here, check this out." He hit enter, and on the screen appeared the prompt, "What is your name?" He said, "Go ahead. Answer it." I typed in my name and hit enter. Almost immediately the computer responded with another question, but this time it addressed me by my name. My first thought was that, somehow, this machine consciously knew it was communicating with me.
I had to know how this kid made the computer act like that. He showed me the BASIC code he used to store my input in variables and reference it later. I understood what he taught right away, but it certainly didn't come naturally to me. I was fascinated by programming, and wanted to know what was possible with all of the stuff I hadn't learned yet. I was lucky to have been exposed to it so early. If we had been doing what we were supposed to, I wouldn't have had that opportunity.
dpeck, you mentioned that young minds are very malleable. I completely agree. I inferred (possibly inaccurately) from that statement that older minds are not as malleable. I would word it differently (and probably flawed). Minds that have not yet submitted to the authority of the status quo and thus accepted the limitations therein are still open to and actively seek discoveries which may influence their perspective. Many adults, hackers in particular, continue to explore even when they're explicitly told not to.
So, I would argue that all minds are very malleable. Some who desire control aggressively act to corral many minds into spaces that restrict curiosity and exploration. Until a mind has been corralled into one of those spaces, it remains very malleable. I believe that early exposure is certainly a great benefit, but there are many adults who could become great programmers who have not yet started.
Having a perspective that is likely foreign to HN, I can offer some insight from a beginner's point of view. I am fortunate that the projects I have been interested in until now have been profitable enough to support my family. While many of those projects required a strong understanding of what's going on behind the scenes of a program, I didn't really have to code very much. I did learn whatever programming ability I needed in order to make my programs meet their objectives without error.
During tough financial times and in between projects that interested me I'd curiously browse job listings for programmers. From a beginner's perspective, even a beginner who's willing to learn, they're daunting as hell; BS required, MS preferred, 10+ years experience in programming, 5+ years experience in a language that was released 3 years ago, etc.
All you seem to hear about are these self-proclaimed prodigies who taught themselves to code just after kindergarten.[1] Educational resources are taught by the types of programmers those jobs seem to be targeting. So programmers at your instructor's level will be your direct competition for employment. If you're an expert at anything, then you realize how much you still have to learn and the beginners are so much farther behind that. So a programmer with 10 years of experience who's still improving seems tough to compete with when you're getting started.
I understand that it's relatively simple for a beginner to become a good programmer in just a year or so. But from a beginner's perspective, jumping into it doesn't look as easy as it actually is.
I apologize for the long response. Thank you for your time.
[1] I'm not implying that everyone who learned to code young thinks they're a prodigy. I learned young, and I admit I'm still a novice.