Scaling engineering teams is a lot of hard work. And as a software engineering team manager, you’re probably familiar with the layers upon layers with no end that seem to come with it.
One of the arduous realities of this process is that things you used to do as a small software engineering company and team leader stop working, as your engineering teams scale up.
Processes start breaking, including those related to delivery, the way you do project management, the way you communicate, and many more. Adapting and evolving these processes as you’re growing is the biggest challenge you have to solve for your engineering organization structure.
A growing company is going to be in need of a growing engineering team, in order to keep up with the demands of the role. And the truth is that what works for 10 engineers may not work for 50 or 1000 of them. When scaling engineering as a team leader, it’s important to build a culture of feedback and iterative thinking that enables you to continually make changes as you grow.
This article will be structured in 3 sections, focused on how to build, structure, and scale an engineering team that works smart, not (just) hard.
We’ll address the most critical issues in each section and how to overcome them—challenges around engineering team structure, maintaining a productive culture, building resilient systems, and adjusting engineering processes for a productive and performant engineering department organizational structure.
Building a successful engineering team is no easy feat, but scaling it for performance is a totally different ordeal. Many organizations feel this shift at about 20 engineers—but will bump into it over and over again across the company growth process.
While scaling engineering is a reality we’re all faced with at some point in a successful software engineering company, there are certain dangers to doing it the wrong way.
Specifically, there’s a temptation for fast-growing companies to build their engineering team as quickly as possible, without taking into account steps that are critical to the success of the process. Risks that are associated with rapid growth include—but aren’t limited to—diminishing impact per engineer over time, creating silos, and limiting your ability to change how you work quickly, to respond to changing customer needs.
Many times, the process of scaling the team proves to be what makes or unmakes a software engineering startup. This is due, in part, to factors such as:
Let’s take a closer look at how you can address each of these challenges and more, and how Waydev can help you visualize and track progress along the way, so you can hit all your scaling engineering goals.
The first stage of scaling engineering is designing the process to bring people on board, decide if they’re the right people for the job, and set them up for success. Here are a few types of challenges you can expect at this stage.
Problem: Software engineering is a highly competitive industry, with more and more available positions and fewer relevant applicants.
The Society for Human Resource Management (SHRM) estimated that the average cost of hiring is $4,129. And that doesn’t include the working hours that will be spent by current employees training the new hires.This means that every team member needs to fit perfectly and collaborate seamlessly, which is very unlikely if you don’t give the needed attention to the hiring process.
You can’t afford to cut corners regarding the time and money you require for finding the best fit for your team. Giving into the pressure of making a quick hire will only cause you to lose more money.
This, along with the fact that hiring at speed increases the chances of making mistakes in a potential product engineering organization structure, means that a small or even medium-sized company can’t compete at the same market rate as big ones.
Solution: Start by reevaluating your hiring process. Hire for culture first, skills second. You can develop competency, but it’s very hard to change character. Look for:
Next, if you’re currently developing job descriptions based on your experience with successful team members, you should know that this isn’t a good long term recruiting strategy. Instead, you should look to hire engineers that have skills that complement those of your team.
This will tell you more about how new employees contrast with the existing members of the team, whether they can cover their teammates’ weaknesses or, on the contrary, accentuate them.
Problem: Working on attracting, retaining, and growing top software engineering talent has become increasingly difficult and requires more and more resources and attention from team leaders.
On the candidate’s side, joining a high-growth software engineering company can be an intimidating experience, and without guidance, new hires have to work twice as hard to learn what they need to be productive.
Solution: Create a solid onboarding process and set principles and practices for your team. The first few months are critical for new hires. And if you’re going to hire many people in a year, you need to be ready to onboard at scale.
A solid onboarding process will help new hires build bonds much faster and make them feel like they have what it takes to become a valuable member of the team. It also means your organization will have a replicable system that will give the new hires all the information needed to have a great experience.
Make sure your new team members are aware of their next milestones and don’t forget to document and share their onboarding process. This will help you build a stronger onboarding process, then streamline the pipeline and have every new hire add to it, so the next person has a better experience.
As a team leader, you can also assign every new hire a “buddy”, someone to help them understand and navigate the organization and the tech stack. Likely, there are many things undocumented at any point in any organization, so a buddy can help.
The second stage of scaling engineering teams is figuring out what everyone’s supposed to be doing and helping them understand the context. You can expect these challenges to rear their collective heads during this stage.
Problem: As your company grows, so do the needs of your engineering department organizational structure. Relying on a few very knowledgeable people to manage the teams quickly becomes no longer scalable.
This is exactly what happened in the early days at Atlassian, as Sri Viswanath, CTO explains: “we had several setbacks when heroes weren’t on [the necessary] teams or hit their limits in terms of complete mastery over sprawling systems.”
Solution: Choose the right structure for your organization. Atlassian chose to start organizing into smaller teams, which proved to be a more efficient solution for them. Instead of relying on those few hero individuals, they found a pattern for how they designed and built software and then organized into smaller teams with more autonomy.
Amazon faced a similar scenario. Their key idea was mitotic scaling. Teams are divided into smaller groups, fully preserving the continuity and functions of the mother teams. Smaller teams means that communication is much more effective, they remain decentralized, independent, develop faster, and are capable of achieving more innovations.
Amazon is committed to fully automating all processes (build, deploy, determine transfer, etc.). Within each deployment, several different types of testing are used: integration, browser, web, and load. Thus, everything is controlled and measured.
Problem: The things you used to do as a small company stop working as your engineering teams scale up. The best processes in the world won’t work unless you have a team that is open to giving them a try.
Solution: As a team leader, start collecting and sharing context with your team, so the rest of the company understands the business case behind every project and why it’s performed as it is.
As you set your internal software engineering goals, also define what your people should know about the product, the existing tech stack, shortcomings, and the benefits. Help them ramp up, so they start taking ownership of it.
Clearly define your team’s objectives and then empower them to define their own path to achieve the outcomes on their own terms.
Problem: You can’t know if you’re succeeding—or at least getting better—without measuring your team’s activity.
Going in blind, without a proper way of measuring success, means you won’t be able to properly determine focus, foster mentorship, sustainability, and collaboration in your organization.
Solution: Create a data-driven culture by visualizing and tracking your engineering teams’ progress on goals and objectives over time. You can use Waydev’s Development Goal Tracking features to see how they perform compared to the previous sprint, month, or quarter, understand their work dynamics, and identify data-driven coaching opportunities.
Next, review these metrics together with your team every week, celebrating progress and learning from the failures without judgment. Spend time measuring and optimizing team health, making sure teams have the tools and the motivation to work together effectively.
Waydev includes all the tools and custom reports needed to clearly set and smash your team goals. Using these types of tools drives trust and a continuous feedback loop that improves collaboration and product outcomes.
Problem: Many team leaders struggle with balancing training and mentoring new hires with allowing tenured team members to continue contributing to projects at a productive and performant rate.
Solution: Coding and mentorship don’t have to be two distinct efforts that necessarily need acute measures of balancing.
Having a scaling mindset means building peer programming into your teams for this very reason, and making sure that all critical components of a project have both people who need mentoring, as well as people who can offer it.
The third and final stage is evolving the organization, along with your teams. As you start growing, you need to start shaping aspects such as levels, career paths, growth frameworks, a feedback culture or performance review frameworks. Each of these come with their own challenges.
Problem: As a team leader, you don’t exactly know why you need to scale, you’re just doing it because others are too. Adopting the principles and practices used by other successful companies can be tempting, but not necessarily productive to your own company background. What works for some organizations might not work for yours.
Solution: No matter the needs of an organization, a good leader will always have in mind the organization’s particularities when implementing new practices.
You have to look inwards to find why you need to scale your team and the scaling nature. Is it a case of expanding into a new, unfamiliar direction that requires expertise that your company doesn’t have? Or do you just need more people for a department, in order to increase its capacity?
Problem: As organizations scale, so does internal structure. Management develops different layers and the teams tend to grow horizontally, which makes keeping individuals aligned with the company’s goals increasingly challenging.
Solution: As a team leader, it’s your responsibility to create empathy and awareness of the challenges that different pockets of the organization experience.
This task starts creating organic alignment and helps the organization start to feel like a team going in a unified direction.
Problem: There is no way to tell if your team has made any progress if you never start evaluating and assessing your teams’ performance.
Solution: Use Waydev to keep track of the output from all the platforms your engineering teams are using. You can gain relevant data on developer progress and performance at an individual or team level, by aggregating all your engineering teams’ stats in a highly customizable report. Sort, filter, search, and download to fulfill your needs.
Problem: 50% of workers don’t know what is expected of them or their role. Without setting clear expectations, you might leave your employees lacking a clear direction. And with no challenge to evolve, scaling your engineering teams might not yield the desired results.
Solution: Translate uncovered opportunities to action by setting measurable targets within the Waydev application.
One of the functionalities that Git Analytics tools such as Waydev offer is the ability to set targets for each level of granularity—from an individual level, up to the one of the organization.
As a team leader, you need to know the strengths and the weaknesses of your team. As someone who has managed similar projects, you can estimate what can be done in a certain period of time. Doing so will ensure to keep your engineers focused and reduce frustration among team members. Visualize and track progress to hit all your goals, in a non-disruptive manner.
Setting expectations is a critical part of scaling engineering teams. At the same time, you have to keep your engineers accountable and give them constant feedback regarding their performance. Here’s how to do that.
A growing number of engineering leaders have chosen Waydev to help them visualize and track their engineers’ progress on goals and objectives over time, see how they perform compared to the previous sprint, month, or quarter, understand their work dynamics, and identify data-driven coaching opportunities.
Waydev can shed a better light on your scaling process, show you what’s working and which areas could use more of your attention. Our Development Goal Tracking feature includes all the tools and custom reports needed to clearly set and smash your team goals:
The flexibility of the custom reports you can create within Waydev allows you to build visualizations unique from the default app reports, to help you understand data in ways that can cover everything from a new process change, to ramping-up a new hire, department restructuring, and more.
Curious to know what your Custom Goals Reports look like? Set up a meeting with one of our Waydev scalability experts and book a demo to see for yourself.