This in-depth guide has two main parts: Recruiting the best software engineers when you're growing fast and Strategies for scaling engineering teams. In the first section, we’ll discuss the fierce competition that exists when it comes to quality talent, and offer a few strategies for finding good senior software engineers and having a healthy talent pipeline.
The second section dives into the challenges of scaling software engineering teams. Here, we will share our experience and expertise in scaling engineering teams the right way.
Note: This is the third part out of three. To check out the first part, "The Ultimate Playbook for Sourcing Engineering Talent Fast,"go here. The second part, “The Ultimate Tips for Hiring Engineering Talent Fast,” is available on this link.
Interested in more information like this?Get updates
How to Recruit The Best Software Engineers When You’re Growing Fast
There’s fierce competition out there.
Companies are competing with each other to recruit the best senior tech talent.
Hiring tech talent is especially tricky for companies without an established, prestigious brand. If you're not Google, it's ridiculous to think you can compete with the salaries that some of the big players are offering, so if you are asking yourself how to recruit great engineers, you have to get creative.
But the good news is that engineers are always looking to switch jobs. You just have to find ways to attract their attention.
It might be time to revise your recruitment strategy if you’re having problems with finding good senior software engineers and having a healthy talent pipeline.
Here are a few ways to improve your recruitment efforts!
Adopt a More Untraditional Approach to Hiring (move with the times)
Let's speak honestly for a minute: educational background and past experience are no longer effective filters for scaling engineering organizations and what constitutes good tech talent.
You need a more modern lens by which to identify great talent. Removing the need for a computer science degree for a technical role deepens the pool of qualified candidates. Today, you don't need a computer science degree to learn how to code, and it's not a meaningful indicator of who will make a great engineer.
Some leading tech companies have already adopted a more modern recruitment approach. Currently, companies like Google and Apple no longer require a computer science degree for technical roles.
An individual's past industry experience shouldn't be a barrier to hiring tech talent either. For example, MedTech companies often look for senior engineers with past experience in the medical industry in an attempt to speed up the onboarding process as these engineers can quickly adapt to the industry and learn the regulations. The downside of this approach is that requiring industry experience can reduce the talent pool significantly. Regulations can be easily learned, so if a senior engineer fits all the job requirements, they shouldn't be kicked out of the pipeline. Even people without the proper industry experience can turn out to be a great fit.
Meet Tech Talent Where They Are (engage with them in their natural habitat)
Here's the thing: senior engineers are usually paid well, dabble in exciting hobbies, and know they're in high demand. Reaching out to them via Linkedin won't do the trick.
What can you do to attract their attention?
The first step is to learn where your perfect candidates spend their time. Once you know their frequent platforms, you must engage with them in their natural habitat. Here are a few places where you can find qualified tech talent:
- Twitter. Twitter is the natural habitat of many engineers, who often post about the latest tech trends. If you want to catch their attention, start following them on Twitter and reshare their tweets, or even send them a DM.
- Blogs and online technical postings. Engineer blogs are another fantastic source of high-quality candidates. Technical posts often suggest a mature level of technical expertise and understanding, so in a way, this candidate is already vetted without even a proper interview.
- Open source code contributors. Looking for candidates on sites like GitHub and SourceForge lets you evaluate a candidate's code samples before reaching out with an offer.
- Conferences. Attending conferences is an excellent opportunity to mingle with ambitious and experienced engineers. You may even organize an event where you'll present your company and invite people to leave their contact info. Speaking at these conferences will make your company more easily visible.
- Public Slack communities. Slack communities that are focused on programming discussions are another way of finding engineers active in the tech community. However, in order to browse these channels, you'll have to join first. If you have trouble finding relevant communities, here's a list of 46 Slack groups for developers and a list of 400 Slack Communities.
- Tech talent networks. You'll be surprised to learn how many qualified candidates hide in tech talent networks. Talent at such networks has undergone a rigorous screening process that analyzes their technical skills, aptitude, and personality. Here, you can find talent with diverse skillsets, from front- and back-end engineers to mobile developers and QA engineers. You can hire full-time or part-time contractors, scale up and down as needed, and work with 100% remote talent.
Speak Their Language (it's not Klingon)
When one engineering leader asked r/cscareerquestions and r/programming some recruitment-related questions, the answers were a bit disappointing. When contacted by recruiters, engineers respond only about 2–10% of the time, and many of them rarely respond.
When asked, “When you don’t respond, why is that (most often),” some of the answers included things like "mismatched skillset," "spam messages," "mismatched level of experience," "off-putting language," and more.
Looking at the statistics, we can safely conclude there's a strong mismatch between recruiters and software engineers.
What should recruiters do to improve their strategy?
A few things. Here are some of them:
- IT recruiters should be well-versed in tech terminology. They shouldn't confuse basic things such as front-end and back-end technologies. Additionally, they should be educated on the inner workings of the technology they're hiring for and be able to discuss any technical issue. Recruiters that don't understand the technology stack can cause unpleasant emotions in engineers, thus increasing the distrust engineers have towards recruiters.
- When reaching out to engineers, avoid using phrases like "rock star developer" or "code ninja." Phrases like these raise red flags among software engineers and indicate the recruiter hasn't thought about the exact role the engineer will fill, leaving engineers feeling this is a job with ill-defined requirements.
- Instead of writing dull and overused terms that sound like spam, put together personalized and relevant emails. Get straight to the point. Explain the position you're hiring for in a straightforward manner. Also, don’t shy away from including a few tech terms here and there. Engineers appreciate recruitment specialists who know what they’re talking about.
Create an Employee Referral Program (or optimize your existing one)
According to the 2017 Stack Overflow Developer Hiring Landscape report, 26.8% of developers got their current job through a recommendation from a friend, family member, or former colleague. This statistic only confirms the importance of your employees' networks when recruiting new talent. And one of the best ways to maximize the potential of these networks is by creating an employee referral program.
Employee referral programs come with many benefits. For one, they help you target passive talent that makes up the majority of available talent on the market. Although most software engineers are passive candidates, most are still open to new opportunities. What's more, referral hires are high-quality hires. These hires come with a lower turnover rate and a higher retention rate. Even better, referred candidates take the shortest to recruit and onboard.
If you're looking for some best practices for creating an effective employee referral program, here are a few:
- Offer incentives. Although your employees might only be interested in helping their friends and the company, it's always a good idea to offer incentives for recommending good talent. Incentives don't have to be in the form of a monetary reward. You can offer things like paid time off, gift cards, or even a donation in their name to an organization they care about.
- Create a system for referring people. Make it straightforward for people to recommend candidates. For example, you can give everyone in your company access to add talent to your ATS. Even better, create a unique link to your application form for each employee and easily track the referrals in your applicant list. Offer email and social sharing templates they can use to promote your open roles.
- Share job openings internally. If you're hiring for a position, let employees know by sharing the job posting via email or on Slack.
- Always accept referrals, even if there's no vacancy. Although you might not be hiring for that specific position at the moment, it's good to have candidates with that particular skillset stored in your system so that you can reach out as soon as the position opens. The referred candidate should be informed that there's currently no vacancy for that position, but they will be contacted when the position becomes available.
- Keep the referring employee up-to-date with where the referred candidate is in the hiring process. The referrer should be notified as the referred candidate moves along the hiring process. Employees deserve to get feedback about the strengths and weaknesses of the candidates they refer so they can keep bringing good talent to the company.
Improve Your Careers Page (tell your story)
A career site is an online hub that gives visitors a clear picture of your company and its culture and lets them apply for specific jobs. It's a great way to attract top talent as people can learn about your company without having to interview first.
If you already have a careers page or are in the process of creating one, you want to design it so that it gets engineers interested in your company. Here are a few ideas:
- Describe your company. Introduce your company in an interesting and engaging way. Tell candidates who you are, what you do, and why you do it. Share your company's mission and vision in an easily understandable way.
- Explain your core values. Your core values are your company's identity as an employer. Share them on the page so that candidates who share the same values can be enticed to join.
- Don’t just advertise open positions. Explain why engineers should choose to work at your company rather than elsewhere. What does your company offer that others don't? In addition to compensation and traditional perks and benefits, talk about career development opportunities, flexible working options, work/life balance, team building events, and more.
- Make sure the careers page reflects the values and preferences of the engineers you’re looking to hire. A good strategy would be to talk to your existing engineers. Let them educate you on what would entice engineers to become part of your company. Would specific technologies, languages, or processes make a job more attractive?
- Include employee testimonials and quotes. For example, people tend to trust colleagues' opinions more than the company's CEO. That's why it's always a good practice to include employee testimonials and quotes so that people can hear what it's like to work at your company and the perks that come with it.
- Explain the steps in your hiring process. How long does the hiring process at your company take? How many interviews can the candidate expect? Ensure your career site contains a clear, detailed explanation of your hiring process so that candidates know what to expect every step of the way.
- Invite people to join your network. Even if you currently have no open positions, give people the option to join your talent network. For example, they can sign up to receive job alerts, company updates, industry news, career advice, etc.
Have Full Transparency in Job Descriptions (it's a trick for finding better-fit candidates)
Here's the truth:
Many high-quality candidates automatically ignore job listings that don’t list a salary range, even if they include phrases like “competitive” or “top dollar.” There's a strong belief that these companies are always the ones that pay the least salary.
With that said, if you're not posting your salary range in the job description, you're missing a large pool of good talent that will end up working elsewhere.
On a similar note, job seekers also want their potential employer to provide a thorough and honest description of the advertised position – the duties, the challenges, and the requirements. In addition, job seekers also want straight answers when it comes to benefits and perks.
This openness and honesty in hiring is called transparency. And it's critical for the hiring process as it can establish a high level of trust between the employer and employee. Additionally, employer transparency during the hiring process can be critical for employee engagement with the new hire.
Let's sum up:
- List the qualifications needed to perform the job.
- Include job requirements in every area (experience, education, training, certifications, mental abilities, etc.).
- Post the salary range.
- Let people know if you offer benefits like remote or hybrid work options.
- Explain the benefits.
- Tell the candidate about the technologies they’ll be working with.
7 Sure-Fire Strategies for Scaling Engineering Teams
Having a small engineering team has its perks.
Smaller teams of intelligent, qualified, motivated people can often collaborate and communicate better than bigger ones. Not to mention that small teams have built some of the most game-changing technologies. But every company strives to grow, and growth means hiring more people and establishing more complex processes.
Whether you're a startup that has just received funding or you're building more features to complement an established product, you now face the challenge of scaling your engineering team.
Scaling an engineering team is not exactly a walk in the park. It involves careful planning to ensure there's no disruption to the company's activities and the revenue remains unaffected. On top of everything, you want to protect your company culture and existing employees from leaving.
Here's the harsh truth:
Scaling an engineering team doesn't only entail hiring the right people. It's also about developing your existing talent, refining your processes, and enabling smoother communication.
With that said, here are some best practices when it comes to scaling your engineering team the right way:
Identify and Hire the Right People (hire externally + promote from within)
The best strategy for engineering scaling quickly is to scale teams with a balance of external hires and internal promotions.
Promoting your best engineers is an excellent strategy for retaining your best talent. Experienced internal engineers deeply understand your business, engineering teams, and structure.
On the other hand, external talent can bring fresh thinking into the company to prevent stagnation of culture and ideas. Hiring experts from other companies can help you identify blind spots you were unaware of.
In terms of hiring external talent, here are a few tips:
- Hire people with a growth mindset. People with a growth mindset will become more talented over time. They continually want to improve themselves, and this can benefit your company. These individuals enjoy challenges, strive to learn, and seek the potential for developing further in their roles and careers.
- Hire specialists and not generalists. When you're part of a small company that's early in its development, hiring people who are jack of all trades or generalists makes more sense. Your company needs these people as they're not afraid to perform different tasks at this stage. For instance, a software engineer might code in a few languages, both front-end and back-end, and test their own code. But once your company starts to grow, you have to have more structure on your team, and there must be more boundaries to what a role entails. Instead of generalists, you need people who are specialized in their field. For example, you want to hire people specializing in iOS, Laravel, QA, etc.
- Hire with inclusion and diversity in mind. When hiring with inclusion and diversity in mind, you're opening the door for people from underrepresented backgrounds. You'll be offering equal opportunities to tech talent everywhere. You'll also dramatically expand your talent pool.
- Constantly make changes to your interview process. We won't dive into the interviewing process in detail but want to mention the importance of continually evaluating and refining the interview process. One way of checking the efficiency of the process is by tracking new hires' performance 6 or 12 months after joining the company. If you notice that many of your new hires are performing poorly, this is a sign your interviewing process needs refining. For example, you may experiment with pair programming, take-home assignments, whiteboard interviews, etc. Don't be scared to experiment with different interview approaches to see which one yields the best candidates.
- Work with contractors. One method for scaling up your engineering team faster is through contractors. You'll manage to onboard highly specialized people in days instead of months and stay within budget. On top of that, you're providing opportunities to engineers in places where local jobs might not be as lucrative. Contractors can be a valuable strategy when a project is urgent, and you need the expertise, but you aren't sure whether you'll need this increased capacity in the long term.
Develop Your Talent (to avoid stagnation)
We talked about hiring the right talent, but how do you retain that great talent and continually help them grow?
You focus on career development.
In other words, you want to ensure people have a pathway in your company. Unless you provide opportunities for growth and development, employees will stagnate and stop learning and growing. The more ambitious talent may find working at your company doesn't challenge them anymore and decide to jump ship to pursue more challenging opportunities.
Here are a few tips:
- Build your own in-house talent segmentation framework. You need to look at each engineer and ask yourself a series of questions: How are they doing relative to their peers? What does their growth potential look like? Answering these questions will help you understand how each person is performing and what their potential looks like for the future. It can also help you decide what action you need to take based on how you segment your talent. For instance, developing an engineer that's an industry talent requires a different approach from developing an engineer performing more poorly than their peers.
- Help engineers understand what career progression looks like at your company. To get the most out of your existing employees, you need to help them understand what career progression looks like at your company. Consider introducing levels at the company and explaining what each level entails and what it takes for an engineer to progress to the next level for each discipline. Ensure you communicate the pathways and requirements for each type of role, such as engineer, QA, DevOps, etc.
Hire/Develop Engineering Managers (learn how to identify leaders)
You might need to hire engineering managers to lead your tech teams when growing from a small team to a large one.
Engineering leadership is critical. Engineering managers create and enforce ground rules like coding standards and methodologies that ensure you build a high-quality solution.
Instead of hiring external experts immediately, consider promoting your internal talent into engineering managers. If you jump to hiring external managers without considering your internal talent for those positions first, your existing employees might feel disappointed in not having the opportunity to lead.
But how do you know which employees in your company are potential leaders? Identifying managers can be challenging, as technical proficiency doesn't always translate into managerial excellence.
Here's how to spot the leaders in your company:
- They have an ownership mindset. A team member that takes ownership of projects may be a good fit for a leadership role. Such employees can deliver fantastic results with minimum supervision and guide others to achieve common goals.
- They take the initiative. Look for employees who take the initiative to grow and develop inside and outside the workplace. For example, pay attention to employees who want to take on more challenging projects and tasks, participate in educational workshops at your company, and constantly seek professional opportunities. Suppose you notice an employee who takes the initiative on a task instead of waiting for you to give instruction. In that case, this person is confident in their decision-making and can handle higher-level work. You also want to look for employees who invest in their long-term future by pursuing other educational opportunities, getting an MBA, etc.
- They have great communication and listening skills. All the best engineering managers are exceptional communicators. They know how to give feedback, convey ideas, give instructions, and mentor other people. Great leaders also know the importance of active listening. Look for employees who don't interrupt others while speaking, are actively engaged in conversations, and understand the situation.
- They offer solutions to the problem. Another trait to look for in potential leaders is the ability to provide solutions to a particular issue or challenge. Instead of complaining about the situation or panicking, they bring suggestions for how to solve it.
- They want to take responsibility. These people go beyond their defined job role and take on more duties at their own initiative. These employees will ask many questions to increase their knowledge and do more than the bare minimum of what their role entails.
- They are great mentors. Look for employees in your company who are actively mentoring other people. These are the people who help newcomers adjust to their new roles by providing them with ongoing support and guidance. These can also be the people in your company that hold workshops, webinars, etc.
- They are team players. You need people who can work well with other team members. "Team players" have excellent communication, collaboration, active listening, and problem-solving skills. They contribute to their team to complete tasks, meet goals or manage projects.
Training your engineers to become engineering managers is also critical. Engineers interested in a management role should receive formal management training before becoming managers. For example, you can host workshops that people can take classes in. Some companies have a professional development program where people get a few thousand dollars a year they can spend on classes for self-development. Working with mentors can also be critical for developing the skills required for the job. Mentors can give a lot of directive advice and coaching on how to do something. The new engineering managers should get ongoing coaching and feedback from other engineering managers in your company until they feel confident in their new role.
Additionally, make sure you clearly define the responsibilities of an engineering management role. Engineers that jump into an engineering management role without knowing what to expect can easily burn out. If you fail to find suitable people for the engineering manager position from within the company, you should look for that talent externally.
Onboard Fast (to have your engineers contributing as quickly as possible)
When scaling your team, getting new engineers up and going is critical. You want your new engineers to start contributing soon after joining the team. For this to happen, you must have a streamlined onboarding process. Remember that you'll be hiring in larger quantities, so you must be ready to onboard at scale. Build a streamlined onboarding process and have every new hire improve it so the next person has a better experience.
Here are a few quick tips for a fast onboarding experience:
- Provide clear expectations. Let the new hire know their responsibilities in their new position. Inform them of their working hours, modes of communication, weekly meetings, etc.
- Ensure the new employee receives the proper documentation. If there's any paperwork to be signed, send it before their start date. Invite the new hire to access your project management systems, chat apps, email, learning management systems, etc.
- Provide access to training materials. Training materials are critical for a fast onboarding process. Make sure you send them over to the new hire before their first day on the job, whether it's videos, plain documents, guides, or slide-based courses.
- Schedule a meeting with the team and the team lead. Make the new hire feel welcome by introducing them to the team and the team lead. This can happen on a group video call, for instance. Another idea is to send a new hire announcement on Slack.
- Invest in a knowledge base. Creating a knowledge base might be a good idea if you're a larger company with multiple products and processes. The base will act as a central hub for storing, maintaining, and sharing employee knowledge. New employees can access the knowledge base whenever they need to perform a particular work task or learn a specific internal process. The knowledge base can also contain the training materials.
- Assign a buddy. Consider assigning a buddy who will be the new hire's go-to person for everything work and culture-related for at least a few months.
- Assist until they adjust. Don't forget to hold regular one-on-one meetings where you'll share feedback, discuss difficulties, celebrate milestones, and more.
Think About How You'll Structure the Team (hint: the microservices approach)
A team of 20 engineers needs a different structure than a team of 5 engineers. It would be best to plan how you would structure your teams so that each can scale and multiply as needed. Everyone needs to know their role and to whom they report.
One of the best strategies to maintain release efficiency is adopting a microservices approach for your teams. This approach involves creating smaller teams comprised of a few skilled people, overseen by a manager, to get the deliverables off the ground. Each team is working on a separate feature and has to deliver a set of tasks within a given time frame. Collectively, each team is working towards a common company goal. The leaders of each team collaborate to define a cohesive direction for the product.
Additionally, you may want to have an upper-level manager overseeing each team and gluing the teams' outputs together.
Create the Necessary Processes (to maintain quality with minimal supervision)
When you have a small team, trying to standardize your processes can feel forceful and limiting to your employees. However, once you grow, you must define and communicate processes so that deliverables maintain the same quality, even with minimal supervision.
Consider creating documents that show employees how you expect tasks to be completed. This will help your engineers write better code quicker and be more independent and flexible. You'll maintain the quality of what you're building and speed up new hires' onboarding process.
The first step is to document your processes and share them with everyone on the team. The documents will serve as a foundation for building and refining your engineering processes. You and the team can iterate on it to improve as needed, creating a positive feedback loop.
For a smoother collaboration, use tools like Google Docs, Confluence, and GitHub. You can create an internal knowledge base using a knowledge base software.
Retrospectives can also be a great tool for creating a culture of self-accountability and self-improvement. These meetings are one of the best tools for letting your team grow and learn, and they can help you scale the team more easily.
Although many teams see retrospectives as a waste of time, your team members need to be coached to see the value of such meetings. In short, retrospective meetings are an opportunity to iterate and improve your engineering process by analyzing what worked well and what needs to be improved. You'll identify deficits in your process and make the necessary changes to ensure what you're building is of high quality.
Enable Smoother Communication (to boost employee morale and engagement)
When you have a team of a few people, communication is easy. You can quickly get on a video call or exchange a few emails. There's a stronger alignment in goals, vision, and tasks. Everyone knows pretty much everything that's happening on a company level.
But once a team grows from 10 to 100, employees become less connected. There's an immense amount of information circling the company, and nobody can know everything that's happening inside the company.
Often, employees in team A won't have an idea of what team B is doing. Communication becomes more challenging, so you'll have to find ways to enable smoother communication between teams.
Here are a few ideas for how to keep that small-team feeling as you scale:
- Document your values. As you scale, you must invest in culture. Incorporate your values into your processes and keep them documented. For instance, you may have a culture of giving recognition, but it's not written down. As more people join the team, you want them to be well acquainted with these values so they can start practicing them as soon as they join. Documenting your values makes them more easily shared.
- Educate new leaders on your culture. As new leaders join the company, you want to ensure they understand your core values and add to your company culture. Educate new leaders on the values and culture of the company so that their leadership style fits your company culture.
- Establish healthy communication habits. As new members join the company, make sure they understand what communication habits work best for everyone to be informed, engaged, and well-connected with other team members. You may want to establish best practices for when synchronous communication works best, and which remote engineers asynchronous communications best practices for engineering teams are better practice.
- Bring more structure to meetings. Knowing what will be discussed during a meeting helps participants better prepare and ensures the discussion doesn't go off the rails. Use meetings to discuss issues, roadblocks, and action items. Don't forget to type in the meeting agenda when you schedule the recurring meetings so your attendees can easily reference it.
- Organize more fun events. Activities like team-building games and coffee chats can be a fantastic way for employees to break the ice. Online games for virtual teams can be played using various tools, such as Slack, Zoom, Google Hangouts, Google Docs, Confluence, or PowerPoint. The organizer usually decides whichever tool is most convenient for the entire team. Such activities are both fun and practical. Employees get the dose of entertainment they need, but at the same time, they learn how to collaborate in a more concrete way.
In this guide, we provided first-hand strategies for recruiting the best tech talent and scaling software development teams. We say how adopting a more untraditional approach to hiring can expand your talent pool. We also dicussed how strategies like creating an employee referral program and improving your careers page can get people interested in your company.
The second part of the guide focused on strategies for scaling an engineering team. We proposed seven rock-solid strategies for scaling engineering teams without disrupting your company's activities and unaffecting your annual revenue. Some of the strategies we recommended included hiring the right people, developing your talent, and creating the necessary processes to maintain quality with minumum supervision.
Hopefully, this extensive guide will help you recruit high-quality talent and scale your engineering team in the shortest time possible with zero business loss.
Interested in more information like this?
Share your email so Adeva can send you updates on payfacs, guides, and industry news.