Despite the rapid evolution and constant change being seen in the software development industry, one thing has remained constant: the necessity for strong and capable leadership. In order for a development team to perform at its highest level, it needs proper guidance from a strong leader. This raises the question of what exactly makes for a successful modern-day development team leader?
Mario Cadete, head of San Francisco engineering at Bloomberg, said that placing a heavy focus on team communication is one of the most important qualities for a team leader. “I think it’s becoming even more important to be even more effective in communicating and listening. The last two years have really stretched us with that, and so we really have to develop skills to do that,” he said.
Cadete continued, “I think it’s really important to be intentional in fostering an inclusive culture, which looks like an environment where everyone in your group can feel safe and can contribute their ideas… I think it’s important that everybody has a voice.”
Matt Mihic, head of engineering at observability platform provider Chronosphere, touched on the importance of building an inclusive culture as well. He said, “Anything that is interesting to build requires more than one person, there’s not a lot of single-person projects that are really meaningful and so, understanding how to work with and meaningfully support other people… becomes a core trait.”
Be inclusive and welcoming
Creating a safe and inclusive work environment is one of the most important tasks for any team leader; however, there is still progress to be made in making the software development industry a more welcoming place for women.
Dana Lawson, SVP of engineering at Netlify, said, “There’s reasons that women may not feel safe showing up in the work environment, and there are these opportunities to create more of a culture where you can really… make sure that you’re welcoming no matter what.”
Lawson placed an emphasis on the importance of empathy when it comes to leading a team because it is almost impossible to understand the circumstances each team member is dealing with outside of work. She explained that the transition to hybrid work has helped to allow for more empathy and inclusivity because of the flexibility that it offers in situations such as single motherhood.
She also discussed how, as a team leader, there is an important responsibility to protect the women on your team. “I think there needs to be really intentional training, not just the fifteen minutes of how to not harass people… I think there’s a huge opportunity to really look at how people show up and how you speak and how you give work out and give opportunities out,” Lawson said.
She also mentioned that creating a workplace that feels safe and inclusive for all team members has to be a continuous practice. “You’re not going to read a manual and say ‘great everybody should work here and feel equal now,’” she said. “I think that you have to continue to grow as the world is growing and hopefully become better in recognizing the things that didn’t work in the past and that people are not going to tolerate anymore.”
In addition, Lawson stressed the importance of actively listening to your team members and taking their comments or complaints seriously. “Don’t put on your blinders and be short-sighted. Apply the growth mindset, learn from your mistakes, own up to it, continue on, and be better,” she said.
Communicating business goals
Rajesh Raheja, chief engineering officer at Boomi, believes that one of the most important aspects of leadership is being able to effectively make your team understand the ultimate goals of the business. He explained that software development is not just about completing the current project, it’s how the project overall works towards company objectives.
According to Bryan Friehauf, SVP of enterprise software solutions at Hitachi Energy, effectively communicating the ultimate goal of the software being developed, in terms of customer satisfaction, is a key element of leading a team.
He said, “If you understand not just what specifically they’re asking you to do, but why… if you’re a senior leader you really need to understand what those problems are because then you’re able to unleash that innovation to come up with a better solution than maybe even what the customer is asking for.”
Gabe Monroy, chief product officer at DigitalOcean, talked about the importance of good prioritization skills when it comes to leading a team. He believes that the ability to prioritize properly is what distinguishes the leaders that have a problem saying no to team members from the ones that are actually delivering results.
“The leaders who have the maturity to say ‘look, we can’t prioritize this initiative right now, we have to focus on these other higher priority items,’ those are the leaders that are delivering success,” Monroy said.
Additionally, Raheja stressed the need for a leader to act as a good team builder and a kind of coach. He said a good leader has to be sure that they have the right team members with the right skill sets to make for heightened productivity and a better overall result.
“Particularly, today in this time of the ‘Great Resignation’ you need to be able to act as a coach and a mentor so that you can retain that talent that you’ve already attracted to your organization,” Raheja said.
According to Ev Kontsevoy, CEO of Teleport, the most desirable attributes for leaders of development teams have changed exponentially in recent years. “In the last 5-10 years… the responsibilities of engineering teams have been dramatically increasing,” he said. “So, if you are an engineering leader, you are now managing a team that is no longer responsible simply for writing computer programs.”
Kontsevoy explained that because of this expansion of duties, leaders now need to have a broad background that extends beyond the technicalities of writing code. Developers are now expected to handle tasks that were previously not in the job description such as data security, data integrity, infrastructure management, and compliance. “You need to be a well-rounded individual because your team is now responsible for much more than just writing computer programs,” he said.
Dev teams now more responsible for security
Mario Cadete, head of San Francisco engineering at Bloomberg, said that the transition to DevSecOps has only added to the increase in developer responsibility. “Security has to be a first-class feature, and I think a lot of us are still figuring that out because, traditionally, security was left for the security team,” he said.
Cadete believes that the shifting of security left has and will continue to influence developer teams and the way they are expected to perform. “You do see things like DevSecOps teams being formed… and it’s becoming something that is a part of their core toolkit.” Where security used to be somewhat of an afterthought for teams and their leaders, it is now at the forefront of their responsibilities.
Mihic believes that the best way a leader can help their team cope with the new security aspect of the development process is to find somebody within the team who already has an interest in the security space.
“Security is a good example… We would leverage them as kind of consultants or advisors to the rest of the team,” he said.
Mihic believes that this works to give team members the opportunity to specialize in one particular area as well as prevents developers from approaching security standards as if they are a burden.
According to Kontsevoy, this increase in security responsibilities leads to heightened stress levels for developers. “Your team is now under the stress of responsibility and also complexity,” he said. “Your responsibility as a good leader becomes shielding your team from these complexities… it’s about finding a way to tame complexity and keep it at bay.”
Characteristics of a good leader
Cadete discussed the importance of managing your team without falling into the trap of micromanaging. “I think if you can more clearly communicate the outcomes that you expect, you can then manage those outcomes in a more incremental fashion,” he said.
He explained that breaking down a larger project into smaller sections that can be completed independently gives the leader visibility into the whole project while also only checking in when a task is completed. “This will give people the space to work the problems out and try and achieve them, but also have it structured in a way where you can measure results.”
This ties back into the communication aspect of leading a team of developers. According to Cadete, checking in when these incremental projects are complete also works to give the leader an idea of how well they are communicating the desired outcomes to the team. That way, they know if they need to adjust their language going forward.
Raheja also mentioned that a good leader has the ability to hear the opinions of the developers on their team while still managing those differing opinions and ensuring that the team stays on track to accomplish the core goal at hand. “Leaders need to be able to tell a very effective story of what we are going to do and how we are going to get there, but also be able to influence people and change certain opinions,” he said.
Kontsevoy spoke about the velocity of software development and how a good leader is one that enables their team to achieve that pace. He explained that bogging your team down with too much red tape to cut through ultimately leads to non-functionality.
“And this is really hard to do because some of these new responsibilities that engineers now have are full of rules and regulations, so you as an engineering leader need to allow your team to move fast and break things without sacrificing security, for example,” he said.
Friehauf also discussed the speed at which technology is advancing. He said that there is always going to be some new cool piece of technology that teams are going to be attracted to. “I think keeping the teams somewhat focused on the mission at hand while also allowing them to find some time where they can do some of those cool things gives the team a chance to be creative while also keeping them focused,” he said.
Hubert Wong, co-founder and CTO of CaptivateIQ, said a good leader is one that is able to effectively uplift and encourage their team to reach their full potential. “You need someone who sort of inspires the team to think creatively and push themselves to grow and maximize the learning and growth of the team,” he said.
Kontsevoy mentioned that it is all about striking a perfect balance between what the engineers on your team want to get done and what actually needs to get done to keep up with the new regulatory requirements the team is operating under. To be a successful leader, you need to prioritize both of these aspects to keep your developers happy while maintaining proper compliance.
Remote management a challenge
Cadete mentioned the way that the transition to remote and hybrid work has reshaped the way teams are led. He spoke about the way leaders need to work harder to gain the level of communication needed without the accidental communication that happens in an in-person setting.
“In a hybrid setting everything is so intentional… People maybe don’t want to interrupt their leaders or team members if they think the thing they want to discuss is not important enough. So you’re trying to create that kind of environment where you can have that accidental communication but do it remotely,” he said.
Raheja also spoke about the way that scattered teams operating in different time zones adds a new layer to developer leadership. “A leader of a team across multiple time zones has to build an inclusive environment,” he said.
He explained the importance of not seeming to give the more local members of the team preferential treatment by scheduling meetings in a way that considers different time zones. “It’s about creating that safe and inclusive environment for all team members rather than selecting certain team members because [the leader] doesn’t have the experience of managing a large global team,” he said.
Friehauf also stressed that it is the team leader’s job to ensure that a scattered team maintains a healthy level of communication and collaboration, even if time zone constraints result in that communication being asynchronous. “It was a little disruptive at first… but making sure that everyone is participating in these discussions was an early-on cultural change that I think people have adapted pretty well to,” he said.
Wong echoed the importance of asynchronous communication, saying that it is vital to write important things down and create artifacts for meetings or engagements that the whole team then has access to. “This helps to save the remaining time for that precious synchronous communication,” he said.
Dealing with team stresses, mental health
Mihic also touched on the challenges that leaders can face in keeping up team morale and working to avoid burnout. He believes this is particularly important in the world we are currently living in and all of the external stressors at play.
“Work is a huge component of people’s lives,” he said, “So you want to make sure that as they’re dealing with stress outside of work, the workplace is offsetting that as much as possible.”
Wong cited this layer of preventing burnout and prioritizing the mental health of team members as a serious problem facing leaders today. He said, “There’s a lot of uncertainty going on in the world right now… so we have to be conscious of that and understand how to navigate through these challenges.”
Monroy echoed this, saying, “As a leader, you really need to look after the whole person and not just the work part of the person. Everyone is dealing with stress and strain from the pandemic and all of that will ultimately affect the work, but more importantly, you have to care for your employees.”
He explained that in order to accomplish this, leaders need to make an effort to care about team members beyond just the part of them that shows up for work every day. Humans are multifaceted, but these layers will ultimately blend together. This is why Monroy believes that giving team members the space to prioritize their mental health will make for more productivity and a better end result in the workplace.
Mihic explained that fostering a supportive and caring environment leads to higher levels of communication both within and between teams. “You really want to have that trust, and that comes from having that shared context and that human interconnection that really builds a lot of that,” he said.
Executing on objectives is key
Raheja went on to say that ultimately, the key indicator of a good developer team leader is their ability to execute objectives effectively. “Ultimately, it is all about execution… So, they need to have a lot of orientation towards results and the ability to create actions that will work towards those results.”
Mihic spoke on this as well, saying that a good leader will always have the ability to look ahead and see how the context that is given can eventually translate into a solid execution plan that the team can deliver on successfully. “As you get closer [to the end], it becomes less about the day-to-day execution and more about what the health of the organization looks like,” he said.
Konstevoy also explained that a key attribute of team leaders, and successful development teams in general, is creating a culture of trust. Kontsevoy explained that allowing your team members to work in a way that comes most naturally will always yield better results than forcing a different method or tool on them. “You have to trust them with making these decisions and you, as a leader, need to operate around outcomes,” he said. “Focus on what will be done, why it will be done, and when it will be done, but don’t interfere with how.”
Cadete said placing a focus on both the success and growth of your team as well as yourself will help to achieve this outcome-based approach to leadership. Allowing your team to find their own methods will not only help them grow as developers, but it will help you grow as a leader as well.
Kontsevoy also believes that a good development team leader should work to establish “default actions” in the organization, meaning that if the leader cannot be reached and a predictable issue arises, there should be a set of standards established for the team that will allow them to handle the situation without the direct input of the team leader.
“If you have that, then there is not a lot of context switching simply because the team is running on autopilot,” he said. “In the best case scenario, a leader should only be focused on things that have broken or if something extraordinary happens.”
According to Raheja, another detail of good leadership is ensuring that the developers on your team know that their primary goal is not to write code, but rather to deliver customer value and achieve the goals of the organization. “It is never going to be about the quantity of code delivered,” he said. “It’s about the quality of how well the team has met or exceeded the customer’s expectations, and that is the one piece of advice I would give.”