What’s the most important goal for you, as a business?
To increase revenue by 10% over the next two years? To increase your share in the market by 5%? To have successfully entered and conquered a new market by the end of the year?
Chances are whatever your goal is, you’ll need to grow your business to achieve it. To hit dizzy new heights you’ll need a bigger business that delivers better products or services with bigger, stronger teams to support it.
But growth is hard. It’s complicated, it can be difficult to sustain, and it always comes with a set of challenges.
Regardless of whether it’s a business, a team, or a product you’re scaling, you’ll likely face growth challenges such as:
- making sure you have the right people in place to support your growth;
- putting the right processes in place to carefully manage your growth and;
- harvesting the right culture to keep your growth on track.
Scaling engineering teams are no exception to these challenges. In fact, if you don’t carefully manage the growth of your engineering team, a scale-up can quickly lead to a scale-down: This would spell disaster for the overall growth of your business.
Want to know why? Want to know how?
And want to know what to do to scale your engineering team successfully?
Read this to find out how to scale up your engineering team without falling victim to the common challenges of growth:
- Why scaling engineering teams should be a key consideration
- 3 key challenges that come with scaling engineering teams
- Scaling engineering teams to avoid the pitfalls of rapid growth
Let’s successfully scale up!
Why scaling engineering teams should be a key consideration
In very simple terms, to grow your business you need to deliver better products or services to your customers, right?
But what does ‘better’ look like? And how does a bigger engineering team get you to this ‘better’ place?
Better = Meeting market demand
It might be that you need to build better products or services to meet market demand. Maybe your competitors are building new products, features and functionality or maybe your customers are demanding it. Either way, you’re probably going to have to bring in additional people to meet this demand. Maybe you need to hire software engineers with new skills or experience that your current team doesn’t have. Or, maybe you need more manpower to handle the increased workload that comes with delivering the new products, functionality or features.
Better = Improving what you’ve already got
Maybe you need to build better products or services because there are issues with the core product or service that you’re currently offering. These issues could be stunting your growth and holding you back. So, you might need a new set of engineers to come in and inject new ideas, alternative ways of working, and fresh perspectives into your stale products or services.
Better = Changing your internal infrastructure
Or, to be able to deliver better products and services, maybe you first need to migrate over to a new platform or change your whole internal infrastructure or setup. Maybe you’re planning to go from an on-premise solution to a cloud-based one? This is a move that is likely to cause a lot of disruption if it’s handled badly. So, you might want to consider hiring some experienced, talented engineers who a) are familiar with cloud migrations and b) know the new cloud-based platform, infrastructure or set-up well, so they can support the move and pass their expertise onto the rest of the team.
Regardless of what ‘better’ looks like, to be able to deliver it, you’ll need a bigger engineering team: Fact.
You’ll need a larger team that has fresh, new ideas, varied skills sets, and has the capacity and ability to execute these ideas and skills cost-effectively and support the direction you want your business to go in.
So how do you go about scaling your engineering team, then? Chuck a load of money in, hire a truckload of engineers as fast as you can, and keep your fingers crossed?
Scaling engineering teams is hard. Harder than you might think. Here are some key challenges to be aware of when it comes to growing your team too quickly.
3 key challenges that come with scaling engineering teams too quickly
“Scaling is not just about hiring people fast. Growing too fast without a plan runs the risk of increasing bureaucracy, decreasing productivity, ineffective communication, producing a bad product and creating a diluted company culture.”
When you scale engineering teams to support business growth, it’s tempting to ramp things up several notches and charge, full steam ahead with hiring new people, updating software, and using new tools or equipment.
This will undoubtedly get you a bigger, more dynamic engineering team that can build better products or services and push your business up the growth ladder, quickly.
The question is: Quick decisions and rapid movement often leaves you with little time to plan for things like new team structures, long term strategies, or new processes and ways of working. So is this type of growth sustainable?
“Businesses can run into various issues when scaling an engineering function. The issues can drain resources, reduce efficiency and increase the cost base.”
The answer is no. And below are three challenges that tend to go hand-in-hand with rapid, unsustainable growth.
Challenge #1: Old ways of working suddenly don’t work anymore
What worked for 5 engineers isn’t going to work for 50 of them. Old processes, ways of working and even systems and software won’t be able to handle the needs of a bigger team. If you scale rapidly and don’t have the time to put the internal structures in place that can cope with the fast influx of new people and increased workloads, they will crumble overnight.
“Houses built on sand’ springs to mind.
Challenge #2: Hiring the wrong people
To grow your engineering team, you’ll need to hire more engineers. Obviously. The good news is, that it can take somewhere between 2–3 weeks to hire an engineer. If you don’t mind who you hire that is. The bad news is that if you want to grow your business effectively, you can’t just hire any old software developer. The wrong developer can cause a catastrophic amount of damage to your business and they can be incredibly difficult to get rid of. Software engineering is a highly competitive industry. There are more and more available positions, but fewer and fewer decent applicants. And, with the average cost of hiring a developer coming in at around $4,129, you need to make sure that every new team member fits in perfectly and collaborates seamlessly.
Hire people that not only have the skill sets that your current engineering team don’t have, but that can also:
- Demonstrate an open mind and a team player outlook
- Communicate well
- Practice ruthless prioritization and pragmatism
Challenge #3: Communication becomes harder
Communicating your wider goals and objectives with a small team is easy and can almost happen naturally. Communication becomes more challenging as your team grows: You suddenly have more people that are looking to you for direction. You have to find new ways of constantly communicating in an effective way with more people that all have different ideas and different personalities. This is undeniably hard and is also why around 50% of workers don’t know what’s expected of them or their role.
When communication fails, it’s easy for teams to lose sight of what their priorities are. The focus on building and shipping better products or services will start to dwindle if they don’t understand exactly what’s expected of them and which direction the business is heading in.
Scaling engineering teams to avoid the pitfalls of rapid growth
We know that there’s a temptation for growth-orientated companies to want to scale up their engineering teams as quickly as possible. But we also know that there are huge risks associated with growing the team too quickly.
So what’s the answer? How do you scale quickly, but effectively?
Lay down the right architectural foundations:
To scale effectively, it's vital that you choose the right architecture to support your growth. The solution you choose needs to be something that can be universally understood and easily used by both new and existing team members. It needs to be able to handle the inevitable increase in demand and usage that usually comes with growth. And it also needs to be flexible and scalable enough to support future growth.
For instance, if you’re currently using a traditional, on-premise solution you might want to consider moving to a cloud-based one to support your growth. With on-premise servers, you can only use the resources that are there at the time. If you run out of storage space, you have to buy or rent more, which can be inefficient and costly if your business is growing quite quickly. Cloud servers can automatically scale up or down in real-time, depending on needs or usage. For example, something like AWS Auto Scaling will monitor all your applications and automatically expand or contract capacity to maintain optimum performance at the lowest cost.
Create accountability in the team:
When your business was in its first, early stages, I would bet my last dollar that decisions were made quickly, but perhaps a touch chaotically? Decisions are always easier to make when there are fewer people involved. You can move faster with a smaller, leaner team. There are fewer people to keep track of and it’s easier to see what’s going on because it’s happening right in front of your nose. When there are more people in your engineering team it becomes much harder to see what’s going on. So, you need to find a way to keep each person accountable for what they’re responsible for. They need to be open and transparent about the work they’re doing so you can see, at a glance the impact they’re having on the direction your business is travelling in. For example, if you’re using a cloud-based service like AWS, it’s a well-known fact that costs can be hard to monitor, predict, and control.
“AWS-based applications have entirely variable operational expenses, based on resources consumed.”
Things like data transfers and storage can often leave you with a bigger bill than you were expecting at the end of the month. This can quickly spiral if you don’t know why these costs are higher than anticipated and which teams are responsible. There are ways around this though. Tools such as Aimably Pulse will keep teams across the whole business updated with the latest expected changes every day. This way, engineering teams can put things in place to control and manage escalating costs before it’s too late at the end of the month. This increases accountability and transparency within the engineering team and gives you the visibility and reassurance you need to see, at a glance, what’s going on.
Find cost-effective ways to scale:
Hiring new people, and introducing new systems to handle the expanding team's needs is a necessity. But, if you’re not careful, instead of these new people or systems making the team more cost-effective, they can actually do the opposite. You need to find a way to get these new people and tools to work seamlessly together. For example, if you make the decision to go from an on-premise infrastructure to a cloud-based one, but the new team of engineers you’ve hired don’t understand the pay-per-usage cost implications of using a cloud-based solution, you could rack up costs, quickly. A tool like Aimably Insight can help with this. This tool gives engineers access to a detailed spend report that they can use to understand the day-to-day changes in their AWS spending. They can start to see where the variances in spending are, what’s triggering them and where the opportunities for improvement lie, in real-time. This allows them to make the best, cost-effective decisions as they go and as you grow.
Scaling engineering teams effectively to avoid the pitfalls of growth is about building resilient systems and ways of working that pave way for continued and sustainable growth.