posting ads for work..
I had an idea the other day to post an ad on the internet to make free websites and other web apps for people, do you think this is a good approach to get work? I want to build up a portfolio and I really badly want to do real projects instead of just learning and making small stupid personal projects like blogs. I know I don't know a lot, but I'm confident that now that I know the basic gist of the language and a couple of frameworks, I now need to dive into the deep end and do real projects, isn't that how the pros learnt?
Picking up smaller projects or projects that are on the simpler end of the spectrum are increasing hard to come by nowadays. For me, I did learn much while doing my own projects and while doing projects for others. Doing projects for others can backfire on you, especially if you take on more than you are capable (or capable of learning quickly). If you still want to take that approach, I highly recommend thoroughly going the requirements for the project before hand.
A few great ways to learn and develop you experience is to port scripts (i.e. python to PHP, ASP to PHP, etc.), rewrite scripts and experiment. Porting allows you to learn the basics of other languages. Both offer you a means to hone your skills without the need to take on projects. I still do a lot or rewriting from time to time, I'll come across a script and I'm like "wtf is this #$%@?! I could code that better." Most of my rewritten code sits idle on my testing server, I look to them from time to time for different ideas. There is still a lot of room in web development and in web sites, to develop new ideas. As well as develop better or different concepts already in practice (i.e. google, facebook, etc.).
I've learned a lot in web development over the years. I am now rounding out some of the areas that I don't have much experience in or some key, core concepts that I skimmed through or completely skipped (API development, object patterns, design patterns, more thorough exploration of application design). Also, there is a lot of interchangeable or universal concepts that are worth learning, like API design, UI design, application development, OOP, etc. Even some concepts that apply or are explained in different languages can apply to the languages that you learn/use.
Problem solving and patience is by far the most important tools in web development. You will run into errors and failure before you have a working and functional project. All in all, don't give up, the more problems you encounter the sweeter the success will be.
If you have some hobby you really love for which you could make a web site (or web app?), that can give you both something to do and motivation to do it. Another opportunity is any local church, charity, school, etc. that you are associated with in any way for who you could volunteer to build, enhance, fix, update, etc. their web site.