This essay, by Bret Victor, is excellent. I feel that I consistently hit roadblocks and humps the size of mountains when learning to program and I couldn’t quite figure out what I was butting against. Victor’s essay,
http://worrydream.com/LearnableProgramming was not only interesting in its criticisms of current learning environments for programming, but also answered some questions I didn’t even know I had about programming. A great read!
So, 90% of the reason I’ve been learning programming is simply because I want to learn. The other 10% is the hope that I can learn enough that if I lose my current job (the company is having certain troubles that are well-documented) I might be able to transition into a new career path. However, as I get older and older without any real, relevant experience in the field will it matter how much I know or can do?
It would be nice if there was some kind of collaborative mentorship place for people to program. For example, maybe I start programming a website, and someone else can come in and fix things, make comments, that sort of thing. Treat it like a real, collaborative project with the emphasis on learning, breaking, destroying, fixing, and understanding.
This would have to be a process where people are matched on similar learning interests and similar skill levels. Or, perhaps two people of similar skill are matched with one person of a higher skill level.
If two are matched with someone of a higher level they can learn and develop and better understand the process. This may be something I explore. I believe I understand the principles behind a site like this, but not the storage and account management aspect. I’ll have to add this to my pile because I think it’s an idea worth exploring.
So, the point here is that it’s difficult at a certain distance from college to gain practical experience necessary to understand a potential career environment. I suppose if you’re knowledgeable enough most people will understand that and be able to overlook the experience gap, but I believe something like this would be helpful.