Also sometimes people need a sequence break to realise it's home time
But I agree with #3. The problem is getting the seniors to RTO just for this express reason. Though having an always-on call for that day would help with adhoc questions from juniors.
Completely agree, it's also about building that open and honest culture to enable having that kind of conversation with the entire team. But even with this it still doesn't catch many day-to-day frustrations or things you may pick up on that the person wouldn't offer up regardless.
> having an always-on call
The problem with this is you put the onus on the Junior to ask the question, which is hard for someone who's still learning (especially with imposter syndrome being so rife). Also this doesn't allow for the Senior to spontaneously create learning opportunities relevant to whatever they're currently doing, the barrier cuts down a lot of it.
For #3 I just recommend pair programming. Pairing is already a skill that needs to be learned and remote pairing is a more difficult one. But the tools for it are better than they were a few years ago and are good enough, and it's an excellent venue for naturally exchanging a lot of that sideways knowledge and mindset that makes more experienced engineers so effective.
1. I don't know how my employees are doing; many times in my career I've had to tell programmers to "go for a walk" or "time to go home" when they get stuck on a frustrating task or fall in to a flow state far past leaving time. Solutions I've found to this put onus on the employee or create more restrictions that hinder in other areas
2. Brainstorming whiteboard sessions are harder; the issue with remote meetings is that you need each person to finish speaking before the next person can start, which IMO slows down collaboration. Also I still haven't found a great tool to replace the whiteboard, Miro / Figma (Figjam) come close but also are slower at spinning up a flow diagram or sequence diagram or describing a stack.
3. Juniors / Grads need handholding; I've written frameworks to train newer developers in a remote setting but the remote divide creates an invisible barrier between the seniors and juniors for base support. I used to purposefully sit them next to eachother to enable the quick "do I use this or that?" questions or, better, have the senior look over and spontaneously create a learning opportunity related to whatever the junior is doing.
I guess the themes here are speed and spontaneity
(I haven't had my coffee yet so I hope above made sense)