How to Build a Great Software Engineering Team

Written by Madeline Hester
Published on Dec. 16, 2019
How to Build a Great Software Engineering Team
Brand Studio Logo

A homogenous workforce is similar to a sunset painted with just one color; Neither offers much inspiration. When building a software engineering team, diversity often leads to deeper results. 

Senior Vice President of Engineering Jess Rusin said that hiring a diverse group of software engineers with different personalities and experiences is part of what sets Guild Education apart from competitors.

“Ensuring you have a balanced team with a diverse set of strengths and backgrounds is critical,” Rusin said. “The right balance leads to higher overall results and drives better cross-collaboration and focus.”

Rusin, along with IllFonic Technical Director Daniel Garcia, shared what other factors they consider when building out their software engineering teams. Along with diversity, empowering teams to be semi-autonomous was one of their key recommendations. 

 

guild education
guild education

SVP of Engineering at Guild Education Jess Rusin said her software engineering team consists of employees with diverse backgrounds and strong communication skills. As the women-founded startup scales, Rusin makes sure everyone’s goals are aligned with proper training and warranted growth.  

 

What are the most important factors to consider when building a great software engineering team? 

Ensuring you have a balanced team with a diverse set of strengths and backgrounds is critical. As you build out a team, it is great to have both generalists and deep experts. It is also important to have team members with diverse skill sets. Doing so can lead to higher overall results and drive better cross-collaboration and focus.

Second, hire effective communicators. Building software that provides business value requires more than just writing code. Interfacing with product managers, designers, marketing and other functions within the business are key to driving important initiatives forward and helping to connect the “why” behind what teams are building. Strong communicators are able to explain technical concepts to non-technical audiences, listen, understand and utilize technology tools effectively within the organization to share information.

 Lastly, cultivate a culture of reflection. When building highly effective teams, it is important to take time to reflect and celebrate accomplishments together. It is also important to identify any areas for improvement. Taking a step back to reflect for a moment leaves room to iterate on the team’s abilities to deliver great software, improve processes or ensure that the long-term technical vision is in alignment with broader business initiatives. At Guild, we utilize our bi-weekly “retros” as one form of reflection for each of our engineering teams to celebrate teammates, identify practices they would like to continue and submit ideas for change.

As you build out a team, it is great to have both generalists and deep experts.

 

What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?

At Guild, we quickly realized that we needed to start sharing and distributing information more effectively as the team grew. This meant documenting design proposals and decisions, holding regular internal tech talks and demos, updating supporting documentation such as READMEs, pairing developers together when new engineers join the team, and taking time to refactor and simplify projects to enable a broader set of individuals to contribute. The earlier you can identify single points of failure and distribute the knowledge, the more you will be able to leverage the whole team as you grow.

As the team scales, there is unnecessary overhead in one large meeting and teams may need to split or shift. It’s important to encourage teams to build new ways to collaborate and share information, such as asynchronous communication through a tool like Confluence and good meeting practice by including agendas and a link to notes in the description. 

By encouraging managers to be thoughtful about how to organize teams effectively and reduce dependencies, such practices can lead to higher productivity in the long term. 

 

illfonic
illfonic

According to Daniel Garcia, technical director at IllFonic, it’s easy to attract great talent when you work at a company that builds video games. Building and managing that talent requires finding the right personalities and correctly assessing their skills to develop the next game.

 

What are the most important factors to consider when building a great software engineering team? 

I would say the most important factor when looking at prospective team members is personality. Someone can be the smartest, fastest worker on the planet, but if they can't work well in a team, none of it is going to matter. 

After that, it’s crucial to assess skills. I try to look at what the current team's strengths and weaknesses are and determine what areas could be filled or improved. The last thing I usually consider is their ability to work semi-autonomously. Having the ability to add polish to features and look for new tasks when out of work without being prompted is not only appreciated but sometimes necessary in a fast-paced environment.

The most important factor when looking at prospective team members is personality.

 

What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?

One of the major challenges we have had scaling the team is getting the team size right. The team needs to be large enough to have work evenly distributed, but still small enough to be agile and communicate well. It is a difficult balance to strike. If the team is too small, then everyone will be overworked and things will start slipping. 

If the team is too large, it’s difficult to manage quality control. I have also found that when teams are too big, over-engineering is more likely to occur. To solve this problem, we have begun spinning smaller, temporary strike teams that can move fast and light but still operate within the larger team.

 

Hiring Now
monday.com
Productivity • Software