Great article! Makes me think a lot about my personal setup.
I live about 20 minutes outside Winnipeg and working from home is a game changer. I have invested heavily in my home workspace over the years, which now features a Varidesk on my commercial desk/shelving, two Kinesis Advantage keyboards (one on the desk, one for travel including client sites), a fabulous Humanscale Freedom chair, a top end Dell XPS 15 with 32GB RAM and dock, two large monitors, rack mount servers, storage, and commercial UPS, all of which I think I think are great investments because really, we're talking about nothing less than MY CAREER after all.
This is an exceptionally productive environment. While I have a large screened in deck that overlooks our backyard pool, I rarely work from there because my office setup is just too comfortable and productive.
But despite all this, what I find even more important about remote work is the ability to work when you're productive as opposed to adhering to rigid hours. Clearly not every assignment is amenable to this, but I've found that there's nothing more wasteful than being forced to work certain hours just because that's when everyone else works.
What works far better for me is to work when I'm motivated and focused. Some days this means I work from 7am to well past midnight, other days I don't work at all. The best days are when I get up when I'm good and rested, spend some time exercising, or running errands, or spending time with friends/family, and then finally I settle down to work when I know there's nothing else to interrupt me. This might mean that I don't start working until late afternoon or early evening, but when I do this, I quickly settle into a groove and am tremendously productive. But there are just as many days where I wake up and can't wait to get coding again. I love those days!
From a client's value perspective, I feel much better working when I'm motivated than when it's a struggle. When I was doing contract work at client sites, I always felt guilty when office distractions affected my work. Headphones can help, but inevitably people want to talk and it just feels wrong. This just isn't an issue when working remotely.
Same thing happens when we pack up and spend a month in Phoenix. It's easy to become distracted with the beautiful mountains, climate, etc, so why not take advantage of periods when you don't feel productive, and instead spend time outdoors and code when the sun goes down. Again, your project needs to be compatible with this arrangement but I just find it to be a great work-life balance.
An important caveat to all this is deadlines. Without question, there are times when I don't feel especially motivated to work, but simply have to because of a project's schedule. I suppose it's just a different type of motivation! Regardless, practically in many cases must trump personal preferences.
I've been reading more and more lately about others who tend to follow similar patterns.
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.