Press "Enter" to skip to content

Team Leadership in а Software Development World

Being a good team leader is hard. At least for me. For some it may come natural, for others – we have to put in a reasonable amount of effort to get it right. I spend a lot of energy thinking about what good leaders do, especially in the software development field, so I’m putting forward some thought and principles that I follow. Read further for my ideas to grow software development team leadership into a workable model.

Team leadership is different from management. It’s less bullshit, more personal and very tactical, operational and actually things get delivered. That’s why it’s important. I’m going to start writing a series of posts about it and this is the first one. I’m sharing my key principles, which are written from a software development perspective, but most apply to any industry. Principles are essential towards establishing the grounds of an initiative. They are personal, but everyone can interpret them from their point of view (see measurement below, there is no black and white here.). You’d be surprised at how many teams don’t even have principles.

The actual real-life problem

No one teaches us to be team leaders. We either get promoted to the position at one point in our careers, or we do the job because we stood out. Every available courseware on team leadership is part of some greater initiative, so learning is not really focused. You can even argue that there isn’t really any good courseware on team leadership, especially in the software development space, yet there are millions of team leaders around the world. There’s books, but that’s different, you need practical workshops that take days, but we rarely do those. Very little companies offer soft-skills and management training, and usually the “team leader” is in that middle ground between management and developer, so they don’t really get the training attention. The second part to the problem is that team leaders are naturally busy and many companies don’t invest in that training level.

Creating a methodology

I believe the entire practice of team leadership could be put to a model. This is not a software delivery model or a project life-cycle methodology, but rather a framework for learning about and growing team leadership skills. I don’t have the experience to do it in the context of other disciplines, but hopefully I have the experience to base it on software development. Maybe I suck at it, but at least I’m doing something about it. Do you want to help me write/author this model? I am gathering a team to work on this side project, so let me know if you are interested to help out and be part of it. I’m even keen to hear if you are just interested in this model and you think it is a good idea.

Here are things I try to be best at.

Knowing your team

I try to get to know everyone as much as I can, but not crossing the line where you become too close (dangerous). Go to lunch together, socialise and listen. Observe. There is huge value in listening alone. Spending out-of-office time with the team allows people to open up. Understanding the true character of your team members by talking to them is very important. Stories and experiences are usually shared outside of the work environment, so whatever you could fit in is worthwhile. I use this time to get a feel of people’s behaviors, preferences, their most productive time of the day, whether they are introverts or extraverts, whether they have problems that I could be aware of (and maybe help), how they communicate, sometimes you might even pick up on how they solve problems or resolve conflicts. All this information is extremely valuable to me – I can arrange people with similar productivity patterns, I can reduce the stress if there are issues on the side, I can learn about things in our work environment, I can show personal interest and that really matters, it is well respected. It might not always be lunch – drinks after work or anything else you could think of will do. This point proves that work and life are actually things that go together, and they need to be balanced.

Key point: Get them to know you too. Tell your stories. You are their leader, so opening up could really go a far way.

Understand the “TEAM” part in “team leader”

No one gets big results done when working alone, and we usually want big results out of our jobs, lives and ideas. A team leader who does all the true work is pretty much a failed team leader. Results (and innovation) get delivered and nurtured when many people work together for the common goal. This is why we have teams in the first place. I do the best I can to fairly share the work and make sure everyone is putting in their part. This doesn’t always work, sometimes the key foundations of what the team is doing misaligns with members of the team. But at the end of the day results happen when everyone contributes.

Agree on principles

Yes, that’s one of my principles J This is actually applicable for all situations when you do something with someone else – love life, project work, company management, many others but also working in a team. You define and agree on the team’s key principles so everyone knows which direction to follow, how to go by it, and most importantly, how to resolve a conflict when you need to. You base decisions and resolutions on your principles – that is a good and easy way to solve issues related to personal preferences.


Quite a no brainer, but you have to lead people. Many misinterpret what leading actually is. To me it is not about giving tasks or solving their technical challenges, it is about empowering people to figure out and perform their own tasks in the best direction for the situation. Instead of solving the most technical challenges, give directions and guidance so the team members solve their technical challenges, offer support and re-evaluation when needed. This principle touches on the management side of things, but reading between the lines it is different. You will find many “Leader vs. Manager” comparisons to include this.

