ASK HN: How are you becoming a better programmer?
davidcuddeback: One thing that I find to be very valuable is to perform self assessments after significant milestones.  I consider what I did well and what I could improve upon.  Then I consider how to improve.  Always exposing myself to new ideas and trying them on toy projects amplifies this technique, because it gives me a source of ideas for the "how."