Top 5 Lessons for Software Development Team Leads

Nikola Zivkovic Categories: Company success, Team work Date 18-Jun-2018 7 minutes to read
Top 5 Lessons For Software Development Team Leads

Table of contents


    Here you are, you are the new Team Lead. Maybe you have waited for this promotion for months, or you were kind of hoping this will never be your role. Perhaps you are an extrovert who always dreamed of having more of a ‘people’ role in the team, or you are an introvert who ended up at in this position simply thanks of your technical skills. You may be working hard to get to this position, or you ended up here by sheer luck.

    Either way, you are not just a developer anymore. Your new job is to manage a whole bunch of people, talk with the clients more, unblock any organizational problems, but still keep your technical skills on the highest level possible as well. It comes down to this, but the job description for Team Lead can vary from company to company and from project to project. Sometimes it is more of a technical role, while other times it is a more communication and organizational role.

    So, writing from my own experience I tried to sum up what has been my greatest challenges and things that I had to accept and change about myself after becoming Team Lead. Here is the list of the lessons that, in my humble opinion, we should learn if we want to be good in the role that has been trusted upon us. Following some of the principles, we can also avoid traps that can make you a bad leader in general.

    Now, don’t get me wrong, these statements here are something I am working on, as well. They are not one-time things that can be done in few pomodoros, but a continuous process that I think we should try to achieve in order to be good at our new jobs. Just because you took a shower today, doesn’t mean that you will not smell tomorrow.

    Decisions,  Decisions, Decisions


    Marcus Aurelius was one of the “five good emperors” of Rome. Not only did he rule with love and wisdom, he also tried to achieve Plato’s goal of the philosopher king. His private diary, translated and published in many languages, is one of the brightest examples of philosophy branch called Stoicism. This man was called in front of the parliament constantly, he fought many battles and had to take care of the plagues. You would imagine he would have to make a decision or two, right? Yet, it seems that more often than not he made good decisions.

    Now, lucky for us, we are not ruling the biggest empire in the world, but a group of 5-10 people. Still, there is much we can learn from the Marcus example. One of the first things that you will have to face in your new role is the number of decisions you have to make. Remember all those things you didn’t have to care about as a developer? Things that were sort of a given; magically solved within the company system? Well, you are that magical system now.

    You are now the person that will, at the end of the day, take the responsibility when no one else will. Which technical solution should we use? When will this meeting be held? What is the priority of this task? All that and many (many) more. Are you nervous yet? I certainly am. The big lesson here is that being nervous and being a hothead will not solve anything.  You need to take a step back and not let your emotions run their course.

    At the end of the day, what benefit will you or your team have from childish tantrums, pointing fingers and tension in the air? Marcus Aurelius wouldn’t be such a good emperor if he had given in to his every emotion. If you want to be a good Team Lead, you shouldn’t either.

    Build a Team


    Navy SEAL Team 6 (officially known as the U.S. Naval Special Warfare Development Group, or DEVGRU) have this concept called “flipping the switch”. They describe it as a sort of transcendental state during which the whole team works as one organism. SEALs have to be able to stop acting like individuals and start operating as a single entity, almost on demand.

    I imagine that this merging of consciousness is similar to “the zone” we experience as software developers. This state of mind is manifested in a manner similar to this: If during the mission the first soldier in the column looks left, the second will look right automatically, making sure that everything is covered – meaning that the whole group is at its top level of ability. Apart from that, every soldier can and will take leadership if necessary in any situation. The rest of the unit then follows that one guy that is leading the way in that particular moment. This can be extremely useful in unexpected situations.

    Now, I know we are not Navy SEALs, or soldiers of any kind for that matter and our lives are not in constant danger, but it is nice to know that someone has your back. However, competition is fierce, so it is imperative to have good people that are taking care of each other in your surroundings. We need to strive to make our teamwork as a well-oiled machine.

    Using a personal example, we should show to people, that we got their back, and that this is the culture that your team needs to have. This doesn’t mean that you need to control everything. You remember that saying that good leaders create good leaders. This is how it goes. Give away the control, and if someone takes initiative and control in certain situations, don’t act like a grumpy child. You are working with smart people, let them do their job.

    When to Stick and When to Quit


    In the book – the Dip, Seth Godin uses an interesting analogy between the way people act in the line in the supermarket. The first type of people chooses the shortest line and sticks to it no matter how slow it is and ignoring other faster lines. The second type of people switches lines repeatedly at the slightest glimpse of the other line going faster. The third and final type of people changes lines only once when it is clear that the line they are in is stuck and that there is a clear alternative.

    He challenges us to find which group of people we belong to, underlying that the third option is something we should strive for. There are two lesions hidden in this simple analogy. The first one is that we shouldn’t stick to a plan no matter what. One of the perks of our new jobs might be to make detailed and long-term plans. But as Mike Tyson once said, “Everybody has a plan until they get punched in the mouth.” The world doesn’t care about your plans, so don’t be afraid to change them if your team is stuck.

    On the other hand, don’t be a second type of people and switch lines at the sight of the smallest problem. It might be temporary, and other lanes might get stuck in a matter of minutes. This behavior reminds us of the of Athens general Alcibiades.

    In the Peloponnesian war, he first fought for his home country. Then, after being accused of a crime he may or may not have committed, he turned sides and fought for Athens’ biggest enemy – Sparta. After that, he defected to Persia, sworn enemy of both Athens and Sparta. Finally, he returned to Athens, where his over-ambitious plan to invade Sicily drove Athens drives him to his ruin. What a miserable way to live. Preserve for a while, don’t quit easily. But if your plan has flaws, find the alternative and abandon it.

    Coding & Delegation


    Sadly, your primary job shouldn’t be straight up coding anymore. If you try to keep up with the coding tasks while managing scopes, time and people, you will surely over-burn or be over-stressed. This kind of Team Lead is not good for anyone. How can you insert calmness and flow into your group, when you are on the edge of your nerves? However, you shouldn’t stop coding for good. About 40% of your time should still be reserved for this kind of activity. You should still be able to jump in on a hard task and implement a good solution, even though this shouldn’t happen that often. Pick tasks which potentially could clog the team. Clean up boring bugs, or tasks that are on board for too long. The idea is that you keep your brain cells active. If at any time, the team is blocked or any of the colleagues need help, you should stop with whatever you are doing and focus on that instead.



    This one is sort of given in the previous passages, but it definitely should be underlined once again. As Simon Sinek wonderfully put in his book “Leaders eat Last” – responsibility means truly caring about other people. Everything you do should improve the lives of people in your team.

    After all, you spend eight hours of every day with this bunch of people. Don’t get detached and remember that all those people are depending on your decisions. You are the first line of protection from demanding clients, crazy deadlines and long working hours. In a nutshell, you should always remember that how strong the impact of your actions as a Team Lead is on the lives of people. This new role is more about empathy and less about ego.


    It takes a lot more to be a good Team Lead and leader in general than presented in this article. However, I picked these as a foundation to build upon. Our goal should eventually be to become better human beings. There are countless examples of people who become better professionals by becoming better persons first, but the other way around is not so frequent.

    Thank you for reading!

    Nikola Zivkovic Team Lead & Scrum Master

    Nikola is a big fan of extreme programming practices and agile methodologies. He is proficient in several programming languages and frameworks, but prefers .NET technologies. Read more his texts here.