I've been working from home for a little north of 12 years as a PSE at Red Hat and now a PE at Cisco (which is different from principal at Red Hat - PEs at Cisco are technical directors).
Out of all the things on the list, the put your pants on - that is to maintain your appearance and not slip into the "don't shave, don't shower, don't wear shoes" is #1*9000. Don't even think about working remote without instilling this as your #1 priority. Get monthly hair cuts. You know, all that hygiene stuff that is mandatory when working in an office? That goes fast in the first 3 months of working from home. Hold on to those habits - they take time to rebuild if you drop them.
Second priority is physical exercise. A membership at an indoor gym is 10 bucks a month, triggers the release of endorphins during exercise, and keeps you physically in shape and mentally healthy by reducing stress. It also gives you a chance 3-5 days a week to force yourself out of the home.
Third priority is not to isolate. Hang out with your friends. Spend time with family.
Forth priority is learn to unplug from work. Should be obvious but it is not.
If you are lucky enough to have an office to commute to 1 or 2 days a week, even if filled with sales people, I'd highly recommend it. I go into an office every Wednesday even though its a remote office (when I'm not traveling) to get out of the house, see what the traffic is like, and get away from the racket in my household. I don't get the benefit of having water-cooler with my coworkers, but at least there are other folks that i can speak with.
To all those building remote organizations, I'd recommend quarterly or bi-yearly 3 day events where you bring the staff together to plan the business / meet each other / boondongle / etc :) It is worth the budget. There are lots of risks if these 4 priorities are not enforced. Your employer won't enforce them, you have to do so.
Excellent! YES to all of this.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.