Monday, January 25, was my first day at Test Double, and I’m now a proud Double Agent, 0082! I’m obviously very excited about it and still finding my way around these parts. But I wanted to write something about my experience as a job candidate at Test Double while it was still fresh in my mind and while I’m still a little bit of an outsider.
One of the tropes of tech is that the hiring process is broken. Software developer interviews are terrible, in general, and as a candidate they are laced with disrespect and adversarial interactions. While I have heard people give lip service to the idea of making it better, the interviewing process at Test Double was the first time I had the opportunity to experience a thoughtful, purposeful, fair, warm, and well-designed interview process.
I want to tell you a little bit about it for a few reasons. One, I hope that you come and interview at Test Double if it sounds like a place you want to work. Two, hopefully this blog post will help make the hiring process even more transparent and less intimidating. Three, I hope you steal their (or “our” I guess!) interview process and bring it to where you work.
The simple vision of Test Double is to make software, better. One way we are doing this is not only writing good code, but also laying a strong foundation. From the beginning, Test Double creates a positive culture by creating a positive interview experience.
My first interaction with Test Double was meeting the Bridge Agent assigned to me, Anya. A Bridge Agent is, I learned, someone who helps you interview and advocates for you throughout the interview process. This was genuinely amazing and automatically felt different than any process I had ever been in right from the very start.
I’d say the key difference was the feeling of working with a mentor instead of an internal recruiter. In my experience internal recruiters are just that—recruiters who don’t really care if you get hired or not and don’t really have a lot at stake outside of hitting some metric. The Bridge Agent role, as envisioned and implemented by Test Double is entirely different. The hiring process led by the Bridge Agent helps orient you towards the interviews, makes sure you know what you need to do, helps you if you have any questions, and supports you throughout the arc of your interview.
This also sets up a dynamic that, if you get hired, carries through into your employment—one of support and caring as opposed to conflict and diminishment. This is so important, and it is amazing how apparent it is once you start!
The structure of the interviews was explained to me during my first meeting with the Bridge Agent. There were going to be four interviews at one hour each: general, technical, consulting, and code review. Simple and familiar enough.
One strange thing was the heads up about interaction during the interview process. Anya told me that there was not going to be a lot of back and forth between me and whomever was giving me the interview. This is because the interviews are scripted on the interviewer side so as to reduce bias and to avoid situations where an interviewer might lead one candidate towards a correct answer but not another.
This could, I suppose, lead to some awkward interactions, and during one point in one of my interviews I felt a little unsure of myself. It was helpful to remind myself of WHY this awkwardness existed. The energy going into the process from the side of Test Double in order to keep the interviews fair and bias-free was exemplary. When I reminded myself of the intent behind the silence, it became much easier for me to embrace.
One of the surprising results of this lack of immediate feedback or small talk from the interviewer was that it started to feel a little like thinking out loud about the problems, which ranged across architectural and tech specific subjects to consulting and client hypotheticals. At one point I very much forgot that I was interviewing. Instead, it felt like an interesting conversation I was having with myself but with someone else listening in. Strange, maybe. But surprisingly fun!
Oh, the ways you can mess up giving a code test in the software developer hiring process are only outnumbered by the ways you can mess up taking one. Luckily the code test has some very clear expectations: deliver the code as if you were going to deliver to a client and don’t take more than three hours.
Oh yeah, suuuuuure. The three hour thing is one of those classic traps. People SAY don’t take more than three hours but what they really mean is take three weeks but make it look like you did it in three hours. In this case, though, Test Double meant what they said and stuck by evaluating the code produced fairly in the context of the time requirement.
Luckily, I had brought a lot of thought around structuring the problem in a cogent way, identified the areas I didn’t understand, and was able to talk about that in great detail with my interviewer, the expert and ever-friendly Daniel Flynn. Part of the interview process is reviewing your 3-hour take home test with someone. Daniel was an amazing resource to me, explaining aspects of what was considered professional JS delivery at Test Double. Even if I had not gotten an offer, I still would have walked away knowing more than I had when I started, an incredibly rare part of interviewing.
I have experienced the very worst hiring processes when it comes to the final decision. I have in the past been the recipient of exploding offers: “Tell us within twenty four hours or you get NOTHING!” as well as rescinded offers: “You have all the time in the world”, 1 day later: “YOU HAVEN’T CONTACTED US, clearly you aren’t enthusiastic, we rescind your offer!”. Sigh.
Test Double is different. It starts with your Bridge Agent and a recap of detailed feedback from every interviewer. Not just what you got right, but where you can improve. This leads eventually to a warm invitation to join or not. No pressure, nothing confusing, an awareness of other pressures you might be looking at in your job search, and a genuine effort to continue the process of trying to discover if it would be a good fit for you as a candidate. I can’t tell you how much of a difference that made. Though I wanted to accept on the spot, I told Anya I would think about it and get back to her as I think that’s what you’re supposed to do as a sophisticated interviewee. The next day I said I accepted and that was, as they say, that!
Strangely, I have been both rejected and accepted by Test Double. Having applied a couple of years ago, I had a very nice conversation during this phase of the interview that ended with an invitation to reapply. It was obviously a disappointment at the time. I have felt before that people sometimes say “please reapply,” but they don’t really mean it. I view it as an incredibly convenient and nice way to let someone down. Test Double’s invitation to reapply further down the road was real and sincere. They recognized and were happy to see me a second time around.
I hope my journey through the Test Double interview pipeline has inspired you to apply or possibly given you a sense of what it will be like if you already have. I hope as an engineering manager there are some components of this that you can steal. A healthy and supportive interview process is an amazing asset for a company. This is especially true when it comes to tech, and the interview sets the tone for every further interaction a person has as they transition from candidate to hire. Test Double’s best practices are certainly worth looking at, and if I can ever help you learn more about them, please reach out to me!