Leadership
On trust
One of the hardest things about leading a team is learning to delegate a task and trust that it’ll get done with a high degree of quality. It’s easy to find yourself with a mentality of “if you want something done right, do it yourself”. The hard bit is consciously identifying that you have this mentality, and taking steps to let go.
Perhaps it’s hard to let go because as a leader, you’re expected to take responsibility if timelines aren’t met, or if a system isn’t designed/implemented well. Delegation feels like putting something out of your control, yet still being responsible for its outcomes.
A strategy I’ve found useful is to establish a strong writing culture. At Carousell we often write RFCs for upcoming changes. These documents are the perfect time to comment and align your expectations with the proposed implementation.
When it comes to commenting on RFCs, there’s a fine line between giving input and micromanaging. No one likes being micromanaged. When giving input, you should try to justify your input in as much detail as possible. Providing justifications helps the author to better understand where you’re coming from, and gives them more opportunity to disagree with your suggestion. Disagreements are fantastic in RFCs – these are the discussions that end up shaping the RFC the most.
On writing
It’s important to being able to write well in order to communicate your thoughts and influence others. Team members should be pushed to further their writing ability as well. Good writing benefits everyone in the organization; it benefits the rest of the team reviewing the document, outside teams wanting to learn about your feature, and future-you wanting to regain some context on an old feature. One way of increasing overall writing ability in the organization is to simply set a good example. By consistently publishing high quality documents, it’ll start to trickle down to the rest of the organization. Pretty soon you’ll start to notice other people adopting aspects of your document structure.
On responsibilities
One of the responsibilities as a tech lead is to insulate the rest of the team from unnecessary meetings and discussions. I believe that engineering teams should be involved in product exploration. It makes for a better product. However involving the wider engineering team too early only distracts them from their work. The tech lead should participate in early exploratory discussions with product. The tech lead should then summarize these early discussions and present them to the team for asynchronous discussion (over Slack, email, etc.). This way the team can contribute to early-stage product exploration without having to sit in hour-long meetings.