Don’t try to be the top coder, if you are a successful team lead
At first sight, it sounds weird that you cannot be a successful team lead and at the same time you are the top coder/programmer/developer in your group or even in the world.
Even you can, you should not. Here are several reasons.
We should admit that our energy is limited. No matter how capable you are, you are not universal everywhere. The only way you can keep yourself as an expert or a guru in several areas is to keep updating yourself.
With the new Type-C interface, you have to study on the new technical specs, adapt yourself to the standard and equip yourself with the capability to accept the input and offer desired output, right? The team lead in current software industry has faced similar issues: almost unlimited programming languages, frameworks, libraries, and different projects are best developed using Python, Java, C#, Javascript, Go lang, Scala, R, Kotlin … so on and so force. And in Javascript, you will have Angular JS, React, Vue, JQuery and much more. To see how many choices you have, take a look at this interesting article!
But wait, why cannot I be a top coder and a successful team lead, they are not drastically different as “fire and water”, and they share similarities in terms of scope of work, routine tasks etc…
The answer is due to the nature of the two roles. It is not as taking Java and Kotlin at the same time and use them simultaneously in your project: Java and Kotlin are generically no different and are JVM compatible languages in nature, whereas being a top coder and a team lead are, generically, different. Team leads focus on the overall performance of the team as a whole, whereas coders and programmers primarily focus on specific parts of the code projects. If you want to see wide, use telescope, if you want to view details, try Microscope, but not both at the same time. This accounts for the 2nd reason: the targets and pain points of these two roles are distinct.
So how to compromise this? I want to be a successful team lead and also remain the top coders so that I can know every bit of my teamwork, coach my colleagues and properly offer supervision for them?
The answer is NO. Don’t attempt to do so. Admit the fact that you cannot do both well at the same time, find or recruit a top coder and have him/her work for you. That is the truth that you have to accept.