How to be a decent technical lead
Some thoughts on what it means be a technical lead on a team, whatever you call yourself a CTO or team lead or senior developer or something else.
Accept that you’re in the soft-tissue-business now
You’re dealing with humans, not computers. People have feelings, thoughts, dreams, aspirations and distractions, and aren’t logical, methodical, programmable like machines are. You can’t write a unit test for a human.
You’re a role model
Whether you like it or not, people are going to look at what you’re doing and mimic that. Be a good role model, work like you want them to work, and don’t let your bad habits set a bad example.
Communicate clearly
Be mindful of how you communicate, especially in writing. What you say and write is held to a higher standard than you might be used to and it will be interpreted in a differently. Be especially mindful of humor, which can be hard to convey in writing.
Be actionable
If you’re attempting to change things make sure your comments are actionable. If you want someone to do something, state it explicitly instead of trying to make them guess your intentions by dropping vague hints.
Justify your decisions
Be ready to explain the thoughts and reasoning that goes into your decisions. Be ready to explain them multiple times.
Most people are willing to adhere to pretty much any decision as long as they understand the reason behind. If you can’t explain your reasons, your decisions are likely going to seem arbitrary and pointless and caused frustration.
Follow your own rules
The rules and processes you implement also apply to you. See also the above point about being a role model. If you can’t adhere to your own processes, you can’t expect your colleagues to them either.
Document
Whenever you make a decision be ready to document it somewhere appropriate. Don’t have an appropriate place to document it, create it, and communicate clearly to the entire team that this place now exists.
Don’t do proxy programming
Ie let your developers develop the way they do. Resist the temptation to force them to do everything exactly the way you do. They might actually know better than you do.
Appreciate the “why”
Whenever someone asks you “Why?” see it as an indication that you need to improve. You’ve probably not documented enough, perhaps you didn’t justify your decisions, or communicate clearly enough. Run through the list, and do better next time. You’re the role model now, remember?