in reply to At what rate are YOU progressing?

The two main ways I get better at programming are (1) doing it and (2) reading about it. Programming is absolutely one of those things where you need the practical experience of making mistakes, discovering stuff for yourself and trying out new ideas, that you will never get if you just read books.

However, reading is almost as important to pick up skills. I read many books and just try to absorb as many ideas as possible. I don't usually worry about the details -- I just try to remember that something is possible, that that there might be an alternate solution, that this data structure might work, that there might be a module for this type thing... Then when I come to coding and I run into a given problem I usually remember where to turn. Try reading books like "Programming Pearls" & "The Practice of Programming" which teach you about the craft. Also a lot of people recommend "The Pragmatic Programmer" although that's not a favorite of mine.

Another thing I'd recommend is to have a very good knowledge of all the standard commands. I know that you don't *need* to know them to get a lot done but it's time-wasting and error-prone to roll your own functionality. I can't count the number of times I've seen programmers at work rewrite existing language functions just because they weren't aware of language features.

One way I reassure myself that I'm always improving as a programmer is by reading my old code, from even as recently as 6 months ago. I almost always feel that I would write it better if I did it again.

It can be hard to tell if you're improving, because the process is gradual... but I bet you have improved a lot over the last 6 months. Just keep coding and reading :)