RE: 5 Things to Remember When You’re Learning to Program
Nice writeup.
I find the fifth point to be the most important of all when you're beyond your first novice steps. Understanding and knowing how to apply certain patterns/structures etc. and knowing when the situation is right to apply them is more crucial than being able to dream up the correct syntax for a language or code quickly. While you're at it looking at design patterns also have a look at anti-patterns.
Another topic I'd like to add here is invest a good chunk of time into test driven development. Knowing what previous part of code you've written breaks because you've created a test for it saves you a lot of time. Not only that but it can also give you some confidence that what you're building is the right thing and that it performs as you're expecting.
Thank you. I also find point 5 the most valuable and I agree on TDD. I'd also add in basic preventative programming techniques i.e checking a variables type, a little can go a long way.