Give feedback often

I suck at this and I am working on improving it, and adopting it as a principle is the first step in improving it. Giving positive feedback is much easier, giving negative feedback in a timely manner is critical, but for some it is really difficult. If you don’t do it your team members will think that what they are doing is right and exactly what you expected, yet you don’t get the results in. Giving positive feedback is equally important, but much easier to learn and get into a habit. Negative feedback I always in private, positive feedback – always public.

Respect what you do

Show that you care, both about the people and the actual work that you do. Promote the idea of mutual respect as well as respect for the work that you do, highlight it as a principle. You can show respect in many ways, here’s a few tips: Listen to personal issues and give advice on how to minimize their impact on the whole team. Motivate team members to respect the team as a whole, in general, and believe in the work that you do. That is very important. I sometimes have projects that I don’t really believe in – they either don’t bring value or the requirements are just silly. It is extremely evident when people have to do things they don’t believe in. When a team leader doesn’t care – things go downhill. I have seen this with some of our work and it’s not good. A good team leader will find a way to make everything appealing to the team so the work is done with quality in mind. Quality leads to happy team members, happy clients and long-term success. We often have to do work that we don’t like or don’t want to do. Those emotions are best kept aside and often they are for a greater cause, so do your best to respect that work too.

Minimize process and paperwork

Being lean is good and I have had really good results here. Other companies and team leaders praise OneBit for being so lean and fast. A true leader removes obstacles from interfering with the true work that delivers value. Team members appreciate when you make their job easier. Do whatever you can to simplify what they do and how they need to do it. This is important for the people that actually get things done. Get rid of process. Don’t give me the “we’re a large organization with slow processes and lots of approvals” bullshit, I’ve heard it way too many times. You’re a team leader, you’re there to make things happen, so change your business and stop saying “that’s how our slow company does things”. People will leave you if they have far too much stuff that impedes their work, and if they leave – you have no team and you’re not leading anyone. Developers are smart – they want to code at least 40 hours a week, not 20 and spend the rest in processes and impediments. Being lean should be a principle.

Be a good human

A colleague of mine praised me with a few simple words – he used that term – “good human”. It stuck with me, but I could actually relate to it significantly. I’m taking it in as a principle. I don’t know how to define what it is to be a good human, but I’m doing my best to be one in my own perception and character. You can take it under your own understanding and mark it down based on what you feel is good, I focus on fairness, being nice, supportive, having values and avoiding anything that makes me look like an asshole. I’ve got lots of those.

Be up to date with your stuff

You might not be in the software development field, but I’m sure this relates to you. IT is an industry and ecosystem that changes constantly. I’ve adopted the concept of working 24/7 and I am perfectly fine with that. If I’m not in front of a device, I observe and learn about human behavior, social patterns, how to be a good human and sink in any information I find relevant from everywhere (that is what I mean when I say 24/7). On the technical side, you should really be well up to date and actually top notch with what you do. Adopt it as a principle to know as much as you can. Some team leaders fall behind with the latest trends and innovations, but other jobs just demand you to be the best. Mine does so I do everything I can here.


I try to measure everything I do. Everything from where my time is wastes to how much water and electricity I use. Measuring the performance of a “team leader” is hard and subjective. It’s also quite difficult to define what “getting it right” actually means. There is no black and white, it is all about you and your team, and how you do what you do together. Most books specify that KPI’s should be related to staff retention, growth, numbers, and many other measurable indicators. While all that is true, I try to never underestimate or forget about the bond with your team. The level of mutual respect, loyalty, trust and support. You can’t really measure that. Managers measure KPI’s, team leaders focus on the unmeasurable relationships between people. It takes time, sometime years, to build this and you never know if you’re there or not

That’s all for now.


Last words

I’m working on ways to enable better learning of team leadership. For now – all I have to offer is learning through experience. My amateur way to recruit a good team leader: join me J Let me know you want to be a good team leader and let’s both learn how to be good team leaders together. That’s probably the best opportunity you have in front of you and these last sentences are the best I could do at subliminal advertising. Thanks for reading 🙂