1) almost no company will just up and fire a developer without warning, even in "right to work" states. A company will always
2) have the manager or HR talk to the developer to try to resolve a performance issue. It's cheaper than firing and rehiring a new developer. It also saves time.
Now, because of these two factors, I realized that if my performance were an issue, my manager or HR would have a meeting with me to address the situation. The fact that such a meeting has never come up means the company is satisfied with my performance. So, if there's a down day at work, then I don't feel so guilty about surfing the web reading up on new languages or techniques, even if everyone else (usually in different departments) are on a tight deadline.
Another thing I've learned (not at work) are the three rules for dealing with worrisome situations. Given you are worried about some situation:
1) Can you do anything about it now? If so, do something about it and stop worrying.
2) Can you do anything about it later? If so, wait til later and stop worrying about it.
3) Can you do nothing about it? Don't worry about it because there's nothing you can do.
Plan accordingly.