In my experience, finding what to write is harder than learning how to write it.

Think a little about what programs you want to write before you start. And the guys posting above are right...