Congratulations - you’ve been tasked with running your first software development team! Now the real fun begins.
At this point you may be wondering, aside from chairs, desks, computers, and lots of caffeinated beverages, what else do you need to provide, or need to know, to run a successful team of developers?
To find out, I spoke with a number of experienced software development professionals well versed in running software engineering groups and asked what advice they’d give to someone new to the job.
Many of the tips they shared for running a productive, successful, and happy team can also apply outside of the software world.
Get to know your team
In order to get the most out of your team, you have get to know them. “Every developer operates differently and has a different formula for what makes them the most productive,” Chris Albrecht, a technical project manager at Lullabot told me. “As a project manager or team lead, you need to know what fuels each member of your team and encourage that. Trust them to do their job and make sure the job assigned to them is the right one for them.”
Dan Sundell, who was the Director of Application Development at NPR Digital Services and currently leads a team of developers at SimpliSafe, agreed. “I believe that you have to know your team and your team needs to know each other (and the rest of their coworkers),” he told me.
Of course, with developers, often stereotyped as being introverts or prickly, getting to really know them can be easier said than done, so you have figure out how best to get someone to open up a bit. “Often the best way to accomplish that is talking about something other than work, for me I prefer to do this talking over beers,” Sundell said “That’s not everyone’s thing though, so make sure it’s not the only opportunity for people to get to know each other.”
Sell the mission
Aside from building software, it’s important that your team understand the bigger goals of the business, as Gareth White, a principal technical product manager at Ellation shared with me. “The team must buy into the product or company vision,” he said. “Without it morale and productivity is generally poor. This can mean the need to sell that vision if needed. “
Sundell also emphasized communicating the higher purpose. “The team needs a clear vision of where the company is going, they’re the ones that are going to get you there,” he told me.
Keep the lines of communication open
Good and open communications are important for any team, but particularly these days when individual members, or even whole companies, are working remotely. Albrecht, who works for a completely distributed company, talked of the special communications challenges facing such a team. “It’s easy to let personal interactions with your team fall to the wayside in distributed environments,” he said. “There is no hall to pass in or common area to get lunch. Text-based communication is a start, but talking to someone face-to-face, or at least video-to-video, is essential.”
James Sansbury, a development manager who also works for Lullabot, discussed the need for good cross-team communications. “Keep the architecture, design, and development teams working together with open communication and mutual responsibility,” he told me.
Shield the team from extraneous distractions
One of the most important tasks for the group leader, White told me, is to be a “s#!t deflector.” “[Managers] need to shield the team from politics and keep them focused on what they do best: build stuff,“ he shared.
Of course, it’s not always so simple to know what to shield the team from and what to share. “There’s a fine line between protecting the team from higher ups and making sure they have insight into how the business really works,” Sundell said.
“Some devs like to know business and politics related stuff, others really (really) don't and want to keep their heads down,” White said. This gets back to knowing your team well. “Know what type of personality they have,” he added.
Build trust
Like most relationships, the one between a development team and its leader must be built on trust to ultimately work. “Trust is the air that your team must breath,” Sansbury explained.
As Sundell told me, honesty is the key for a leader to win the trust of his coders. “The best way to earn trust is not to bulls#!t your team,” he said. “They’ll smell it and you’ll have lost their trust. Along the same lines own up to your mistakes. If your team is going to have to clean it up for you anyways then they’re going to know who’s fault it was.”
Trust, however, has to be a two-way street, as Sansbury explained. “Hire people you can trust. Then, give them your trust by treating them like adults—give them the freedom to work how they want, and find out how they want to improve themselves.”
Be supportive
Engineers on your team will need your support in any number of ways, beyond the purely technical. “Anyone on the team should not be afraid to share their ideas and not be fearful of floating an idea even if it may sound stupid or crazy,” White told me. “This is what fosters real innovation, people feeding and building off the ideas of others.”
To give developers the support they’ll need to succeed it again comes back to knowing your team. “Know your developers, encourage their individual strengths, be available and be involved as much as they need you to be,” Albrecht suggested.
Sundell recommended simply following the Golden Rule. “Treat people the way you’d want to be treated in that situation,” he said. “Be empathic. These aren’t just cogs, they’re your team. Treat them well and they’ll produce.”
Help with career advancement
As happy as your team may be, believe it or not, your developers may someday like to move up, and possibly run a team themselves. It’s important that you help them further their own careers. “Communicate a clear career path for each person on your team,” White said. “People need to know what their future is, especially if they are young.”
Sundell suggested you may also be able to provide important career guidance for your team members. “You may have better insights into what they should be doing than they do,” he said. “I can’t tell you how many people have told me that want to become managers just because they think they’ll get more money, but in reality they’d be much happier and more productive staying deep in the tech rather than sitting in meetings all day.“
Minimize meetings
Speaking of meetings, several of the people I spoke too brought up the need to make sure your team doesn’t waste too much time attending them. “Protect everyone from as many meetings as possible,” Sansbury recommended.
If your engineers do need to be involved in meetings, Sundell advised to make it time well spent. “Make your meetings worthwhile,” he urged. “Nothing annoys people more than pointless meetings.”
Free beer
Finally, among the many ways potential ways to keep developers happy, free beer seems to be near the top of the list. “Free Friday beers give everyone something to work towards,” Sundell told me. “Preferably good beer.”
White seconded this advice, with a caveat. “Find creative ways of keeping people happy and motivated. Sometimes beer on Fridays is great, unless you are leading a team of non-drinkers. Having said that, beer should always be freely available, if not for the developers then for their managers ;)”
Did you get all that? Great. Now you’re ready to build and lead your team in the coding battles. Good luck!
This story, "9 things you need to know to run a successful software development team" was originally published by ITworld.