I have been in the software industry for over six years now. I have seen some good leaders. I also have seen some bad leaders. Having always been under some type of manager in my careerI have noticed a trend of what really makes a good leader. I have alway been under a person who code could wether they were still coding or not doesn’t matter. As long as they could code that is what type of person I am talking about. The first trait I think about in a great leader as they have an ability to bring everybody on the team up or even past their standards.
The hardest thing to do as find time to train others. As a Sr. engineer you are always feeling the time crunch. You feel that if you spend the time training somebody that is time spent away from getting productive things done. While that is true at first over time you will start gaining that time back. For example if you have a Jr. engineer starting and he is not familiar with the framework you are working in. That person could spend hours if not weeks learning. Even through the learning they may not be learning the same way as you did. Instead it’s smart to spend time training as you go. So you start them off with a small ticket and help them through it. Then start giving them more complex tickets. While doing this you will see that person start to grow and ask less and less questions. This will not only allow you to have your time back but will also make the team more productive. This is because you have somebody else who can do the same type of tasks you do. This will happen over time. I have seen some project leaders not able to do this and everybody else on the team suffers because of it. Time to get new features done are slower because each person has to go through the learning process in a different way. The biggest trait through is communication skills.
A great leader is able to communicate very well. They are able to send a message out and have it be so clear that nobody has to ask questions. Not only are they able to communicate through text wether it be email or instant message they are also able to communicate verbally. For example maybe you are running into a super complex issue. They are able to come over without knowing the solution and work through it in a way that both will understand. It’s becoming even more important these days to have great communication skills. It can really make a difference on wether a project is successful or a failure.
I really feel that you can tell if somebody has leadership skills when you first meet them. Sometimes it takes longer but over time it will start to stick out. If you are a bad leader people may not say anything but they are able to tell. If you are a good leader you may get approached more for advice or help. If you are always to busy to share your knowledge then you are not a good leader.