|Do you know where your variables are?|
I'd add one thing to this list.
or if you prefer,
Be ready to learn new skills.
Whenever the boss has said, "I need someone who can do X", I've made it a point to raise my hand and reply, "I don't know how but I can learn." And then I go out and teach myself. Right now I'm learning how to program in Perl.
That attitude has kept me gainfully employed for the past twenty-mumble years - without a college degree - when a lot of highly skilled and highly specialized people have gone by the wayside...all because I'm willing to learn new skills. Admittedly, I've usually...ok, always...had to teach myself and pay for my own books, etc but I've gotten it back in raises and continued employment.
I'm not saying I've never been laid off because I have. What I'm saying is that, since I can more than one thing, I don't get laid off as quickly as a one-note wonder. And, because of my broad skill set, I can find work more quickly and in a broader market.
Cogito cogito, ergo cogito sum
(I think I think, therefore I think I am)