Throughout my career I have always been in a role that requires technical leadership in some capacity or another. Whether that means managing the day to day development of a product, creating technical solutions for a client, or just mentoring and guiding my team to make sure they are as successful as possible. Being a technical leader can end of being a lot of different things in a lot of different situations. However, no matter what type of technical world you exist in, or what type of development practice you use, there are a few things that I have learned that can always make you successful as a technical leader. And that is why I wanted to write this article, to explain consistent patterns that I have seen me work as a technical leader, and how I have used them to throughout my career to foster success. Because no matter if you are a Tech Lead, an Engineering Manager, a Lead Technical Developer, or a Senior Developer, you all want the same thing, to enable your team develop the best product possible. Let's dive in.
Invest with your Team
Investing with your team can mean a lot of different things. It can mean scheduling team events, establishing good working relationship, or possibly trying new things to establish common ground. One of the most important investments I have made with my team is working on the front lines with them. And what I mean by this is that I feel it is important to contribute code to a project, as time permits, right along with your team. This will show your team that you are invested at a level in which they are invested and that you are not afraid to roll up your sleeves and get your hands dirty to prove it. It breaks down the hierarchy walls and makes your team collaboration a lot more fluid. It also allows team members to provide feedback to you, the leader, on technical work that you are doing as well. Working on the front lines with your team will show investment and will help you deeply learn the product better as well.
Having said that and very much believing in the contribution aspect of team investment, I do not feel it is correct to take on a large development workload either. I feel that outdoing your team and taking on a lot of development work when you could be taking on management task is something you need to be aware of also. Individually contributing when you have time is one thing, but taking on too much is something that needs to be avoided.
Just like with any professional relationship, staying consistent and staying focused is important and will foster reliability throughout your team. As a team leader if you demonstrate consistency in all parts of your daily routine I have found that this will carry over into your team as well. As an example, if you set a standard that you will be at work at a certain time every morning this creates reliability norms among your team and this foster's trust inside and outside of people working with your team. I have even seen the result of this turn into impromptu social gatherings in the morning when there is a notion that team members with be present consistently at certain times.
Quality consistency is also another big part of being a successful technical leader. If you can establish consistency in the level of quality that your team is maintaining this will earn you trust with your organization and with your stakeholders. Quality consistency will also earn your flexibility in rough times because it is easier for management to approve it due to your team's consistent track record delivering quality work. And being on a team that has a reputation for delivering quality work is a great feeling and soon all team members will want to be on a team that has this reputation.
Making Thoughtful Decisions
Making decisions as a technical leader is something that just comes with the territory, but I have found that there is a big difference in making split second decisions and making thoughtful decisions. There will be many times where you as a technical leader need to make a split second decision, but one thing I have learned is if you do not already know the answer when you are asked the question, let the person who is asking the question know that you will get back to them with the answer. Making a technical decision that is thought through shows your management, your team, and the stakeholders that you have taken time and weighed out all of the options of your decisions. As opposed to making a decision that could possibly have repercussions on your team or a product in the future. Making thoughtful decisions also helps you make better split second decisions when you need to make them in the future.
If you are having trouble with a decision, talk it over with your team. Talking it over with your team helps put them in the drivers seat as well and can allow for a team investment when a major decision is being made as well.
In summary I feel that technical leadership, just like anything, is never a straight path to success. The three items I listed in this article, investing with your team, consistency, and making thoughtful decisions are three areas that I have found success with. Maybe these three areas will not be as clear cut for your technical leadership situation but they are at least good options to try when mentoring and building a team. Team management and technical leadership is not an easy task but it is a rewarding task when all of the team has come together and is firing on all cylinders. If you have any questions comments or concerns on this article or maybe what has work for your team, please leave a comment. I'd love to hear from you!