As a technical team lead I’ve struggled more than once with the trade off between getting meaningful deep work done for myself and getting others on with their work.
Over the years I’ve come to realize it is not as clear cut of a trade off. Teams can be coached to be self-reliant and to distribute knowledge effectively, so that they have fewer urgent questions. I try to proactively take myself out of the critical path as much as possible. Documenting thoroughly is one way. Another is to use channels for question-asking and encouraging the use of the channel instead of dm. There’s a higher chance a person can answer who is not interrupted, and because everyone passively follows the channel the knowledge is shared more effectively.
Decision-making is always the tricky part. Junior devs need constant handholding and it is more about a lack of lived experience than a lack of knowledge. You need enough senior devs so that the load of constant micro-decisions for the juniors can be spread around.
The thing is that getting to the point where there is enough time for deep work is a process that takes time and that is easily undone by team churn. IMHO the only way to sidestep the matter entirely is to have a lieutenant who handles all the urgent matters, but I’ve only had that once and in retrospect it was hardly a fair situation.
Over the years I’ve come to realize it is not as clear cut of a trade off. Teams can be coached to be self-reliant and to distribute knowledge effectively, so that they have fewer urgent questions. I try to proactively take myself out of the critical path as much as possible. Documenting thoroughly is one way. Another is to use channels for question-asking and encouraging the use of the channel instead of dm. There’s a higher chance a person can answer who is not interrupted, and because everyone passively follows the channel the knowledge is shared more effectively.
Decision-making is always the tricky part. Junior devs need constant handholding and it is more about a lack of lived experience than a lack of knowledge. You need enough senior devs so that the load of constant micro-decisions for the juniors can be spread around.
The thing is that getting to the point where there is enough time for deep work is a process that takes time and that is easily undone by team churn. IMHO the only way to sidestep the matter entirely is to have a lieutenant who handles all the urgent matters, but I’ve only had that once and in retrospect it was hardly a fair situation.