I am sort of a fast learner. How log would it take for me to become a very capable developer?? By the way, I would like to do it from scratch. Thanks.
It really depends on a lot of factors, so its a hard thing to estimate, although most would say it take years to get good. Since your post was a bit unclear, I'm going to assume by developer you meant Web Designer. Developer could be anything. Do you have any coding experience? Previous experience even with different programming languages will definitely help. How much stuff do you want to learn? You'll start off with HTML and CSS for the general design of your website, but then you might need some extra gadgets here and there so you decide to learn JavaScript. Then you may want to have dynamic content so you decide to go with PHP and mysql for databases. Then you may want to change the content on a page without refreshing that page, so you look into Ajax. Then... you get the point. There's a lot of stuff you can learn. It does get easier as you go, since you gain more experience. Now an actual time frame? PikeGames.com is the first and only website I've ever created. I learned HTML and CSS in about a day and set up the website, then I had to get into the backend stuff, so that added another 3-4 days for everything to work the way I want it. I didn't spend that much time / day on this but keep in mind I'm a computing science major so picking up a new programming or in this case scripting language is fairly easy. PikeGames doesn't have the greatest design, and that's because I'm a terrible artist. I can code in a variety of programming languages but ask me to design even the simplest things, and I won't be able to do it. Maybe you can pick up coding really fast. Maybe you are great at designing stuff. Previous skills you can apply to this will help a lot. Just try it and see what happens.
"How long would it take to learn to code anything?" is kind of like asking, "How long would it take to learn to cook anything?" First off, let me just say you can do this, if you really want to. Nothing about web development is really all that hard -- it just takes time and practice. But in the spirit of trying to answer your question, Why do you want to learn to be a web developer? Do you want to learn so you can get a job as a web developer? If so, check out local jobs and find the ones that sound cool. The ones where the companies' samples look awesome. Then go through the job requirements to make a list of the technologies you'll need to know in order to make yourself attractive to those companies. If you want to learn so you can make your own websites, I would suggest learning HTML and CSS first. After that, you can decide... After those, I learned CGI with Perl, but those have kind of gone the way of the dodo. I next learned PHP with some MySQL, and 5 years later I'm still learning some of the more intricate stuff. If you'd like to code web applications (fancy interactive stuff) rather than just develop websites, I'd recommend learning either HTML5 with DOM or else good old Flash. Now that Flash is available on some smartphones I don't think it's going anywhere anytime soon. If you want to do awesome things with blogs or content management systems, where you're less likely to edit the basic webpage code and more likely to make sitewide updates: check out WordPress, or possibly Drupal. Now for some resources... after you know what technology you want to learn, buy the "Visual QuickStart Guide" for that subject. They're great step-by-step books that are fairly affordable. I also highly recommend buying a subscription to Lynda.com. They have video training on every subject you could ever think up. While you're learning the basics, do yourself a favor and also make sure to use Google Analytics. While knowing how to develop is a great thing, being able to see what people are doing on the websites you've made is even better. Helps you get a better idea on how to improve, and it's also a very marketable skill.
At a Web Development company I did work experience with one of their guys learnt PHP fully in 6 months and he programmes without having to reference. :O
To become a full Web Developer and do everything without reference takes a very long time of dedication and commitment to learning. You would have to start at the basics and work you way up to the more complicated stuff and familiarize yourself with the most popular softwares and learn their coding etc. So HTML/CSS to PHP then Ruby on Rails etc. Self learning is the toughest to do compared to going to a program or school for it.
Depends how dedicated you are you can't just think by reading 1 tutorial you know everything, I have been there. You have to go from stage to stage, site to site. But to come a professional, you have to be like me ( jokes ). Don't stop learning it, ask for support if you need it, don't be scared, everyone started out as a newbie. Just be dedicated!