Working at HiQ Finland as a Tech Lead has involved to me a bunch of fun and big number of challenges too. Lately I have had the privilege to be involved in developing POCs with .NET, React, Gatsby, Azure, Amazon Web Services. Done headless CMS comparisons, done work estimations, offers, technical documents, defining good practices for User Management, planning long term development road maps. It's a little bit of many things. This is done together with my lovely highly skilled colleagues.
Sometime ago I found myself thinking about, what means to be a senior? What makes someone an architect or what does technical lead do? After Googling I found that the definition for those roles is not entirely clear. So, I came up with some qualities we should keep in mind. These are quite universal, but still things I consider relevant to address and remember.
Take constructive approach towards clients. As part of technical reviews for current systems you might have heard someone say "all these systems have been poorly coded and documented". However, if you consider it with more detail, you might find that every system / solution is a result of something that was developed under certain circumstances. The budget, the time frame, the communication between people, the expectations, the expertise. So, why would we be harsh of something that is already done and working? Instead, we should choose to be objective and respectful towards systems that have already been developed, even if a project was a total failure. That is just a starting point. A Tech Lead can contribute by building a vision that is objective, trustworthy and that looks further and helps the customer to do something better and creates value. Love the client the way they are. You are serving them, not the other way around. Appreciate their current systems, avoid being arrogant. Doing the opposite is likely to arouse shame and dissatisfaction on the client side. Building trust becomes way harder.
Give space to other people to succeed, give ample credit, and provide the tools that people need to succeed. In some cases, a brief introduction might be enough. In other cases you might want to do things together. When a projects is built on an unfamiliar tech stack, go ahead and involve the people with the proper expertise, and collaborate to develop the planned solution. This might involve other vendors, people from your company, out-sourcing, clients, etc. Be smart on planning who is going to work with what, since after all, almost always it's the group effort on which the client success is built.
Be brave and clear. Exposing ideas with clarity is not always easy. Audiences might not have a technical background or might doubt if you are the good or the bad guy. However, clarity and efficient communication are two essential tools to draw a roadmap. Clients often want immediate response of what things should be developed - and they are quick to stick to the first impression. Cost estimations are always on their top of mind. Be brave to give a work estimation but, remember to iterate it with your colleagues! Being frank and open ensures that you are on the same page with the customer, which is the essenece of trust. On my experience customers tend to buy things that are clear and understandable. If there is a common understanding, you start to build trust and you are better equipped to start a long and prosperous journey together.
So, what a Tech Lead does in short? Helps clients towards added value with professional technical solutions, and serve team members to succeed on what they need to do.