If I need the 6 of us to be on anything I need to send a meeting invite for a specific time to eliminate that type of bullshit. Then deal with all the bullshit that entails
> You do far more pointless meeting and verbal communication when everyone is working remotely anyway.
In this situation, you ping someone and are upset that they're focusing on work. You are angry that you didn't interrupt someone in the middle of deep focus to do what someone else might consider a pointless meeting.
The last statement proves my point. You don't actually seem to consider the employees time or work to be important, but rather that you need the six of them NOW, no matter what they're doing. You're exactly the problem you describe. What you describe as avoiding red tape to me sounds controlling and nightmarish.
Even in an office environment if people want to do quick talks, white board stuff etc I vastly prefer setting up quick meetings or something ahead of time so that I don't constantly get interrupted by some jackasses fighting for my attention when I got a problem to solve.
An organization should have the balls to say "fuck it, we're 100% remote work" then let employees figure out how that would work for everyone and hoe to organize their meetings and work schedule for everyone. Or they should equally have the same amount of balls to say "we're 100% work from office with the occasional exceptions like we did before and you should figure it out".
I've been wanting a commitment to one of the approaches from management for a long time. I'd also like some form of commitment from other companies when I'm applying for jobs. I have no interest in working in a "hybrid" team. You're either 100% remote or you're not. Just tell me which you are and let me pick.
What's funny is your solution "or to pull people first thing in the morning next day when we're all are getting in" should be a meeting invite rather than a morning ambush.
That’s fine. I’ll catch you next morning or when you’re grabbing a soda or water or …
> What if you’re the app team and your network has issues, but the network team is in another building? Do you just not dial them?
I don't know, but I would honestly absolutely hate to work at a company like this just as much as I dislike working remotely. When you're already dealing with the large barriers / restrictions that naturally grow up between different teams and then you add in the mix of not being in the same physical location, it's bound to be a recipe for never-ending meetings and scheduling nightmares that make it impossible for work to get done without mountains of ritual.
And yes, sometimes it is important to let other people interrupt you. For example, if someone else needs their code reviewed, they should absolutely always interrupt me to get it reviewed. Unless I'm in an interview with a candidate or something similarly external, unblocking other engineers on my team is always a higher priority and return on investment than anything I could be working on alone.
So what am I supposed to work on when I'm waiting for my code to be reviewed? Am I supposed to context-switch over to another task, losing all of my current built-up state about the current problem and making it take twice as long just because you think your task is more important? Async reviews slow the whole team down, because juggling more tasks in your head means that you can't retain the high-context information about all of them as easily and you lose a lot of time to context-switching. In the synchronous review model, only one team member has to do a context switch (and a much lighter one than a full context switch to work on another task). In addition, synchronous reviews over a voice/video chat just take significantly less time in general, because being able to ask "Why did you do it this way?" and have an immediate discussion about the trade-offs is strictly superior to having to have that same discussion back and forth over days of async responses.
But anyway, needing everyone into an office because you struggle isn't the fault of WFH
This isn't about "me struggling", it's about ways the entire team's productivity can be affected by choosing an asynchronous vs synchronous code review model. https://www.atlassian.com/blog/productivity/context-switchin...! has some more info on how certain types of context switches can be more damaging than others. I've been working remote for 3 years now with a synchronous code review system, and I wouldn't give it up for the world.
Reviewing code together is reasonable, but having to review it as soon as you say "done it" is an interruption.
Yes, absolutely, if that hour is going to be productive and collaborative in coming up with ways to make the code better (which every in-person code review I've been in has been)
> everything I can’t understand without asking you needs to get written down for the on-call eng next year
No, everything that you can't understand without asking me should be fixed by both of us so that it can be understood by everybody. Approving hard to understand code just because it's been "documented" hurts the entire codebase.
Correct, yes. Your current problem is at a state of being done, beyond any code review feedback you may receive. Expecting people to immediately cancel everything they're doing and review your code is not only absurd but also leads to poor quality code reviews. Because rather than actually think about the code and spend time on it, you want them to approve it as fast as possible so you are unblocked as soon as possible.
> Async reviews slow the whole team down, because juggling more tasks in your head means that you can't retain the high-context information about all of them as easily and you lose a lot of time to context-switching.
The reviewer has to context switch and juggle multiple tasks. They have to understand what your code does, why it does it and why it was necessary in the first place. They have to open the ticket, read what it's about, read any conversations and then figure out any potential concerns.
> In the synchronous review model, only one team member has to do a context switch (and a much lighter one than a full context switch to work on another task).
If you have one person review your code then I question that your code review process even matters. For extensive reworks, redesigns etc you are going to pull in more individuals and there is going to be more time taken.
> In addition, synchronous reviews over a voice/video chat just take significantly less time in general, because being able to ask "Why did you do it this way?" and have an immediate discussion about the trade-offs is strictly superior to having to have that same discussion back and forth over days of async responses.
They take far more time in my experience. I've had review turnaround be a few hours to a day in an async context for major reviews. They review the code, we hop on a call when convenient and go over the issues in 15m and we're done. If it's nothing major or understandable over text, then comments are good enough.
Otherwise, most other people are either available, or will tell you when they are not and you can easily say back "no worries, ping all of us when you're done" and everything moves 100% more efficiently.