One thing I had to realize very early on is that what you think may not be the best website ever could certainly be exactly what somebody is looking for.
Having said that, it’s important to continue practicing on your own. I started out by looking at local companies’ websites and then simply upgrading them. It wasn’t an actual project (as in, they didn’t hire me or anything), it was just simply a way for me to practice and have something to measure up against. Was my redesign worth it? Does it look better? Is the functionality improved?
If people ask you to do something for them, by all means take it on. It’ll improve your skills tremendously when it’s not just yourself that you have to let down!
What everyone said is absolutely correct. In your free time practice coding as much as you can :D Try to innovate with your code.. try new things.. in this process you will discover your weak points, improve them automatically and also get to learn loads of stuffs which will give you the confidence to work on any project that comes your way :)
Then a time will come when you will be looking for more challenging projects lol ;)
I think anyone here would look back at their early work and just plain cringe. I know I do. I even have some of my original clients that have grown with me and as such they’re sites and technology have improved as I’ve improved.
The best advice I can give you is this: be honest. If you have on idea how to do something, spend some time finding out if it’s possible. If you feel it’s something you can do, quote a price, but tell the client that it will require some research and time to implement. Give yourself some time to learn.
What I’ve found is that it’s very similar to auto mechanics. When you start out, you really don’t work for alot because all your time is spent on learning how each thing works, trial and error, etc. But as you progress, you earn more because you get more proficient.
You also will want to CONSTANTLY be learning. Those that don’t evolve and learn are destined for failure. Do some side projects, buy a book on jQuery, learn how Joomla works, etc. As long as you know you can execute a basic site well, you will begin putting in additional functionality slowly as it makes sense and you feel comfortable.
Oh, let me please add do not ever apologize for your rates. Set your rates competitively and stick to them. Increase them as you increase your expertise, but especially at the beginning you may see yourself as less of an expert and be tempted to lower your rates or "give someone a deal".
Indulging that impulse hurts the design community as a whole and especially hurts you in the long run when you try to actually get paid what you’re talents are really worth.