It's been hard for me to draw the line between work and life with their current involvement. Here's some examples:
I also have calls with a team in a very time zone, stretching out my workday and making it start pretty early and end pretty late. Any ideas on how I can improve this situation?
They had a meeting where staff engineers (myself included) had to review a junior engineer's code.
From my initial impression, this is definitely something to push back on. However, as with everything, it's important to try to have as much empathy as possible: Why did the manager do this? Was the code quality of this engineer too low? Have there been many production events recently and they're wary? It's important to understand this, so you can weave these concerns in when you're communicating with them to find a better approach here.
For my advice on how to have this "crucial conversation", check out my playlist on "Effective Communication".
They ping me at odd hours, sometimes after midnight.
A common failure mode I saw at Meta is that they had notifications on for their work apps on all the time. I recommend just turning these off after a certain working hour (like 6PM) and letting your manager know about this. There's really not a huge difference between addressing a concern late-night on the current day vs. morning tomorrow. The main exception is oncall.
I also have calls with a team in a very time zone, stretching out my workday and making it start pretty early and end pretty late.
One of the core projects I worked on involved collaborating with a Meta London team, while I was in the Menlo Park office, a huge time zone difference. What I found to be effective was moving as many communications async as possible - Can you do that by using email/Slack/Workplace more? Large, well-maintained tech docs help as well. If you absolutely need to have meetings, is it possible to have fewer meetings which are longer?
Lastly, I recommend checking out this video with tips on dealing with an overbearing manager.