How we hire Frontend Engineers at Thread

Jack Franklin

We know that interviewing for a role can be an intense experience, and a large use of time for both parties. Therefore, we do all we can to make sure we provide an experience that is enjoyable, engaging, respectful and gives candidates the best chance to shine.

I have good memories of my interviewing experience at Thread having been through it myself when I joined in August 2017 as a Frontend Engineer. The process was thorough but by the end of it I felt like I’d had a great opportunity to highlight my strengths and meet a bunch of people across Thread to learn more about the business. Since then we’ve continued to iterate our interview processes and as the Hiring Manager for Frontend Engineering it’s been great to have a chance to push our processes forward.

In this post we’ll talk through the hiring process for Frontend Engineering at Thread and all the steps involved. Before any of this you’ll meet someone from the team for a very informal chat or coffee - either in our office or at a location that suits you. This is for both parties to get to know each other, and to ask lots of questions. This is a great way to learn more about Thread and decide if you’d like to apply. And the coffee is on us :)

Remote exercise

Before bringing you onsite, we’ll ask you to do a remote coding exercise. This isn’t unique to Frontend or even general engineering at Thread - for every role we hire we’ll ask candidates to complete a remote exercise. We do this to give candidates a good idea of what working at Thread is like - we’ve been through many iterations of all the remote tests and have worked hard to ensure they resembles day to day work at Thread. It’s also great for us to get a sense of where your strengths and weaknesses lie. Every candidate does better in some parts than others (and you shouldn’t worry about this!) and it lets us prepare for the onsite. You won’t be asked to produce any algorithms; you are given a working React application that’s modelled on Thread and asked to introduce a couple of new features.

Rather than rushing to get something working, we ask you instead approach the work as you would “for real” - focusing on the code quality, architecture and design rather than having features working as quickly as possible. We know remote exercises are always time pressured and take this into account when reviewing. We ask that no one spends more than three hours on the test but we are very flexible here - if your circumstances mean you need extra time, or can’t commit to three hours that’s not a problem, we’ll make it work.

Once you submit your test it’s anonymised and sent to at least two members of the team to review. They review it independently (as not to bias each other), before comparing notes. We have a clear set of scoring criteria and guidelines for reviewers. This removes personal bias around what a reviewer considers important, and ensures that we’re all reviewing from the same position. If you’re successful, we’ll ask you to come in for an onsite. If not we’ll make sure we give you comprehensive feedback on why to help you for your next job application and if any of your feedback isn’t clear, we’ll help clarify things with you.

Onsite 1: technical interviews

If your remote exercise was a success, we’ll invite you into the office to meet the team. Ahead of this you’ll receive detailed information about the day, how to find our office, who you’ll be meeting, and other details such as what to wear (we’re a casual office, so wear whatever you’d like that makes you feel happy and confident. That is our mission after all!). If anything isn’t clear, please ask! We want to do whatever we can for you to make the experience as good as it can be and are very willing to adapt your schedule or sessions accordingly.

The first onsite is when you’ll meet members of the engineering team in a variety of interviews to discuss a variety of topics with you. We also make sure there’s plenty of time for you to ask as many questions as you like to get to know the team and the company better. No question is off limits here so please ask anything that’s on your mind; we want you to have a good idea of what Thread is like and if we’re a fit for you. We know interviews are daunting and can be intense so to try and help that there’ll be plenty of time for breaks or to just have five minutes with a cup of tea to relax. These will be scheduled between your interviews for you.

The interviews start with a conversational interview one on one with a member of the team, where we’ll ask more about your background, technological interests and projects you’ve worked on. We’re not looking for experience in any particular area or history with any particular programming language, for example, but use this interview to get to know you better. Each interview is with different members of the team, so you’ll get to meet different people (some backend engineers, some frontend).

There is also a product focused interview which looks at an approach to making changes and introducing features to an internal tool we have at Thread. We’ll use a whiteboard to sketch out ideas (don’t worry - no coding on whiteboards here!) and discuss structures of new APIs and how to structure the frontend. This is a very collaborative interview, we’ll work together to discuss and explore solutions. You shouldn’t worry about getting the right solution straight away, it’s far better to think out loud and talk through potential solutions.

Finally you’ll spend some time pairing with an engineer on a problem, one that is modelled on a real project we undertook a few months ago. You won’t be expected to do all the typing, you should work with your interviewer to discuss and implement solutions to the problems. Just like if you were working as colleagues, you should feel free to look up documentation online for anything you don’t understand, or ask a question if you’re not clear or stuck. Your interviewer is interested in what you’re like to work with and how you solve problems collaboratively, not how well you can memorise documentation!

You should finish the day feeling like you’ve been given ample opportunity to demonstrate your skills and your approach to solving technical problems. You’ll also have had plenty of time to ask us questions and have had plenty of opportunity to ask questions and to know the company better. You’ll understand our product processes and the sort of work you’ll be doing should you be successful in the interviews.

Onsite 2: Face to face cultural interviews with the wider team

If the technical interviews were successful, we’ll invite you back for interviews with people from the wider company in a variety of roles. At Thread we put a lot of stock into our values and the interviewers will ask you questions that allow us to see which values you align with. No single person can align with all of them, and we’re always after people to bring fresh perspectives and outlooks to our values and how we apply them day to day, so this is a great chance to talk about improvements outside of your day to day work that you’ve undertaken at previous companies (or other areas of your life). In my interview the interviewer and I got into a detailed chat about the triathlon I was training for!

We make sure that the people who interview you in this stage are from a variety of teams across the business. It’s really important to us that engineers don’t get interviewed solely by other engineers, and it also means you get a great chance to find out more about other parts of the business throughout your interviews. If there’s a particular team or area you’re interested in finding out more about, please tell us and we’ll happily arrange for you to chat to someone in that area.

The offer and feedback

After all of your interviews we meet as a group to discuss the interviews in depth and to see if you’re right for the role (and if we think Thread is a good place for you, too). Each interviewer writes up notes after an interview so we have all the information we need. Should you be successful, we’ll be in touch with an offer, and if not, we’ll provide detailed information on how we reached that decision. We recognise that waiting after an interview is an anxious time, so we’ll try to get that decision back to you as soon as we can. Many candidates receive it less than 24 hours after their interviews.

Regardless of if you were successful or not we’ll also ask you for any candid feedback you had on the process. Our hope is that even if the interview doesn’t end in success that you had a great experience and one that was enjoyable (as enjoyable as interviews can ever be!). Interviews are hard and it’s important to us to keep improving on them, so please be honest if you found some parts unusual, or not as good as you felt they could be.

If this blog post has left you intrigued about Thread, our mission, or applying to work here, our Jobs page is the best place to look. Finally, if you have any questions, thoughts or suggestions from reading this post, I’d love to hear them! Please email me on jack@thread.com and I'd be very happy to chat.