In his book 'Outliers' Malcolm Gladwell states that it takes roughly 10,000 hours to get really good at anything. Be it programming, playing the piano or speaking Chinese, it doesn't matter.
For web development, you can learn enough to build a simple yet decent app/website in a matter of weeks. To get proficient, it takes a lot more.
For me, it seems that the more I learn about programming, the more I realize what I don't yet know. Which is a valuable lesson in itself, I guess.
I started with C# and it took me about 5 months to feel like I could do anything worth while. I've picked up JavaScript and Python since. For me, working 40 - 50 hours per week on the language I was learning, it took about 2 years to feel like I could make something someone else would use.
My learning has slowed with time, as I imagine there's less to learn, but I never feel perfect. I hope I never do, because learning to program has been incredibly rewarding and fun. Once I get tired of a language or my learning slows too much, I find another to play with.
Now, it's likely I'm behind and forgetting. Any potential, or world-changing talent is now wasted away and I'm closer to being decidedly average. I can't believe it.
Whatever.
Also in there is my tendency to procrastinate, which also slowed me down, but I don't procrastinate much when it comes to writing code and working.
Do you program at work?
When you say it took a month to get started, were you creating anything more complex than a simple command line program that does basic math or prints strings?
The reason I ask is because I haven't had much of a problem understanding the syntax of any language or figuring out fizz buzz or other simple tutorials, but I still struggle to create things that someone might actually want to use.
My greatest work thus far is a website that: looks nice, has no content, and has a sign-up form validated with jQuery and PHP. I've been learning off and on for over a year now.
I learned CS basics over time, but I created my first webapp in two weeks, knowing nothing of web technologies before that. The education and tools are a lot better now, so I think someone trying to learn now would have everything they need to make a basic app in a month.
As for building something that other people want to use, well that is a separate question :) sounds like you are well on your way.
There, that's one of the problems programmers have to get over. Don't always try to create things that people might actually use, make up stupid stuff. Fiddle around try out silly ideas, proficient is partly having experience in coding a lot.
Doing different stuff, though maybe useless to the rest of the world, helps build style and practices creating better code. And at times though that you develop new ideas an methods for doing things.
So you got a nice no-content site, can you expand on it no-content-ness, make it a great... no.. an utterly fantastic no-content site? (then again, there are a ton of no-content sites you would be competing with :-)