How to Build a Great Software Engineering Team

Written by Janey Zitomer
Published on Dec. 12, 2019
How to Build a Great Software Engineering Team
Brand Studio Logo

If you had free reign to build your engineering dream team, what would you look for first and foremost? We asked five engineering managers this question, and the same adage came up again and again: soft skills over technical acumen. You can teach a developer C++. The ability to respectfully collaborate with teammates? That’s another story.  

Making quality hires, or hires of any kind, affects a company’s culture evolution. In part one of a two-part series, the following Boston tech professionals told us how they nudge their culture in a direction they think will benefit the team right now, as well as down the line. 
 

Hopper
Hopper

Alex Campeau, director of engineering at Hopper, can’t halt inevitable business growth. But he can choose how he positions it to his team, as well as the tools he gives them to scale. So when he’s interviewing, Campeau specifically looks for candidates who can adapt as the company changes.

 

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

Hopper is scaling fast. When I think of who I need to get on board, I am not looking to fill positions and headcount, but rather looking at where Hopper will be one or two years from now. 

You need to skate where the puck is going. Hire leaders who will adapt as the company changes and have the capacity to take on a bigger role. Hard skills are not that important to me. I try to maintain a minimum amount of knowledge within a team by growing some people into domain specialists. But if you focus on it too much during your hiring process, your hires will be up-to-speed but not necessarily the right fit when the time comes to change course.

If you don’t make culture evolution your top priority and put in place new mechanisms, chaos takes over.’’

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

The biggest challenge I find in general is evolving the company’s culture so that your people stay engaged and teams keep focusing on the right things. I say “evolve” because it’s impossible to maintain culture when scaling, no matter how great it was in the beginning. Some elements, such as seeking full consensus, just don’t scale. If you don’t make culture evolution your top priority and put in place new mechanisms, chaos takes over.

At Hopper, our key mechanism is pushing autonomy and ownership to each individual team. We provide clear objectives but emphasize freedom when it comes to achievement strategy. As a leader, I have to recognize that we’re human beings and that fast growth and the changes that come with it aren't always easy. I strive to create an environment where people feel safe to speak up and embrace vulnerability, yet I engage them with the positive: exciting goals and celebrating our successes.

 

Catalant
catalant technologies

Catalant Technologies’ engineering team is highly collaborative. So when Engineering Manager Jennie MacDougall looks for candidates to join the group, she specifically considers three traits that compliment their existing process. More on how MacDougall deliberately measures soft skills and technical ability, as well as culture fit, below. 

 

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

Collaboration, curiosity and audacity are three of the most important qualities we look for when hiring. We are a highly collaborative team that relies heavily on each other to create the best solutions possible for our customers. We look for well-rounded, eager and motivated people who work well together; engineers who want to take on challenging work with zeal and are hungry to learn. We rally behind one another to reach our goals and celebrate each other’s achievements. 

We strongly believe that a great fit is more important than simply filling a seat.’’ 

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

Two of our biggest challenges are finding the right talent and maintaining an effective, fun and collaborative culture. Finding the right talent takes time. We strongly believe that a great fit is more important than simply filling a seat. We are deliberate with our interview process, and assess soft skills and technical acumen, doing our best to ensure it’s the right fit for both the candidate as well as our team.

In order to maintain our culture, we have a strong onboarding process, and we set new hires up with a buddy, assigning them ramp-up stories and having them check in code by their second day. This keeps the momentum up and helps them feel productive and included right away.  

 

Lose It!
Lose It!

Lose It!’s VP of Engineering Eric Puidokas provides his team with resources that will help further develop their resumes. To address a common scaling issue, leadership split the company’s codebase into multiple projects, enabling engineers to own certain portions while getting feedback from other departments.

 

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

Attracting and hiring top talent for any team is a challenge. It can be exceptionally difficult if the positions that you’re looking to fill are in high demand. As we build and maintain our advanced app ecosystem, it’s been tempting to grow the engineering team quickly to solve some short-term pain points. We resisted that urgency and have since learned that hiring the right people is much more important than hiring quickly.

