Several years ago, a manager introduced me to the Subreddit “r/recruitinghell/” after we exchanged screenshots of recruiter messages. Many felt generic and were completely off: “Hello Colleen, you’d be the perfect fit for a Senior Software Engineer - Python role my client has available. The role is on-site in downtown Charlotte. Let’s chat!” Okay, maybe they weren’t that bad, but sometimes they sure felt like it. I’d get dozens a week where I felt like the recruiters hadn’t taken the time to look at my profile, I couldn’t get a good sense of what they were looking for, or both. I was only a few years into my career as a Front End Developer, and one thing had become clear to me: recruiters were the worst.

When the COVID downturn hit, I began helping people with career changes, resumes, and guidance. That work provided deep satisfaction and connection at a time where I felt disconnected from my work as a developer. It was at this time that I started considering a career in recruitment, despite some of my negative experiences with them. However, I didn’t want to be part of the problem. I wanted to be a solution and help engineers find roles that made them happy and facilitated their growth. Although there were a few good recruiters I had worked with over the years, I knew the industry had a reputation for neglecting candidate knowledge and relationships. So, I aimed to find a company that valued recruitment and truly cared about the engineers they worked with.

My timing was excellent because I stumbled upon a posting for a Technical Recruiter role at Test Double on a remote work job board. When I went to the Test Double website, I was totally blown away. Values like empathy, openness, and autonomy? A well-defined interview process? Public salary bands?! I was wowed by Test Double’s mission to improve the way the world builds software—and that this mission went way beyond just the software aspect but included the people building the software as well. I decided to apply and imagined the Test Double team laughing and instantly deleting my application (“Hey, I have no formal experience in recruitment, but I think I’d be good at it. Let’s try it out!”). To my surprise, however, I heard back from Anya Iverova, Test Double’s Director of Recruitment. We chatted more about the role, my experiences as a developer, and my passion for helping others find roles they love. After thinking about it for a while, Anya and the team decided to have me interview for the role and later extended an offer for me to join Test Double!

On my first day, I was incredibly nervous. Any job change can be scary! I didn’t have any formal experience as a recruiter, after all. One thing I did have, however, was something a lot of recruiters don’t have: the unique experience of being on the other side of tech recruiting.

Empathy as a shared value is what drew me to Test Double to begin with, and I certainly have a ton of empathy for engineers when it comes to recruiter woes. I found out quickly that recruitment is actually quite a lot like software engineering. Here are some ways I’ve utilized my experience as a developer in my recruitment practices:

Focus on your users

In recruitment, your users are your candidates. Focus on their experience, and keep them in mind through all aspects of the recruitment process. After all, they are the most important. You can’t really recruit anyone when there’s no one to recruit. Constantly put yourself in their shoes, and act accordingly.

Make a mistake? Own up to it.

Something not quite clear? Create more transparency.

Listen to candidate feedback and always work on improving their experience. Think about your most vulnerable users, like you would in software (and not just as an afterthought). Make sure your process is consistent and set up to avoid bias and offer accommodations for candidates throughout the process.

The interview process shouldn’t be set up for a candidate to fail. It should be structured for a candidate to show their skills in challenges similar to what they would experience in the role.

Create documentation

Every developer has been in the situation where they’re working with a codebase, software, plugin, etc., with almost no documentation. It’s one of the more frustrating parts of the job. Most developers strive to leave clear and concise documentation for others (although we can all admit it’s hard to keep up with at times). Maintaining documentation is pertinent to good software development, and it’s something important in the recruitment process as well.

Have you ever had an interview process where there are unknown amounts of steps, and you have no clue what the interview format is even going to be? Something we’ve done here at Test Double (well before my time) is making sure candidates know what the steps and expectations are beforehand and providing documentation and resources they can utilize as well.


Just like well-tested code, a well-tested candidate process is the key to technical recruitment success. I’m constantly testing messages, headlines, new software, the recruitment process, the candidate process, really anything and everything. When I get feedback that something didn’t quite align with a candidate, I want to make sure that it’s improved on and re-tested.

Build community & support others

One of my favorite things about engineers, and the reason why I wanted to continue working with engineers, is the community. Engineers are some of the most giving people I know. They give their time and energy to help mentor early career engineers, create community groups, and write open-source software. Countless hours are donated for the greater good, for the community, and to continue building each other up and spreading knowledge. It’s truly amazing to me, and I’m always so grateful and inspired to work alongside people who do all of these things.

When I’m working with candidates, I don’t see our conversations or connections as a one-time thing. If we’re not in alignment with one of our roles right now, I do my best to provide some value to them. Are they early-stage software engineers? I offer to pair on their resumes, connect them to others, and look out for opportunities for them. Are they looking for a product role or code in a language we don’t have a current opportunity in? I’ll reach out if I see something on LinkedIn or within our client network that might be a match for them.

We’re in this together, and recruiters can be a part of that community as well.

Recruiting is a team effort

Engineering teams work closely together to ensure timelines and software goals are met. While recruiters don’t work in sprints or anything like that, we are most successful when we work together. It can be easy to feel siloed in recruiting—there are lots of one-on-one calls and messages happening. But at the end of the day, we’re all working towards a common goal. The team here at Test Double expands well beyond just recruiting. We work closely with the Qualification Team and our Double Agents daily. Our agents provide feedback, let us know about trends they’re seeing, or send other engineers to us all the time. Our Qualification Team spends a ton of time with our candidates. By keeping in close communication with the team, we can better serve our candidates.

Stay curious

Engineers are naturally curious. With constant changes in every aspect of tech, highly curious people are drawn to becoming engineers. This curiosity is what led me on my own path to engineering. As the people who hire engineers, recruiters must stay curious as well. Curiosity is the shared language that brings us together.

What are engineers interested in, and why? Why are engineers choosing one type of language over another? What are engineers seeking in new roles? What’s most important to them? What drives them?

There are endless questions to be asked, and the answers are always changing. So I ask them! Ask your candidates, ask your colleagues, and ask your engineering friends. Always stay curious, and you’ll be in the engineering mindset.

To recruit engineers, you must think like engineers

Not every recruiter is a former developer. In fact, most aren’t. This isn’t a necessary step for gaining an understanding of engineers. You don’t have to be a former engineer, but it’s imperative to know and understand engineers and their jobs. That means understanding the basics of what programming languages do, the lingo used by developers (Agile, TDD, etc), and other important aspects of the role. It’s hard to know what to look for in an engineer when you don’t fully know what their jobs entail.

Engineers will likely ask recruiters questions to gain a better understanding of the role, so anticipating those questions will also be important. Understand what their day-to-day might look like, what their career path could be, and what they’re building. The more a recruiter can understand about the engineers they work with, the more trust they can build and the better the entire community is.

There is a better way for recruiters and engineers to work together, and it starts with knowing and understanding each other and working together to achieve a common goal. Let’s not only improve the way the world builds software but improve the experiences of those building that software as well.

Colleen Leonard

Person An icon of a human figure Status
Double Agent
Hash An icon of a hash sign Code Name
Agent 00114
Location An icon of a map marker Location
Chapel Hill, NC