It's been close to 2 years now that I've been working from home. Home-office is something that's viewed differently in tech circles. Some people like it, some don't.
I for one, absolutely love it. Since starting home office, I've felt more productive at work, I've started a bunch of open source projects (which never in my entire life I thought I would have the time and energy for), and I've saved so much time not commuting, it sometimes feels like cheating. All in all, highly recommended.
So now that we know that this post is absolutely not biased, here's my take on home office.
It really is not. Some people prefer having other people around, some don't. I'm somewhere in the middle. I do like having people around me, especially (but not limited to) the ones who think like I do (like software developers), but not having people around is not a huge deal breaker for me. I also prefer the peace of my work-room in my apartment over open offices. The ease with which people can interrupt others in open offices is something I find extremely counter productive, especially in professions which require you to focus for longer periods of time. But bitching about open offices is for a different post, I guess.
This one is important. Pick one room in your apartment, and call it your work room. In that room, only work gets done. Nothing else. No beds, no couch, no TV, nothing that can distract you in any form. This really requires self-discipline before you get the hang of it. It's quite easy and tempting to switch on the TV and watch something when it's right there in front of you. When working from home, you need to eliminate such triggers.
This also needs being upfront with your family members. Close the doors while you're "at work", which means they can't interrupt you unless it's something very very urgent and just cannot wait. In all other cases, they need to wait for you to take the next break.
Many a times I've noticed that a phone call is better than a long Slack chat. Over text, you could be misinterpreted, you might come across as rude when you were not, it might take you a long time to explain something. There are plenty of things. I have a completely unscientific (but probable) belief that humans have not evolved to be texting each other. Instead, we have evolved to be talking to each other. So make use of the work that evolution has put in you over millions of years, and talk.
"Out of sight out of mind" has some level of truth to it. Some face time is needed. If you're not seeing your colleagues on a daily basis, scheduling some time where you physically get to be in front of each other is also important.
Being at home all day can take its toll. It doesn't make a difference how introverted you are, or how anti-social you think you are, some social interaction is required to keep you sane. I don't have a solid reasoning for this; I'm only speaking from experience. I'm an introvert, and have some level of social anxiety. I still feel that every once in a while, I need to meet some friends, or go to a meetup and meet new people.
Working remotely requires putting a lot of trust in your colleagues. Everyone trusts each other to get work done, and being at home does not mean you're allowed to slack off. Home office does introduce some level of opacity into what the other person is doing, but you should be overcommunicating to make up for that.
When you're working from home, it's tempting to wake up and start working without freshening up. Or work in your pajamas or those torn shorts you're not wearing outside because they're torn.
Don't do that. By doing that, you're sending a signal to your brain that you're not really at work, so your brain responds in kind. Dress up just like you would if you were to go to an office. You don't have to put on a suit, but at least something nice and comfortable.
Rule of thumb: if you would be embarassed of wearing something outside, don't wear it to "work".
All in all, home-office, depending on what kind of a person you are, can be a huge perk. It allows you to cut down on time wasted while commuting, lets you set your own working hours, lets you setup your work environment exactly how you like it, besides letting you do plenty of other things. Of course, there can be downsides, but I think they're more of those "terms and conditions apply" asterisks rather than "downsides".