Bearer is a remote-first company; we have always found this to be a strength, for many reasons.
Hiring is one of them.
Thus far, we hired, mainly opportunistically, by networking. This method worked well up to the point when we needed to expand our circle and hire from the outside.
From 1 to 10
Guillaume and I have been in the industry for a while now; we've met many developers. That's providing us an unfair advantage. When we open a position, we naturally discuss it with those within our network. That's how we got to be a team of 10!
The jobs page we created in the beginning has also helped us source outside talent. Additionally, we also tweet about opportunities on the Bearer Twitter account. From time to time, we even receive emails from people, prospecting.
Up to this point, we've only been onboarding Senior Engineers because we felt like we didn't have the structure to support a Junior Engineer. In the past few months, we've made a lot of progress and it was time to take a step back and re-evaluate this position. We've just rebuilt our dashboard from the ground up (built with TypeScript, ReactJS, GraphQL) and the foundations are rock solid (we will blog about this 😉). The website has also proven to be future-proof and easy to maintain. We were ready to onboard a new Engineer and this time it would be a Junior!
We published a job offer for a Junior/Mid-Level, Frontend Engineer and were inundated by applications.
10 and beyond
We got in touch with the amazing people at remotive.io and were convinced that their platform would be perfect for us, a remote-first company. In order to increase our chances of finding the perfect gem, we also decided to post the opportunity on GitHub Jobs and JSRemotely too.
Things were simple, I created an alias to receive the job applications. This alias redirected enquiries to Antoine, our Senior Frontend Engineer, and me; he was to be in charge of the first steps, selection and the first interview.
We understood, pretty quickly, that we were not enough prepared.
After 3 days, we had received 250+ applications; after 1 week, 500+; and after 2 weeks, we were at ~900. This is without including the LinkedIn and Twitter messages.
Time to investigate some real processes
After a couple of days, Antoine and I spoke; we were both excited and overwhelmed. We knew that we couldn't review every application. We needed help.
A week later, I'd put together a survey, using Typeform. It would ask some of the questions we usually asked during an interview:
- Do you know Gatsby, ReactJS, Styled Components, GraphQL, TypeScript, Tailwind CSS, ...?
- Are you willing to work in the European Timezone?
- What's your GitHub handle?
I then found a way to send this Typeform to all the existing applicants as well as the new. Within a week it started to get responses; this helped us a lot.
My mailbox was being filled with messages like:
I've filled the Survey
or
Thanks for getting in touch
But at least we could keep track of them all and could filter applicants to meet our needs.
In total, we got 430 responses.
The standard of applicants was impressive, and we were lucky enough to make the final choice from amongst these amazing candidates, from all over the world!
Lessons Learned
- Reply to everyone
One thing I've noticed, is that there is nothing more frustrating than not being given feedback after submitting an application. We tried to reply as fast as possible, to the survey after 1 week and we sent rejection emails after 2.
- Get ready for applications
Set up a Typeform, that will be your first line of defense. Get candidates to go straight to it and answer your very first questions there. Have the replies sent directly to something like Google Sheets or Airtable (there is an integration for both in Typeform).
- Share and be transparent
We have a blog; our blog post, sharing how we work and our company culture, has been looked at quite a lot in the past few days. Sharing and being transparent is very important for candidates. They want to know as much as possible about you before they apply.
- Remote is great to get the best candidates
We are still relatively unknown and yet we received quite a lot of applications. We've been really impressed by the levels of engagement of some candidates.
- Working on a developer tool definitely helps
Most candidates were really interested in joining because we were building a developer tool that they found interesting. Some got back to us with an example of applications they have built with Bearer using Google Spreadsheet API for instance. This is definitely an unfair advantage to attract talented developers.
Conclusion
Out of this, we hired Rien Coertjens, at first with a short and specific mission. We have been very happy with him and we decided to hire Rien full-time.
Of course, our process is far from being perfect; we may have rejected some great candidates who would have been fantastic fits for us. Some applicants may not have understood the reasons why they didn't make it to the next cut, and I'm really sorry about this. We had to make some tough decisions, but it was simply not manageable otherwise.
But...
We will be opening more developer positions in the future.
Discuss this article on Twitter and ping us @BearerSH