The essay you link to is absolutely fabulous and I couldn't agree with it's conclusions more, but I know that I want to be a programmer. I 'always' (since 10) knew it and now, nearly twenty years later, which were filled with programming and little other than programming I'm still the same. I want to be a programmer, I struggle for mastery in nearly every aspect of my art/craft/... and I don't mind spending another twenty years in ever more obscure corners of it.
Now, this doesn't have to be the case for OP. Maybe he want's to create something which he can sell, or maybe he just wants to be literate in computers. There could be lots of reasons one wants to learn programming in 21 days (or 8 weekend, or whatever).
What I want to say is that although programming could eat your whole life in one bite not everyone wants this to happen and such people are perfectly right to try and learn a bit and then stop.
...sorry, I had a hard day at job today, I just needed to write something. Don't mind me :)
I think I've read this at some point -- I've at least seen the 10 years / 10.000 hours numbers before.
I did a quick calculation with respects to martial arts practice -- and if you want to get in 10.000 hours in 10 years -- you do indeed need to practice quite a lot.
Start with a strong foundation: 2 hours 3 times a week, 48/weeks a year. Add 5 hours of training every other Saturday (or Sunday). Take seminars. Lets assume they amount to a full week of training/year (40 hours). You'd still by below 500 hours/year -- and you'd take 22 years to attain "master" level.
This actually fits quite well with the arts that still do rigorous gradings, like traditional ITF Taewkon-do, or karate and koryu styles that generally have two sets of gradings, first grading up to 4th dan, then to instructor grades -- and 5-6th dan generally being considered "full proficiency".
It also follows a somewhat simple rule of thumb from the traditional grading systems (before splitting the white belt into many colours -- at which point it is no longer white, to paraphrase Gandalf): After 1 year of (intensive) practice grade up to 1st dan, practice two years for 2nd dan, 3 for 3rd and so on -- for 21 years to 6th dan (assuming no breaks or injuries).
I guess all this is neither here nor there, but I found the correlation interesting.
If it works to get people started then it works. I honestly don't remember how I got started programming - some people rhapsodize about that first moments coding, but for me it was mostly rage at a capricious Java compiler that I felt was always either finding a creative way to do something other than when it should or throwing an error completely unrelated to what was wrong.
After I got past that point everything was gravy. I've always been kind of confused by the learning curve metaphor (If the learning curve is steep, doesn't that mean you learn faster? What's the x and what's the y in this?) but tech now is getting closer to the ideal linear curve, where additional learning and productivity are at a relatively constant proportion no matter what stage you're at rather than being a floor function until you hit a certain level.
The phrase "steep learning curve" is probably a misnomer, since the graph most people are talking about has "learning" or "experience" on the dependent axis, and time on the independent axis. So a steep slope on a graph like this would represent something that's very easy to learn.
What most people seem to refer to with this phrase, however, is some kind of exponential function, where the slope is really small (difficult to learn) at the start, and hopefully increases as you get past the initial hurdle.
I guess it stems from confusion with other real-world metaphors, like climbing steep hills, which also happens to be difficult.
I would have titled this "How I taught Myself Enough Python/Django to do what I wanted in 8 weekends" ...there is so much to both of them, you can always learn more. But, you are indeed cruising, keep up the good work!
I love the meme I'm seeing lately in some of the articles like this, that "it's only been recently that it's been possible to teach yourself to program". Having flashbacks to 1981, personally. I'm sure some of you other oldsters are having flashbacks to the 70's. Yes, Virginia, it has been possible for a few decades now to teach yourself how to code, how computers work, and to write real software that people will pay you for. This is not a new phenomenon or new capability.
I think that should be qualified. Computers weren't as ubiquitous back in the 70's as they are now, nor was learning material. The TRS-80 with monitor was released in 1977 for ~$600 - about $2200 in today's dollars. I only knew of several kids with home systems.
When I took Computer Math (my high school's programming class), we had to learn programming on a piece of cardboard! It was the CARDIAC, Cardboard Illustrative Aid To Computation - http://www.simnia.com/it/cardiac/cardiac.htm.
After we became adept as manually running programs on the cardboard, we transitioned to dialing into a mainframe. Nothing says fun like dialing a rotary phone over and over until you finally made a connection. And of course, mainframe time was limited, so our BASIC and FORTRAN programs had to be written out by hand before hand. The CLI was an unforgiving beast and disconnections were frequent.
Could people teach themselves to program in the 70's? Sure, but there's really no comparison to the learning opportunities available today, and I don't think it's right to disparage anyone who blogs about their learning experiences.
There's been an explosion in easy access to high quality learning material now. Sure, it's always been possible to teach yourself. Higher level languages and frameworks have sufficiently lowered the barrier to entry, that more people are willing to take the first steps. Being able to easily find answers on Google, to problems that might otherwise be sticking points, also makes it easier than ever to keep going once you've started learning/building. It's possible to learn to program without access to any of those, but it's certainly much easier now.
Roughly "I'm taking a class on speed reading. I was able to read War and Peace in one night. It's about Russia."