How to Build a Great Software Engineering Team

December 17, 2019

Building a highly productive engineering team isn’t as simple as giving clear directions and backing away. As businesses grow and evolve, so does the code behind the software. In part two of a two-part series, we asked five Boston-based engineering leaders how they set their teams up to continually evolve and what challenges they’ve faced along the way. 

Engineering leaders at both Drift and Flywire mentioned creating small teams to divide and conquer requests as they come in. This strategy allows individuals to more precisely own tasks and replicate procedures that work well. Another tip? Your hiring approach and organizational structure should be as strategic as your code deployment.

 

 

Drift
Drift

According to Freedom Dumlao, building a collaborative team of skilled developers requires a detailed hiring plan. And a crucial part of that plan involves identifying team players. Drift’s chief architect would prefer such candidates over more experienced coders who work in silos. 
 

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

Hire humans with great attitudes. A brilliant engineer who can’t work well as part of a larger team is far less valuable than a competent engineer who’s eager to participate with their colleagues to ship great software. 

You also need a clear hiring plan. Connect the goals of the business to specific engineering needs that need to be filled. At Drift, we prefer to have many small engineering teams of three people that can fully own a product or feature. When new business needs are identified, we can follow this pattern to define exactly what engineering needs will have to be met in order to achieve those objectives.

Connect the goals of the business to specific engineering needs that need to be filled.’’  

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

As everyone in Boston knows, it is a very competitive market for software engineers. Most of the talented people already have jobs. Getting them to join your team requires showing them that there is a real opportunity to work on great technology with amazing people, while growing their career and perfecting their craft. 

We love to showcase the culture and opportunity that exists here by hosting both internal and external events. Internally, we’ve recently had success with a multi-day hackathon that allowed all of our teams to create anything they could imagine. Externally, we’ve continued to open up our office space as a venue for local meetups and events like Boston Node, Product Hunt and others. These events give engineers in Boston a chance to understand more about what Drift is like.

 

The Predictive Index
The Predictive Index

Sean Cavaliere, VP of engineering at The Predictive Index, prioritizes smarts over experience when identifying candidates to join his team. He also hires with the business strategy front of mind. That way, whether the engineering department is made up of five people or 20, he can be proud of what they stand for and the work they produce. 

 

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

We rely on data to find engineers who are aligned with our strategic vision. Any time a new team member is added, a new team is formed. With a talent strategy in place, we know exactly what constitutes “the right person” for the job. We hire the best and brightest, but we're careful not to focus only on skills or qualifications. We look for overall fit for the role. That includes smarts, attitude and experience, in that order.

We look for overall fit for the role. That includes smarts, attitude and experience, in that order.’’ 

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

Hiring someone who is a poor fit for the role destroys employee engagement. At PI, we take a data-driven approach to hiring and engagement to ensure we are creating strategically-aligned, diverse teams. By designing our team based on the business strategy and evaluating candidates for job fit and team fit, we can predict candidate success as our engineering team grows.

 

Cogito
Cogito

Kon Kalabokis wants to make sure that his engineers feel empowered to make decisions that will help them accomplish their goals. That way, Cogito’s senior director of software engineering can help his team better tackle inevitable scale-related challenges head-on. 

 

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

Based on my experience, the most important factors are creating an atmosphere of transparency and trust where engineers are empowered to make decisions related to completing their work. I also emphasize hiring people with well-developed soft skills who communicate well within a team. Collaboration is vital to success. 

Collaboration is vital to success.’’ 

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

Our real-time AI product is a completely new idea for clients. This creates challenges when scaling our engineering team to ensure clients’ needs are met and our product continues to evolve. Whatever challenges we have at the moment lead to more opportunities at both a team and individual level. As we grow in team size to meet this demand, we focus on ensuring we have a common framework in managing requirements, tracking and overseeing projects, as well as automating our integrations and deployments in a repeatable manner. 

 

Mass Mutual
Mass Mutual

The speed of technology development isn’t slowing down for anyone. Keia Cole, head of digital experiences at MassMutual, understands that this means providing her team with as much opportunity and exposure to new practices as possible. 

 

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

On the digital experience team at MassMutual, building a community that fosters learning and curiosity is extremely important. Technology is changing constantly, so we all need the opportunity to learn and try new things. We want to create an environment that inspires innovative thinking and creative technical solutions. It takes courage to pitch and try new approaches, so developing an inclusive culture where failure is used as a learning opportunity is critical. We want everyone to feel welcome and encouraged to speak up and share their perspectives. 

We build teamwork through being active in our community. We’re always looking for ways we can champion involvement in Boston-area tech events and volunteer opportunities.

Technology is changing constantly, so we all need the opportunity to learn and try new things.’’  

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

New tools, patterns and approaches can have cascading effects, so teams need to be aware of what’s happening across the organization. We are more deliberate about using agile ceremonies to facilitate cross-team communication and have developed some of our own processes that work well for our organization to ensure that everyone remains aligned. Finally, any critical information is communicated in multiple ways to reach everyone who should be aware.

 

Flywire
Flywire

VP of Engineering Felipe Talavera Armero focuses on people, culture and pace. As Flywire’s engineering department has scaled, he caps individual teams at seven to eight people for efficiency and communication purposes. That way, the developers can duplicate processes, learn from each other and sustainably scale with the company. 

 

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

We want to hire people who are curious and will continue to build an environment where everyone helps each other. Create the culture you want from the beginning to maximize the delivery of the company’s value. 

Understand the pace of building technology rather than rushing ahead with a build without considering all outcomes. We look for potential FlyMates who are able to think medium-term, consider all outcomes, create a sustainable plan and teach junior FlyMates to have that mindset too.

Create the culture you want from the beginning to maximize the delivery of the company’s value.’’  

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

The main challenge we’ve faced is creating a process and a communication strategy that is sustainable and doesn’t break as we continue to grow. Our solution? Keep teams small (seven or eight FlyMates), ensuring that processes continue to work well. 

FlyMates have an input on what product area they work on, and we strategically group certain FlyMates together so  they can learn from each other. 

Originally, communication was easy. Need to review something? We would bring 10 to 15 people into one room. But as we’ve grown and spread the engineering team globally, we’ve adjusted the way we communicate with better documentation, requesting feedback and comments online to cover the timezones. 

 

Jobs from companies in this blog

Boston startup guides

LOCAL GUIDE
Best Companies to Work for in Boston
LOCAL GUIDE
Coolest Tech Offices in Boston
LOCAL GUIDE
Best Perks at Boston Tech Companies
LOCAL GUIDE
Women in Boston Tech