There’s no single secret ingredient when it comes to building a world-class engineering team. For most engineering leaders, it’s a recipe — a careful blend of important skills, characteristics and cultural factors — that they perfect over years of watching teams succeed and, yes, sometimes fail.
Some factors are obvious. Engineers need the right technical skills, and teams need someone with the right mix of skills, experience and personality traits. But identifying the right combination of these factors, finding (and hiring) the right people to balance the team and then creating an environment where all those engineers can thrive — there’s nothing obvious about it.
We asked four LA tech leaders to break down their approaches to building great software engineering teams and how they’re tackling the challenge of scaling those teams as their companies grow.
For Senior Technical Recruiter Bobby Guarisco, building an engineering team that can meet the rigorous demands of the startup world largely comes down to the soft skills. Sure, Builder loves a tech savant as much as the next startup, but at the end of the day, superior coding skills won’t make up for a lack of creativity, passion or flexibility.
But competing for the best and brightest tech talent in LA is a whole other challenge. For that, Guarisco focuses on what makes Builder different: the opportunity to pursue new ideas, grow and make a tangible impact with your work.
What are the most important factors to consider when building a great software engineering team?
Technical expertise is obviously a key consideration when I'm selecting potential candidates for our software engineering team; their experience needs to fit the needs of the company and the qualifications necessary for success. But beyond an impressive resume, character also plays a large factor in the hiring process.
At Builder, we don't just want brilliant minds, we want passionate and excited ones, too. This is incredibly important in a startup environment like ours where we're working to redefine the software development industry. It's not something that happens overnight, so it's critical that you create a team that is willing to look at things differently, be flexible when it comes to finding solutions and empower one another along the way. This type of enthusiasm cannot be taught in a course or handbook, but it's what sets some candidates apart from the rest.
At Builder, we don't just want brilliant minds, we want passionate and excited ones, too.”
What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?
As a startup, it can be a challenge not to be overshadowed by the big names, and that’s why communicating Builder’s story and vision to the candidate is so important.
When I connect with potential talent or identify a good match for the team, I don’t just send them the job description and call it a day. Instead, I make sure to have an authentic, informative conversation not only about the role at hand, but about our company and the family that they’d be a part of. It’s important that they understand and resonate with the exciting potential of Builder and of working within a team that truly has the opportunity to make an impact in a demanding industry. It’s an environment that empowers new ideas, supports growth and sees hard work manifest into something measurable. That’s what makes being part of the software engineering team at Builder different.
Building a great engineering team is about much more than hiring. In fact, at Spokeo, hiring is just one of the three pillars of success. According to Director of Engineering Tomer Almog, creating an environment where teamwork thrives and growth is prioritized is just as — if not more — important than getting the right people in the door.
Almong said this trifecta, paired with a developer-centric culture that nurtures talent and promotes from within, has allowed him to hire and retain a strong team of engineers.
What are the most important factors to consider when building a great software engineering team?
Spokeo’s founders all have strong technical backgrounds, which permeate throughout the organization. We balance this dedication to technology by focusing on three key initiatives to build a great team.
The first is hiring. We have a very rigorous interview process for vetting talent. The technical bar is set high with practical exercises for essential skills and competencies.
The next is teamwork. We empower our teams to be self-organizing, utilizing Scrum methodology while building flexibility into the process and being responsive to needs.
The third focus is growth. We provide two growth opportunities for technical leadership and people management skills. We’ve done this successfully with mentoring, technical leadership and management training.
We empower our teams to be self-organizing, utilizing Scrum methodology.”
What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?
As we started scaling our team, we realized that we had two challenges to overcome. First was optimizing the communication flow. We had a lack of clarity on decision-making, project approval and strategic direction. These communication gaps resulted in problems surfacing at the end of the project when they were harder to solve.
The second was developing technical leaders. Star players don’t always make the best coaches. Superstar engineers were promoted with no experience managing people, causing them to fail at handling management roles and doing technical projects at the same time.
We overcame the first challenge by delegating decision-making authority to cross-functional scrum teams. To overcome the second challenge, we better defined roles and expectations for leaders to allow them to focus on technical work while empowering them to cultivate people management skills.
A thoughtfully designed engineering team can be much greater than the sum of its parts, with each member playing off the strengths of another. But to find that perfect mix, Director of Engineering Kuangwei Hwang said he’s extra vigilant when it comes to hiring.
Finding an engineer with the right technical skills for the job, the right level of experience and the right personality to complement the team can be onerous, but for Hwang’s team at Culver City-based Within, it’s been the key to their success.
What are the most important factors to consider when building a great software engineering team?
Having built four startup engineering teams from scratch, I can say that talent density is extremely important. I put a lot of effort into the recruiting, interviewing and selection processes. After the on-site interview, we ask the interviewers, “Does having this person join our team make us more excited to come to work every day?” If the answer is “no” for some of us, then we pass — even if it’s a technically strong candidate.
Later in my engineering management career, I also found team composition planning to be important. Taking personalities into account, I aim to build a strong team that gets along and motivates, challenges and learns from one another.
Did I mention good engineers are hard to come by? Celebrate and show them that they are greatly valued. We hold company-wide annual gratitude parties and holiday parties, and my team regularly dines out together at Korean barbecues, Ding Tai Fung and Roberta's Pizza.
People are most productive when they’re doing work they enjoy with people they like.”
What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?
People are most productive when they’re doing work they enjoy with people they like, so it's important to sometimes allow team members to take on new jobs and responsibilities, or in some cases, join entirely different teams.
As teams scale, individuals and teams can also get in each other’s way more frequently. Good dependency analysis, scheduling and project management is required so the larger team can work efficiently without losing agility.
A strong team culture can help bring out the best in a company’s engineers. For VP of Software Engineering Deepak Vashishtha, this means encouraging continuous learning, cross-functional collaboration, risk-taking and healthy debate. It also means finding the right people at the right time — a challenge every engineering leader faces.
To build his dream team at Playa Vista-based Core Digital Media, Vashishtha has adopted some creative approaches to hiring, where training and mentorship play a key role in molding high-performing engineers.
What are the most important factors to consider when building a great software engineering team?
Beyond factors like technical expertise and team composition, there are a few critical things I keep in mind.
One is a willingness to learn. We are in the middle of a large-scale transition to a microservices-based application, along with a migration to the cloud. Team members who are continually striving for new knowledge to help contribute to these projects make for great engineers.
Our engineers also need to be great team players. We have a strong culture of collaboration and communication. In order to be successful, engineers need to adopt these qualities and work across departments and teams.
A spirit of innovation is another important characteristic. Team members are expected to bring new ideas to the table, and we encourage them to take risks and experiment.
We also promote healthy debate for critical technical decisions. This helps to not only encourage a variety of thought processes, but also increases participation in arriving at a decision with more confidence.
Team members are expected to bring new ideas to the table.”
What challenges have you faced as you’ve scaled your software engineering team, and how did you overcome them?
The biggest challenge is to find the right talent in a timely manner. The market in LA is very challenging, and the same is true for U.S. and global markets.
To overcome this, we started hiring less experienced people and provided them on-the-job training and mentoring. We had good success with this approach, and it also provided a good mix of senior and junior engineers for the teams.
We’ve also taken our internship program seriously and take one or two students every year to train. A couple of them have gone on to join as full-time employees.
We’ve also partnered with an outsourcing company to help with talent needs to expand our geographic reach, while keeping teams, more or less, in the same time zone.