Remote working isn’t a new thing for developers; at Resolver we were already doing it regularly. Our meetings were remote-friendly, if not fully remote, and Slack would keep us all constantly connected. So when we went into lockdown in March, the transition to home-working was perhaps easier for our team than for others. But when it came to hiring new developers, removing any face-to-face contact posed some new challenges.
The hiring process would often begin by speaking at events such as LRUG, giving a summary of Resolver and what we’re striving for. That gave us an opportunity to meet any interested candidates straight away and to make those important first impressions. Under lockdown, we’ve had to approximate that by posting to mailing lists, posting to LinkedIn and using recruiters. We’ve seen some good results doing that, and the market for Ruby developers still seems to be strong. But it can also be easy for the message to get lost in the noise. Emphasising what sets Resolver apart as a great place for developers has been more important than ever.
After an initial conversation, we’ll ask candidates to complete a coding task in their own time. From there, we’d usually have a face to face interview in our office. This allowed us to have an in-depth discussion of the task, to pair with the candidate and to ask some more general questions about background and interests. We’ve been able to achieve most of that with Google Hangouts, which we use internally for most of our meetings. But it made us question how we could improve our pair-programming in general.
Before lockdown, pairing would either be done with Use Together, or by just sitting together and sharing a keyboard. Use Together is great on the whole, but I’ve found that it can be quite slow and CPU intensive when used for a long time. There’s also a cost for using it for over 30 minutes.
Many of us also use Visual Studio Code as our main editor, and its Live Share extension is very impressive. You can sign in with GitHub or Microsoft and you’re given a link to share with anyone. I’ve found the performance to be good over long sessions, and your pair can even see your localhost from their own browser. And it’s free!
There are many tools which offer similar things; AWS Cloud9 is another good option. While these tools are great for internal use, they do require some initial setup to get started, so they can often lead to delays with remote interviews. A better alternative in my opinion, is tools like HackerRank’s CodePair. They’re available from the browser and they’ve been built specifically with interviews in mind.
Once a candidate is hired, we would usually go to a restaurant around London Bridge, as an introduction to the rest of the team. We’ve tried to achieve something similar with Google Hangouts, and with informal introductions over a coffee. In fact, we now always have a Hhangout available through Slack, so at any point we can “go for a coffee” and have a chat. We’ve found that to be a great way to bring new developers into the team.
My feeling is that most of these practices will return to normal once the lockdown is over and we’re back in the office. When a developer needs to be remote, the habits that we’ve picked up during lockdown will serve us well. The flexibility offered by properly supporting remote work is undeniable, and we’ll be all the better at that going forward. But for certain things, I think that an in-person meeting will still be preferred, if it’s possible.