If you're in an engineering leadership position like Engineering Manager, Director, VP, CTO, one of your main responsibilities is to grow your engineering team. Senior Software Engineers are a precious resource for your company. That being said, the minute you have several positions open, you realize that hiring is an involved, slow, and expensive process. This post has several solutions to increase your headcount.
Hiring a full-time employee is very hard. Especially in the technology field. The reason behind it is that there are many more jobs than quality candidates available in the industry. Despite the companies offering jobs, the reality is we’re at the mercy of the decision of a great candidate due to the law of supply and demand. Scarcity gets higher, the higher you aim for the level of your hires. Great senior engineers are either not looking for a new job or have multiple job offers quickly when they start looking. This in turn leads to higher competition between companies. The company offering the best perks, the highest salary, and the most interesting projects to work on wins the best candidates. In addition to it, there are companies like Google and Amazon who just pay more than anybody else which is hard to compete against.
There are several solutions to this problem. Each has its pros and cons. Let's go over it.
A great full-time employee is a company asset. With some effective management, you should always see some opportunities for leveling up your full-time employees. During your one on ones, ask some questions about what goals your engineers want to achieve. Everyone has some opportunities for improvement. Going to conferences, learning new technologies, giving a technical talk at a local meetup, or improving leadership skills are just some examples. Keeping your employees engaged and growing them professionally will go a long way. On another hand, growing employees takes time. There is also a risk of your employees leaving your company taking the fruits of your labor with them.
Junior engineers can offer a fresh perspective to an existing team of seasoned engineers. With the right mix of senior and junior engineers, it creates great team dynamics. Senior engineers are excited to share their knowledge and the junior engineers can keep the senior engineers accountable for producing a lot of business value despite their senior level. Needless to say, there are a lot more Junior engineers available on the job market than seniors. On the downside, growing junior engineers also takes time. In addition to it, you can only take it so far, hiring too many juniors hurts your team. Once your team becomes Junior heavy you start spinning the wheels where your senior staff spends most of the time handholding, unblocking, and mentoring juniors instead of improving your system architecture and processes.
Contractors come to your team already equipped with the latest software, hardware, and the knowledge of building similar products in the industry. Due to working on multiple projects in the past, contractors can identify and address some potential scalability concerns before they become real issues. A reputable contracting firm comes with a pool of engineers allowing them to take on larger projects than individual contractors. In addition to it, a firm has specialists with complementary skills like designers, product managers, QA engineers, etc, which helps them to execute quickly and efficiently on a broad range of tasks. On the downside, contractors are not your full-time employees, and you need to make sure they work with you the way you prefer. If you would like to enhance your existing team with some additional resources, then Staff Augmentation is a great option. This way your team enhanced with some contractors moving in lockstep. If you prefer more of a hands-off approach where you give your contractors a project and the work is performed outside of your development cycle, you want to make sure you still own the end product. It's easy to hand off a project and discover that what was built is not something you wanted.
If you would like to convert a contractor into a full-time employee, a contract to hire arrangement is for you. Such an arrangement come in different shape and form. If you're looking for a full-time employee and you would like to get a feel of how it is to work together with a candidate, you can hire a candidate for several months with an option to transition to an FTE. Converting an existing contractor to an FTE is also a possibility. That being said, you want to make sure that the contractor or the firm the contractor represents is onboard with such transition and of course, the contractor wants to do it too.
As you can see, there are many ways to hire new talent starting from hiring FTEs, growing the existing talent to hiring contractors. All of which are just different tools allowing you to attract and retain the best talent. Finding the right engineering takes time. In addition to filling the potions available, you should also grow your professional network long term. Also, having a reliable contracting firm as your partner goes a long way. It helps you start on new projects and continue scaling your team.