As a beginner, I can say that in about six months I grasped very well many basic programming concepts. I began with php, then wen to c, then to java, and I know quite well the procedural and the object oriented concepts. Most important, I really enjoy programming, it's quite a lot a mental challenge than a duty for me. Reality is that I 100% (and more) improved my skills spending lots of time in the project Euler website (and I should be ashamed to say I just solved the first 30 problems, but all by myself without any external help, and I am proud of it).
So I could think I'm in the right track.
But at the moment I feel I'm in a phase when I don't know how and above all what to do then. In these months I also followed two courses, one for webdesigning (I know how to program css and html markups, and also know the basis of graphics processing), I'd setup a basic site easily, and the second course (which will finish on may) is going well meaning I have no problem to learn what the teachers tell me, and sometimes I find better solution than my php teacher (probably php being the language I'm most accustomed I find it easier). But apart from all the basic "garbage", all the simple exercises people do when learning and when beginning, I don't know how I'm supposed to go on.
It's a fact many great coders say that I just have to begin to code, and code, and code, and I know that it is, but what code?
If I should think about a real program, one of that you could be proud of it, I don't believe I know where I should begin. I also tried to read a couple of sources codes, and understanding them is one of the most difficult process I found and definitely depressing, as you think: "omg how much I'm ignorant?"; furthermore, my ideas are not clear; I would like to setup something but don't know how to put together all the things I could think, and I always think I'm forgetting something.
I tried to read some documents and books about object oriented best practices, uml, design patterns, but it seems that, although all those readings make great sense to me, it stops then, I can't use nothing because I have this feeling I am still not enough good to use that and worst I am desperate to find the right track to do it, at the point I think that perhaps I'm not enough intelligent and programming is a too difficult task for me.
Perhaps I should have a real job in some company where "learn" from other more experienced programmers, but companies hire just experienced programmers so what?
Please can you address me in some intermediate-level activity I can take and enjoy in order to overcome this state? thanks.