Focus on finding the right talent for the position you’re filling, even if you’re in a time crunch. Develop your team’s resumes while they’re working for you by giving them projects and responsibilities that will set them up for a bright future. Avoid dictating which features to implement and allow the strategy to fall into natural alignment. 

Focus on finding the right talent for the position you’re filling, even if you’re in a time crunch.’’ 

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

When we were a team of five developers, everyone operated as generalists. As our product grew in complexity and our team grew in size, specialization over portions of the codebase became necessary. At the same time, we really liked that all engineers were able to impact any part of our product. We didn’t want to lose the option of a single engineer implementing a feature end-to-end. To accommodate both specialization and broad impact among engineers, we looked to open source for inspiration.

We were able to split our codebase into multiple projects, and assign teams to own and maintain each one. This allowed our employees to make improvements to the projects themselves while collaborating and getting support outside their team.  

This collaboration model has also allowed our new developers, who don’t have deep knowledge of our codebases yet, to have an impact immediately without risking product stability.

 

DUST
DUST Identity

Jonathan Hodges, VP of engineering, told us that DUST Identity developers are working on issues of a grand scope. As a result, they need to be thinking high-level while considering the details. Hodges recruits candidates he believes can accomplish big asks by looking at their technical background and evaluating their sense of ambition. 

 

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

Trust is at the core of our company. It’s the promise we’re fulfilling for our clients. All of our team members understand this value. We foster trust in our culture through transparency and candor. That means being members of a team who challenge ourselves and our teammates every single day. We require collaboration, grit and, most of all, respect. Only after we determine a candidate has those skills do we look at their technical background. 

When it comes to engineering skills, we specifically look for an appetite for learning and jumping on teaching opportunities. Having a diversity of skills and approaches to problems are key. Everyone should bring something unique to the table.

We also depend heavily on open communication channels between team members and we encourage everyone’s voice to be heard. 

We specifically look for an appetite for learning and jumping on teaching opportunities.’’ 

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

Some of our customer base includes international brands and government agencies, requiring us to have a global reach. This means people on our team need to deliver results on both macro and micro levels. We have to think about how our product impacts the lives of people in Tokyo as much as on Boylston Street. Moreover, the issues that we’re trying to solve require commitment and agility that go above and beyond the standard requirements of a typical startup. 

As we challenge the current limitations of connecting physical products to a digital identity, our biggest challenge is adding new features in our software stack in a modular approach. We have found that when we entrust each team member with the ownership of one part of the system or one of the processes, onboarding and collaboration are more effective. Our newest team members have the best job. On day one, they can give input on new challenges that arise with a fresh perspective rather than try to get caught up on the status quo. 

 

Ellevation Education
Ellevation education

For Sanjeev Banerji, VP of engineering at Ellevation Education, team and company alignment is a top priority. Banerji deliberately maps out his team’s goals and how they fit into the larger picture so that engineers understand exactly how their contributions matter. He also recommends accounting for priority overlap.  

 

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

Be intentional in creating your team’s DNA. What do you want them to be proficient in or value the most? Predictability? Speed of delivery? Elegance in technical designs? This isn’t an exhaustive list and these sorts of items are rarely mutually exclusive. But when you are building a team, you have the chance to set the tone for what engineers will use as their North Star. Make these choices deliberately and thoughtfully, as they will affect the team for years to come.

Develop a career ladder that lays out  how a person can progress into higher-impact roles over time.’’  

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

The biggest challenges I’ve faced have been around having clear goal posts, specifically for professional development and engineering projects. For the former, as a team grows, there is often a natural need to start having clarity about people’s roles and expectations. This can be a difficult transition, as it can feel like the intimacy and informality of the early days will be gone forever. 

Develop a career ladder that lays out the different roles and how a person can progress into higher-impact roles over time. It can highlight the pathways for professional growth. For engineering projects, the challenge is highlighting that engineering doesn’t happen in a vacuum. Continually have conversations about how the team’s work contributes to the company’s goals. Quarterly OKRs can help quite a bit, especially if you’re also using them to frame company goals.

 

Responses have been edited for length and clarity. Images via listed companies.

Hiring Now
MassMutual
Big Data • Fintech • Information Technology • Insurance • Financial Services