Jake Savin has a blog post up about working from home, something he began doing as a developer at UserLand Software in 2000 coding the blogging platform Manila and other products. Though it wasn't a remote position when he began the job, that soon changed:
The company actually had an office when I was hired, and I had my own space with a desk and a door, a desktop computer, etc. There were only two of us in the office though, and it quickly became clear to me that the value of driving 35-40 minutes each way from my apartment to the office and back just wasn't worth it. So a few weeks in, I drove there one Saturday, packed up the computer and took it home, and never went back. From that point my productivity and focus increased. By a lot.
I've been working from home for decades, first as a computer book author and web publisher and now as a ServiceNow application developer. My morning commute is the thirteen steps I take from the master bedroom to my keyboard.
Jake has some good advice for those new to the experience of being at work while being at home, in particular the call to remember to stop working.
Working from home can erode the boundary between work time and off time. At first you might just fire up the computer occasionally to complete a task or catch up on something you couldn't get done on a day packed with long conference calls. But at some point you start feeling like your extra time is fair game, so you make different decisions about what to get done during the workday. I find this particularly true of programming, which often has blocks of time where you're writing a piece of code and don't need more input from coworkers until it's ready to show them.
That's not an experience I recommend. You can't outrun the law of diminishing returns.
Things are better these days. I hear the five o'clock whistle no later than six.