You're certainly not alone in feeling this way. But communications online and inoffice are different.
For example, when I skype an employee there's an automatic formality to it. "The boss is calling". If I bump into an employee in the office (even if I deliberately bumped) it's a lot more relaxed. They can read my body language and I can read theirs.
I'm not saying we can't communicate online clearly we do. But the quality of the communication is impaired.
Regarding promotions, there's formal stuff (you've been here 6 weeks so you're now a senior developer) and the informal (hmm new project coming up, I'm wondering who to make team leader..) In the latter case it's easier to choose someone you know, have observed, seen their interactions with teammates etc.)
That doesn't mean you have to be in the office, but its really hard to do the informal stuff over the Internet. And that stuff -really- matters.
Yeah, that's a fair point. I do also plan on moving away from London once I have a more remote friendly role. But, yes, will have to adjust my expectations on pay.
> Product knowledge is hard to disseminate
I haven't felt that. I think the combination of documentation, and being able to video conference my teammates is equivalent to seeing them in person and having the same conversation to share knowledge.
> its hard to figure out where people lack knowledge and skills.
Wouldn't these sort of things be evident in a weekly 1:1 with manager and in conversations on a team channel etc.
> It's easy to ignore promotions or even know who wants them.
Again these are things I'd speak with my manager on a weekly basis regardless of whether we were in a room or on a call.
Overall, I feel like the latter points could be easily addressed by establishing communication mechanisms that don't rely on physical monitoring of a person.