Spot on with most of those points! Although I will argue for the last point, the more code you write, the more you'd have screwed up, the more you'd know how to screw things up and therefore the more you'd know what possible ways to screw someone else's code up. There's actually very thin line between tester and hacker xD
RE: What are some things that programmers know, but most people don't?