Back in 2004, Google had this cryptic highway billboard sign that was trying to get people to apply to engineering positions there. I still think about that every now and then... Getting creative about hiring has always been important. After all, there's so much demand for talented software engineers that most hiring managers are having a hard time filling their positions. There's obviously many different things we can do to counteract this. In this blog post, I am going to explore some creative ideas for finding talented engineers.
For each of the following ideas, I'm going to provide you with a real story from my experience as a hiring manager for the last 2-3 years.
Find engineers in their online communities (e.g., Discord, Twitter)
We should never expect the best engineers to apply to our positions on our website. Most successful hiring is outbound, i.e., we have to go after those that we want to hire. For that, we have to find them where they are.
Let me give you a concrete example of something that's worked for my team recently. A lot of Discord servers for specific tech frameworks have channels for job postings. Sometimes, they don't. We were looking for a senior software engineer for our UI team to work on our design system and component library. We've been using Radix to build our components, so we went on their Discord server to find engineers that have experience with Radix. We weren't really looking for people with Radix experience per se. However, we know that engineers that are into Radix are likely to be at the forefront of the frontend development ecosystem, since it is rather new but extremely promising in our view. Unfortunately, the Radix Discord server didn't have a job board so we asked the moderators to create one and we posted our job ad in there. We got a few applications from doing this and we actually ended up hiring someone who found us through there.
Another example that has worked for me has been to find people on Twitter, dev.to, Medium, etc. and just DM'ing them about the opportunies that we have in our company. The response rate isn't incredibly high but it's led to us filling a couple of positions on the team.
Find people on LinkedIn; contact them outside of LinkedIn
I love partnering closely with someone on the Talent Acquisition team on sourcing candidates as well as on the overall hiring strategy (I'll do another blog post soon that's solely focused on this partnership).
One thing that's worked well is having this person tag me on interesting candidates via LinkedIn Recruiter. What hasn't worked well is sending people messages through LinkedIn. The response rate is low and I understand why — I get a lot of messages on LinkedIn too and ignore most of them. So, what's worked well for me in terms of getting people to respond to my messages is reaching out to them outside of LinkedIn. It usually takes a couple of minutes to find their personal email address, Twitter account, GitHub profile or some other way to reach out to them.
Find engineers in their offline communities (e.g., conferences, meetups)
This is an obvious one, but it shouldn't be understated how powerful networking is at conferences. Especially, the more technical and specialized ones where software engineers make up the vast majority of the attendees.
Attending conferences has now indirectly led to 2 hires in the last 2 years for my team. By far, the best way to do this is by getting a talk at a conference. This will make the networking much easier and it opens a lot of doors in terms of who you will end up talking to. One thing I recommend to engineering managers is to help one of your engineers give a talk and then attending the conference with them. This is a lot of work. You have to purposefully pad out time in the roadmap for the team in order to be able to do this since preparing a talk that will be accepted in these conferences is hard work. Moreover, you have to write a very good CFP (Call for Papers) submission, which again isn't easy.
Work with bootcamps and universities to find new grads
Something that has worked well for my team in the past has been to partner up with bootcamps. I'll explain how we did this for one position on my team in the past.
We reached out to a specific software engineering bootcamp that looked to be well run and somewhat popular for students. We asked them how we could partner up to hire people that attended their bootcamp. They had us basically give a talk to a small class of around 30 students with a Q&A session at the end. This worked really well and many people applied to us through there. We interviewed everyone and then also got some feedback from the bootcamp itself about which students had specific traits that were interesting to us. We have now hired 1 person this way but have come very close to hiring a few more.
Partner up with a talent sourcing agency
At the end of the day, it's all about maximizing and diversifying the sources of people coming in. For the last few months, we've been working with a talent sourcing agency that operates in a specific region where we hire engineers. If you've never worked with an external agency for hiring, this can be hard at first and we definitely ran into a few bumps in the road. Some of the things we've learned include:
- If you decide to change your interview loop, you should make sure to inform the agency about this.
- If you open new positions or close existing positions, they have to be informed as well.
- You need to provide constant feedback to the agency about the people they're finding to help them tweak their sourcing process.
- Help them pitch your company. Record a video of yourself pitching your company and send it to them. But also meet with them, either on a call or face to face and develop a strong relationship with them so you can learn with each other. They should be giving you feedback on your interview loops, how you process candidates and on the offers as well. These sourcing agencies often know a lot about the market they operate in (who's hiring, who has good candidate/interview experiences, which compensation packages different companies are offering to candidates, etc.).
I haven't yet hired anyone as a result of this partnership but it's only a matter of time.
There's a lot of other ideas that I didn't mention which are usually a bit more prevalent in the industry:
- Making sure you and your engineers are writing enough blog posts about the work you're doing. This is probably the single most important thing you should be doing to improve your hiring ability.
- Open sourcing projects so folks have an idea of what kinds of projects you're building.
- Organizing meetups.
- Attending job fairs for new graduates in universities.
- Constantly reach out to your network to find people.
To sum it all up, we have to be creative about we find people. This requires thinking outside the box, and hold onself accountable for maximizing the number of engineers on the recruiting pipeline. Finally, we have to keep in mind that we can't expect people to come to us, so we should instead go after the people we want on our teams.
As a hiring manager, hiring is top of mind every single day for me. That means I spend a sizable amount of time on all of these things every week (from a minimum of 15% of up to 40% of my time every week). I plan to write about some of the following topics in the near future as well:
- Developing a strong parternship with Talent Acquisition staff.
- Designing and iterating on interview loops for software engineers (as well as measuring and improving the candidate experience).
- Maximizing diversity and inclusion throughout the hiring process.
- How to find things about our work to blog about.
- How to give someone an offer (the pre offer and post offer process).