[This is the second article of a serie about my experience as a TechLead. The first one can be found here.]
This is one of the main questions that arises when starting to work as a TechLead inside a team, if this role is new to you: « Should I spend time coding with the team? But shouldn’t I also spend time not coding, and coaching the team? »
In fact, in my humble opinion, this question rapidly becomes obsolete. It may be a relevant one when you just start, and the TechLead role is brand new to you. But as time flies, this question becomes less and less relevant, because it is too simple. And also because everybody knows the answer: of course, you must spend time coding! And of course too, you must not spend all your time coding!
The real question is: how do you make my time the most fruitful for your team(s), and around it? The answer is: it depends. It depends on multiple factors, because in addition to take care of your own work inside a collaboration – your main concern as a developer – the TechLead must sense the outside of this collaboration on one side, and how the whole group is moving (is it moving fast/well enough, etc…) on the other side.
And sometimes, to let the team move better or faster, it is by coding. But what the key thing that has changed is this: you don’t code anymore to deliver yourself (as part of a team). Your coding activity becomes a tech-coaching activity: you must teach coding in the projects code. It’s time to produce your best code, in small chunks, in places where the team need to progress somewhere. It is also coding, but a lot more challenging. You won’t be able to come back a lot and re-think what you’ve written. Because it’s better to hand over it to your team.