Austin Gibbons


Learning to Recruit as a Software Engineer

Snowy and Tin-Tin on the hunt for talented Software Engineers

When working at small startups in the bay area you will undoubtedly find yourself wearing many-hats. I myself have served stints as Editor-in-Chief of a technical blog, was a member of both Office Beautification and Holiday Party Planning Committees, and led a series of Lunch-and-Learns on the importance of data collection. The hardest - by far - of these various caps, casquettes, and bonnets, was recruiting.

During my first full-time employment at Quantifind I was involved in an interviewer role for both software engineering and machine-learning / data-science roles. During the past two years at Periscope Data , I expanded my recruiting experience from beyond just software engineering interviews to covering the entire recruiting gamut. At various points I was a recruiting coordinator, candidate sourcer, hiring manager, and brand ambassador. I helped design interview pipelines, re-imagined the on-site experience, and worked with third-party tools and partners to expand our recruiting capabilities.

I am spewing this list of experiences not in the hopes of astonishing you with my recruiting repertoire - let me be the first to tell you that I am far from finished learning - but in the hope that I can offer some advice to anyone in the Same position as I was first tasked with helping to grow to twenty-something person startup.

Recruiting Review Checklist

Okay, so you just volunteered to help with recruiting. Take one long deep breath as you turn your otherwise two-meetings-a-week calendar into this monstrosity of half-hour time slots:

Before you can each achieve this back-to-back goodness, you need to build a steady stream of candidates. Let's talk about how to get that done.


Before you begin your recruiting adventure, you should learn the lingo. When we first started looking to bring recruiting in-house, we thought we could just hire “a recruiter” and they would take ownership over everything. This turned out to be about half-true. In actuality recruiting is broken down into several roles and responsibilities, and it is important to understand who plays what part:

  • Crafting a Job Description is where this all starts. Before you can hire someone, you need to establish the role and requirements for candidacy. Doing so will help candidates match their experiences to your position and facilitate in-house communication about candidates and constructing interviews.
  • Sourcing is the process of finding candidates to fill your recruiting pipeline. The term sourcing may imply either direct outreach or the broader realm of both cold outreach, referrals, managing your online presence, and participating in real-life events like meetups and conferences. Ultimately, anything that fits into the domain of introducing your company to qualified candidates fits here.
  • Coordinating & Scheduling are two sides of the same calendar management coin. Coordinating is the realm of working with a candidate to find a date and time that works well for them, arranging travel and hotel booking or reimbursement, and working with the scheduler (who may be the same person) to ensure the people they need to meet are available when the candidate is on-site. Scheduling is the process of booking time on the interview team’s calendars and making sure that the chosen interviewers make sense in the context of the overall interview, which is part of our next topic:
  • Pipeline Design is the act of guiding candidates from initial interest right up to where they get an offer. Interviews take many forms: culture-fit phone calls & coffee chats, technical phone screens, take home problems, previous work samples, or anything else that will help you focus in on the candidates ability to do the job. When you are designing a pipeline you need to understand not just how it will allow the right candidates to succeed in your interviews, but also the reflection of your company’s culture that is imparted on the candidates.
  • Closing is an art-form all of it’s own and the area of recruiting that separates the good from the great. After you’ve made an offer to a candidate, how do you convince them to accept the offer and join your company? Closing a candidate should be in the forefront of the recruiting teams mind from the very first conversation.
  • Candidate Experience gets it’s own slot away from the rest of pipeline design, in part because it is usually governed by other factors that may be outside of the pipeline designers control. Would you readily believe that a candidate is more likely to be engaged with your company if they speak to energetic, enthusiastic, and happy interviewers? For me personally, it’s the largest deciding factor once I have already committed to interviewing with a company.

The candidate experience is the careful study of every interaction your candidate has with both team members during interviews and scheduling, but also within the environment in which they are interviewing. Is your office bright and energetic? Is it located in an accessible, happening part of town, or would it make sense to arrange car service to and from your headquarters? We were fortunate that we had the opportunity to design and decorate our relatively-empty office around both existing employees working environment and the candidate’s on-site experience. Starting with a fixed budget, we decided to focus on the entry way to the company with not just the working environment in mind, but also (very much so) hoping to impart a proverbial wow-factor when introducing the space to our candidates, instead of just being desks in a warehouse.

Our previous warehouse office space in the Dogpatch, shortly after moving in. Photo courtesy Chris Meier.
Panorama from our original lounge, featuring our indoor patio and painted logo in the background.

Matching Vocabulary to People

Squaring in our mind all the steps in recruiting, we can see each of these domains comes with an associated role. The Recruiting Sourcer sources. The Recruiting Coordinator coordinates and schedules. Easy enough. The important individual to mark when hiring a role is the Hiring Manager. This is the individual ultimately responsible for approving the hiring of a candidate, and they are working with the coordinators, schedulers, sourcers, head of HR, and office experience team to get that done.

I would strongly counsel the hiring manager, or their chosen proxy, be highly involved in the entire experience: designing the pipeline, deciding who is involved in what parts of the interview, ensuring the interviewers know what their interview covers: what criteria they should (and should-not) be evaluating within candidates and most important why they are evaluating the candidate along their rubric. A mistake I saw more than once was the hiring manager not being sufficiently involved in the process, electing to defer too much of the responsibility to the other roles. This led to numerous incidents:

  • A candidate not being greeted properly when they entered the office space, causing them to start the day confused on whom to approach.
  • Interview questions being considered not right for the role ex post facto.
  • Interviewers asking what question they should be asking minutes before their interview.
  • Most crucially of all, failing to close more than one candidate because of an imperfect on-site / closing experience.

My primary recommendation to anyone recruiting for a role at a small organization would be for a single individual to collectively review the entire process to ensure it all worked well from the candidate’s perspective.

Pipeline Design

During my tenure we iterated through several different approaches to our recruiting pipeline. Let me first recap my own experience in being recruited before highlighting some of the changes with which we experimented.

Periscope generally prefers “moving quickly”, and this definitely extends to recruiting. All told, it was 16 days from first contact to accepting an offer — we can trace the original engineering recruiting pipeline from our email exchange:

  1. I reached out to Periscope on a Tuesday.
  2. 32 minutes later the CTO responded and we setup a chat for that Friday.
  3. Thursday evening a reminder email, clearly from a human, not a robotic system.
  4. 30 minute Google Hangout meet-and-greet. Mostly culture fit, with a small piece of technical discussion. Next steps are outlined as being a code-screen.
  5. We schedule a code screen over Hangouts for the following Tuesday via email.
  6. Tuesday afternoon we do a coding exercise, next steps will be an on-site interview.
  7. We setup an onsite that evening for next Monday.
  8. Monday arrives! It’s a small team, so the interview involves meeting all of the technical team members. We work through a coding assignment to implement an isolated feature that’s part of their product over the course of four one-hour interviews. Half-way through we have a lunch break with the entire team.
  9. After the interview is over, the CEO walks me out of the office and extends an offer. I state I am excited about the company and would like to follow-up offline, so afterwards they email me a digital copy.
  10. From there, we have a few emails/phone-calls back and forth before I eventually accept!

This was the format that they had been using for a quite awhile on either side of my interview with Periscope. Note that this interview format targets software engineering individual contributors, and it does not dive into other topics like infrastructure & architecture design, front-end/design experience or a background in engineering leadership. There were informal conversations around these kinds of topics with candidates in these directions, but largely to pitch the candidate how they could fit within the team rather than qualify the candidate as a potential engineer. Let’s explore a little further in depth the different modifications to the pipeline that we explored.

Phone Screens, Challenge Problems, and Coffee Chats

The top of the funnel is where we were able to be the most flexible. You can experiment with different formats — namely the titular phone screen, challenge problem, and/or coffee chat — as well as pursuing candidates that showcased different types of strengths: be it a better culture fit, deeper experience in a particular engineering domain, or working with candidates from many different backgrounds.

Much of the inbound interest we received was from candidates that we would not reach out to given their resume. At the time that I was involved in hiring, we generally did not consider any new college or bootcamp graduates, in addition to other reasons for passing on a candidate. Recruiting displays a similar property as the Friendship Paradox, engineers are more likely to reach out if they are someone who struggles to attain employment. This is not to say they are not good engineers! Some people struggle with canonical interview formats, lack experience but have promise, or just haven’t been in the right situation to showcase their skills. We initially were responding to less qualified candidates with a message along the lines of “We’d love to chat in the future, but there isn’t a good role right now.” This was, after all, the truth! But as an experiment to increase recall we issued a programming challenge problem that asked users to implement code to move a robot around a grid and collect items. While it did demonstrate sufficient coding abilities to warrant further conversations with candidates for whom we would have otherwise passed, it ultimately did not lead to an individual hire. The data volume was too low to draw a meaningful conclusion but given the time that was invested on both the candidates end for programming the assignment and our end for digesting the assignment, it is not something I would do again. There are some more exciting directions in this idea around 3rd-party tools that I would be more keen to try if I was going to pursue this idea for a second time, we’ll touch upon this idea again when talking about sourcing candidates.

Laszlo Podor Photography/Moment/Getty Images

Coffee chats, or more accurately in my case chai tea latte chats, were an almost successful way to increase outbound success in the funnel. I met up with several candidates from my coffee chat request email copy, and without offering too much evidence, I anecdotally felt I had a better success rate at the top of the funnel by offering to meet in person. This format ultimately lead to only a single offer who unfortunately didn’t close, so I can’t quite call it a success. I ultimately stopped making this offer to meet for coffee because it was fairly taxing on both time and, quite frankly, my chai tea latte budget.

Culture-fit Interviews & The Sell

Your first conversation is a de facto cultural interview. Unfortunately, and for whatever reasons, some candidates enter a conversation with such a poor attitude that no amount of professional ability will make you want to work with them and the process stops right then and there. On the flip side there are some candidates that will click so well that you start praying they make it through your technical interviews. For the vast majority of interviews, this interview is you selling your culture to them, not the other way around. Once it’s evident that someone is in the realm of “friendly human being”, this conversation is no longer a qualifying interview, but an opportunity to convince the candidate that your startup is truly the one which they’ve been seeking.

My meet-and-greet phone call flow was

  1. Hellos & Introductions
  2. Product demo. This worked well because it was short, the entire thing would only take 2–3 minutes. It was, naturally, a shallow tour of the product, but it allowed me to showcase the product’s out-of-the-box wow-factor of creating charts from sql queries as fast as I could type.
  3. Follow-up. A lot of people were fine taking my “Look! Charts!” demo at face value, but many others, especially people who had worked on similar problems, had immediate follow-up questions on what-all had just happened. This could be a single question or dove-tail into a 15 minute conversation, all with the goal of convincing the candidate we were a serious tech shop building cool technologies.
  4. Tech-stack rundown. Ultimately whether we had a follow up product/tech conversation or not, I would do a run-down of the programming languages and technologies we use as a segue to inquire about what kind of role for which they were looking. Especially considering we were not interviewing many recent graduates, people had opinions and interests about the kinds of technologies and environments they wanted as their day-to-day working experience.
  5. When chatting with several professional recruiters about closing candidates, they consistently highlighted that most, perhaps even all, of candidates had already decided whether they would take the job or not before ever coming onsite. Once the conversation had shifted to what the candidate was looking for in potential employers, we would chat about the other criteria that was important to them. My favorite approach was along the lines of “If we thought we were a good mutual fit for each other, why would you not join the company?” This question allowed for a very open and honest conversation, with responses across the board of “you know it’s honestly just kind of far from where I live in Redwood City” to “truthfully I’d really like to work with a functional language like Clojure”. This helps assuage fears (we’re right next to the caltrain, and have lyft credit!) or be honest that our ruby-on-rails + golang tech stack might not be the right fit.
  6. Eventually I also started asking for target salary figures. This was another hedge on selling the candidate, as our monetary compensation (at the time at least) was fixed to software engineering levels (SWE-1, SWE-2, etc.) which was determined by interview performance outside of the context of compensation. In the many hundreds of interviews I gave, I only ever had one candidate who quoted a number so high that it made sense to stop the interview process, as nearly everyone gave a range that covered our target compensation.

At the end of the interview, if there were no show-stopping red-flags, we would setup a second interview for the next business day. Other interviewers included a short technical conversation as part of this conversation, between steps 4 and 5, as an effort to increase the accuracy of this step. I initially had this in my interview as well, but at the time I was optimizing for recall and rarely disqualifying a candidate from that conversation so I ultimately dropped it to leave a more positive first impression on the candidate.

Technical Problem Design

We had been using the same phone screen question since before my own interview. Rather than disclosing their actual problem here, I’ll prompt one with similar properties:

A coworker provides you with a CSV of t-shirt orders, with dates, sizes, colors, brand, and so forth. Can you

  1. Print which colors are the most popular on weekends?
  2. Write a method that takes in a t-shirt color and returns the distribution of sizes a user should order.
  3. A user provides how many t-shirts of what color and size they sold. What two colors should they add to their repertoire to increase their sales the most?

The idea of this questions is to start slow and build more complex solutions as you go, a pattern I have observed in many structured coding exercises. The first goal is to get some code running printing a summary statistic, then to increase the complexity of that statistic, and finally a more involved computation with a natural solution left open-ended enough to provide an opportunity for algorithmic discussion.

The problem hopefully allows the candidate to showcase a familiarity with coding that would highlight their ability to program in a professional environment: data organization, appropriate refactoring, clean & well-decomposed code, and so forth. We were generally happy with our precision using this problem, we had good intuition for how well someone would do on-site from their performance on this assessment. Our recall was too costly to measure, as we could not invite candidates that we would have otherwise passed on to interview onsite for a number of obvious reasons. That being said, we frequently found “borderline” candidates were ultimately people that did not pass our onsite interview, since the two technical challenges were fairly similar.

Even as I wrote that paragraph I can sense the immediate feedback that this is an ineffectual interview style and that the four hour take home problem is the one true interview format, or what have you. I agree that this style is imperfect, but I still felt it was effective. After sitting in a half dozen or so of these interviews, clear patterns of behavior crop up and it feels possible to draw a positive correlation with on-site interview performance. Ultimately we had to do the best we could with the time constraints we had, and this format is what we stuck with.

After a handful of interviews, an interviewer is generally primed to know the outcome of the interview no more than half-way through the interview. For candidates that did well, we would schedule an onsite interview while still on the hangout. This level of comfort allowed me to pursue some flexibility in the question, for example if it was generally going well I could cut out the actual algorithmic coding in favor of an algorithmic conversation. To borrow words from another interview pipeline designer: “it is more about probing for signal than qualifying the actual solution to the problem”.

On-site Experience

The technical content of our onsite interview was similar in both solution and spirit to the previous interview, but put into the context of building an actual working feature for the product. We were explicitly evaluating the candidate in six categories: coding speed, code quality, algorithmic understanding, communication abilities, enthusiasm & excitement, as well as “shipitude and initiative”, internal lingo embodying whether candidates were focused on getting working code written (shipitude) and/or investing in the design and architecture of the code (initiative) especially in the context of off-hand comments that people frequently made along the lines of “I would probably refactor this into a method”. Wherein the other categories a higher score was strictly better, shipitude and initiative embody competing (though not opposing) dimensions on the engineering spectrum. As such, they were most useful as conversations about why we thought a candidate was awesome rather than requiring a specific score.

Having done other types (i.e., whiteboard style) of interviews in the past, I am a strong proponent of our hands-on-keyboard, real-product-problem approach. It made it much easier to get a sense of what it would be like to work with a candidate and was less of a “probing for signal” and evoked more of a real analysis of the work product: if someone opened a pull-request with this change, how much feedback would be needed to get it production ready? When offering this feedback, do they take it well and make appropriate changes? Do they recognize patterns in feedback and adjust course appropriately? These were among the less explicit, internalized grading we were doing as interviewers.

A special note I want to make is that I casually observed the same conclusion that was the result of a famous Google study: almost no one is good at predicting job performance from interview scores.

Years ago, we did a study to determine whether anyone at Google is particularly good at hiring. We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess, except for one guy who was highly predictive because he only interviewed people for a very specialized area, where he happened to be the world’s leading expert.

Working with the engineers that we did hire, my unscientific conclusion is there was no noteworthy correlation between interview performance and on-the-job performance. In part, this is because I broadly loved working with my former teammates, but even considering my own dearth of data points I readily believe Google’s conclusion.

The Close

I only had the opportunity to extend an offer to one person with whom I was involved in hiring, and fortunately for me they were already quite excited to join the company thanks to it being an in-house referral. That being said, I saw several different strategies:

  • Making an offer (handing over a contract) immediately after a successful interview.
  • Explicitly informing candidates that we would be making an offer, but would follow up with details later.
  • Stating that we were excited about working together and would discuss details “when it was the right time for them”.
  • A closing coffee chat without such an explicit or implicit “yes”, and following up with an offer later.

These were different attempts at trading off expediency and removing pressure from candidates, not even to mention factors like salary, equity, benefits, title, and many other levers that can be pulled on an individual basis to make a successful hire.

Several (but not all) of the positions we were hiring for had open head-count; if there was a candidate that we were excited about, we were able to move forward without considering what other offers had been made or who else was in the funnel. This helped facilitate experimenting with closing technique, since it more clearly makes the goal to close the candidate as fast as possible. Many of the steps that were taken were to reduce time-to-offer, the goal here was to enable candidates to move at their own pace and make the best decision for them outside of the time pressures of “exploding offers”. While this idea was laid out with the best of intentions, it highlighted why time-limited offers exist. I was left with a feeling that people tend to get more excited about the company whom with they recently interviewed than one they visited days or weeks ago. Ultimately I did not see solid enough results to recommend doing anything outside of the norm: making an offline offer very shortly after an interview with a “good-until” date.

The Accept!

The last component is also the most exciting. After making an offer the conversation turns back to selling your company to the candidate, highlighting all the stated pros and diminishing the identified personal tradeoffs outlined in the first interview. When a candidate does (excitingly!) accept an offer you want to return the same excitement and enthusiasm that they have for you back to them. We tried a few variants here:

  • Having the entire team email short congratulatory messages. At different points we experimented doing this both before a candidate accepted an offer and afterwards. I myself set some emails that were long-form prose laying out my excitement at having met them and some short messages with complementary dancing gifs.
The first gif I sent to a candidate. Needless to say, they accepted.
  • At some point, our team became large enough that a candidate did not necessarily meet everyone during their interview process. At different points we had the whole team sending messages, just the interview team, and sometimes a singular select individual.

I can’t really say one worked better than the other, and I suspect the right choice will be evident by the existing culture of your team. Additionally, the hiring manager would keep in contact with the new-hire, providing status updates, check-ins, and introductions to team members involved in on-boarding.

Filling the Pipeline

Okay, we’ve thought a lot about what the experience should be but we may have jumped the gun — we need candidates to interview! Let’s switch gears and talk about introducing our company to job seekers. How we will find them (or have them find us), what kind of information we are showcasing, and how we can keep track of it all.

Online Presence

What do you do when you are first interested in learning more about a company. Do you perhaps … google them? Congrats, you are the same as everybody else, and your candidates will be doing the same thing about your company. We should make sure the information out there reflects the exciting, passionate, and fun group of people that are working at your startup!

I estimate 100% of candidates will visit your glassdoor page.
  • Have you claimed your Glassdoor account, uploaded your logo, and politely inquired into whether your co-workers have left any positive reviews about their working and/or interviewing experience?
  • LinkedIn: you’re company page, with logo, backdrop photo, about us, open positions, connections, and more. Equally importantly, you need to make sure your fellow engineers have exciting personal profiles that just so happen to mention how great it is working at your company. If I had to venture a guess, I would say you were recruited for recruiting by virtue of being the bubbliest, most charismatic, or perhaps just the loudest amongst your peers. When scouting your company, potential candidates will almost definitely scan through the people who work there on LinkedIn, and imagine if they are people beside whom they would want to work. It is imperative that their profiles are selling your company, highlighting why your culture is amazing, how explosively your product is exploding, and why your customers love you. Like any other form of marketing, you have to speak to your audience and make them understand how your offering (employment) not only solves their problem (unemployment) but provides the greatest value: cultural energy, enthusiastic co-workers, and highlighting your best perks are all great ideas. One thing that I really want to emphasize is encouraging people to draft their own copy with minimal editing. Not only will it provide better variety to your reader, but it will help candidates understand if this is indeed the right fit for them. Nothing speaks more loudly than the truth, after all.
  • Now that you’re an expert in setting up a company profile page and gently persuading your co-workers to update their own presence, rinse and repeat that idea across all of the classic professional social media sites. Twitter, AngelList, Crunchbase, and Facebook are all worth visiting. When you are uploading pictures and drafting content for these pages, avoid duplicating photos and instead distribute different content and copy on different websites to impart more of an “exciting, vibrant, dynamic” company vibe, and not “someone uploaded the same stock photo everywhere” vibe. Depending on where you are in your company life-cycle, this can be challenging. If you don’t already have an employee with a DSLR camera and a score of well-documented company events, where are these photos coming from? Some recruiting platforms, like The Muse will bring a photographer or videographer on site and help build out your visual portfolio. Otherwise a quality modern smart-phone with purposeful lighting can do the trick.
  • Different candidates will find the content you post on different sites, but they will all have one thing in common: your website! If you’re looking to grow a team to the point where you are reading this blog, you probably have already taken steps to experiment with A/B testing on your home page and are comfortable with the idea of selling from your landing page. You may not have thought about expanding these ideas in the recruiting direction. Is there a call to action from your about and job pages? Does the content on your blog speak to candidates, or is it exclusively product announcements? I am not necessarily recommending you spend your design team’s valuable time on multiple about pages and running true A/B tests, but mindfulness of your audience is just as important in recruiting as it is in sales and marketing.

Drafting a job description deserves more than it’s own bullet point or paragraph, it’s easily a blog post in its own right. However, the abridged version of our experience followed these steps:

  1. Read through other existing job descriptions to build a flavor and feel for common styles and language.
  2. Draft a post describing (1) what the candidate would do in their first day, week, month, and year (2) what a candidate’s work history might look like (3) notes about the existing team and company, and (4) recent projects we had worked on as a team. Later we would add in an additional section describing the interview process itself, highlighting our hands-on-keyboard approach.
  3. Run the job description through text analysis tools like and that help highlight biases that exist in word choice.
  4. Share with other members of the recruiting team for gentle editing.
  5. Post to the world!

Tools of the Trade

After you’ve reviewed your brand’s online presence through a recruiting lens, you need to set up your machinery and mechanisms for driving your recruiting engine. Starting out you might do something simple, like keep it all in a spreadsheet, but you will quickly find that operating at scales of sending 10+ emails a day or working on recruiting with co-workers begets necessity for an Applicant Tracking System, or ATS. There’s a huge list of options out there and today we’ll talk about the two I’ve actually used: Lever and Greenhouse.

Applicant Tracking System (ATS)

The co-founder and CEO of Lever has a background in design, and it shows. Lever is a beautiful product. It’s grey-scale interface is a little much at first, but I quickly came to appreciate not only it’s sleek & flat design, but the simplicity and usability of it’s interface. What I loved Lever for was its pipeline analytics overviews.

The structure has a very natural navigation to it that wasn’t present in some of the other ATSs that we evaluated. It was easy to step into specific sections of the pipeline and look into individual candidates movement through our recruiting pipeline. We were working at candidate volumes in the hundreds, so it was feasible to look through every single candidate to understand what was going on in the overall system, and Lever did a great job of facilitating this type of exploration.

When I speak to a recruiter at a San Francisco startup and ask them about their ATS, I expect them to say Greenhouse. While Lever and other competitors like Jobvite and Workable all have sizable fan-bases in the bay area, Greenhouse is frequently the name that comes up first. It’s a fully-developed product with extensive permission-ing and candidate management capabilities. I unfortunately first became involved with Greenhouse when they were moving from monthly to annual pricing and had to forgo using them for awhile. Ultimately we adopted Greenhouse when recruiting went from “many-hat” hiring managers to an actual HR team. If you’re a well-funded startup and looking for an ATS for the for-seeable future, you aren’t making a mistake with Greenhouse, but it will work best with someone whose job responsibilities include managing the tool. Most of my exposure was in filling out greenhouse report cards and perusing the candidate list to track our pipeline.

The official Greenhouse candidate scorecard stock photo

Greenhouse was the first ATS we used to fill out scorecards, our previous model being a shared excel document where we would copy paste a template. For this purpose, Greenhouse shines. It allows for optional and mandatory fields, structured note taking, and only shows other interviewers responses when you’ve filled out your own. The oddity here is the requirement for the five-field scale. We had happened to use a four point scale prior to switching to Greenhouse, so we had to entertain a slight adjustment phase before settling into the five-scale scheme.

Working with Greenhouse analytics was generally approachable, but I did come across a few quirks. It wasn’t always straightforward to pull the exact numbers I wanted out of the candidate pipeline, and I occasionally had to manually click through each of the categories — for example, each of the seven different reasons we had internally for not proceeding with a candidate after an offer was made — to understand what was happening in our recruiting funnel. While it does a good job of exposing the data from an active pipeline viewpoint, I often felt I wanted to drill-down into slices of data that weren’t readily accessible, and would do some pen-and-paper tracking of candidates to ensure I had the entire picture.

Content Resource Management (CRM)

In addition to an ATS, you will want something to help you manage your email. If you have been involved in sales or marketing roles, I won’t be preaching anything new — the same tools for managing your sales pipeline make sense in recruiting. Content Resource Management tools, or CRMs, are used across business organization to organize information and your email is no different. Email clients like Gmail have a lot of organizational capabilities built-in, including automatic tagging, filtering, and nested folders, but you can take your email to the next level with an email tracking tool like Yesware or one focused around pipelines like Streak, in addition to dozens of other tools as covered by this great blog post from Workday.

The tools I used the most often were Yesware and Hunter, which helps you find someone’s email address and offers a convenient chrome plugin to help guess addresses when your are perusing LinkedIn. Yesware and Hunter are one of many choices in the crowded email discovery and management spaces — if you have sales and marketing teams you should check if you already have licenses for other tools like Hubspot, Radius, and of course, LinkedIn.

Sourcing Candidates

You’ve done the legwork and you’re armed for battle. At this point you might even be thinking that recruiting is pretty fun! Now it’s time to embrace the most challenging aspect of our task: sourcing candidates. There are going to be many avenues you pursue, and no one of them will be the silver bullet. Recruiting is a numbers game on both sides of the equation: candidates should pursue many opportunities at once, and companies want to see a large volume of candidates to fit people who will best excel in their environments.

Direct Outreach

Welcome to trying to find your own candidates. This will involve a mixture of crawling LinkedIn, Github, StackOverflow, and AngelList. It’s possible (perhaps even likely) that I was just bad at this, but it was challenging doing direct reach “on the side”, while also working the rest of the recruiting pipeline and also occasionally doing my actual job of writing code. I won’t even try to recover my terrible conversion numbers, but getting a real workable pipeline doing your own sourcing requires a huge amount of time, and I now strongly believe it is not worth it. If you aren’t building multi-year relationships with a large number of individuals, have access to a database of candidate emails, and are only pitching a single role at a single company, then you are already a step behind professional recruiters and unlikely to find it’s worth the time and effort.

Inbound Candidates

That time we spent thinking about our online presence will hopefully help drive some inbound interest in your company. We can further boost inbound interest by advertising roles on traditional advertisement networks and there are important non-advertising channels as well, namely the Hacker News who’s hiring thread. Hacker News is Y-Combinator’s news aggregator and is quite popular among the tech community, particularly so in SF. Every month on the first of the month they offer the opportunity for non-YC companies to post a job advertisement (which they are otherwise not permitted to do). The post regularly gets several hundred companies contributing a job description, and in my experiences this was responsible for a sizable portion of inbound interest. Most importantly, several of the hires that we made were Hacker News inbound candidates, myself included, and it is my immediate recommendation to both candidates and companies when they are asking about the software engineering job market. By posting to this thread in the proper format you should automatically be added to websites that aggregate the postings from those threads, such as and this hiring map from Gaganpreet.

Hacker News is certainly not the only strategy; we also ran a few Facebook ads targeting software engineers in addition to running ads for the product itself that frequently targeted the same audience. While I don’t know for sure if any of the software engineers we hired came through a Facebook ad, I do know that a data analyst we hired found us through a product advertisement. Other sources contributed to inbound interest — our company’s blog is technically focused and included, at various points, a “come work with us” call to action. Whereas direct outreach was hugely time-intensive, these efforts were not particularly costly in time, effort, or financially, so even without a massive effort to track the success, it felt appropriate to pursue.

External Recruiters

There’s something of a stigma around full-time, third-party recruiters. Often software engineers I speak to bemoan the emails and phone calls that they continually receive. Nevertheless, recruiters provide a valuable service and many of them do so with gumption. They are certainly worth considering, but working with external recruiters is expensive, taking 10–20+% contingency fee on the first year’s salary of a hire they introduce to you. A poor recruiter relationship can also be time-intensive, as it can be challenging to align your expectations around candidates: in addition to managing the relationship with the candidate, you have to iterate with the consultant and explain your hiring decisions. Ultimately, your incentives are not perfectly aligned. It can feel like they are working towards optimizing recall while you’re trying to calibrate the optimal recruiting precision where you can have a manageable workload. Especially when considering the relatively low initial time investment I would recommend giving it a try if you are prepared to pay the contingency fee.

In-house Referrals

I led a short campaign to get a paid referral program started at Periscope and as part of that effort polled my friends working in the Bay Area for the size of their in-house engineering referral bonus. Most companies that I spoke to had one, with payouts ranging from $1,000 on the low end to $20,000 on the high end. We ended up on $5,000 as it was both the median and mode from my short survey and we opened it up as a $5,000 bonus for most roles across the organization.

I’ve seen a few different strategies employed to drive referrals. The most common was to sit down with the individual leading sourcing and walk through LinkedIn friends lists to build a spreadsheet of people to reach out to, whether the referrer should be named when reaching out, as well as whether it is a professional, personal, distant, or LinkedIn-only acquaintanceship. If you are doing this with more than a small handful of accounts, it is worth exploring a tool like that can help organize and search your collective networks.

Other approaches I have heard used, like referral pizza parties or cash bonuses just for submitting resumes, also seem like viable strategies. When we later adopted Greenhouse as our ATS it provided its own workflow for referrals, the ease of which I felt helped encourage submitting referrals.

Focused Hiring Platforms

When I started writing this novel it was an exercise in brain-dumping content and I did so with the purest of intentions. Between then and now I have joined the remote interviewers program at Triplebyte, my favorite of the platforms I will talk about below. So please take this salt grain as you read my opinions of hiring platforms, though I do hope you will believe I am sincere.

digest with a grain of salt, courtesy

This is the place where I am the most excited. It is also the place that is experiencing the most rapid growth. Between when I first started searching for recruiting platforms a year and so ago and the publication of this post, I have discovered at least twice as many such products. It is possible that all of my recruiting google searches have allowed for better Facebook ad targeting, but I do believe that many of these companies are less than a year old.

In the preliminary phone call, the one that was mostly about selling the candidate, I would sometimes ask what other companies with which they were interviewing, and people were generally forthcoming. Especially when I was excited about a candidate, and doubly-especially when I was excited about a candidate but didn’t think our company was the right fit for them, I wished that I could simply go to the other companies and recommend the candidate. Well it turns out I was far from the only person with this idea, and there are a plethora of companies entering the domain of providing technical qualification quizzes and interviews as part of their sourcing of candidates.

At its heart it is a simple idea — look upwards in the pipeline, merging the technical qualification piece into the third-party sourcer. Champions of these platforms paint a beautiful picture of how “hiring is broken” and they are “re-inventing the technical interview”, but at a macro level they are still recruiters introducing candidates to companies. The major innovation is the technical pre-qualification that, for example, facilitates Triplebyte customers to bring candidates directly on-site, greatly shortening the internal pipeline. There are several other advantages that these platforms offer on to both the interviewees and the hiring companies. Having been involved in so many engineering interviews, they are able to greatly surpass my coarse intuition-driven lessons-learned, and instead model how a candidate will do in onsite interviews from the earlier stages, with enough data to draw real, meaningful conclusions. The evidence shows: more than 50% of the introductions they make (i.e., onsite interviews) result in an offer-made, which is well above the numbers I experienced myself and have gleaned from chatting with other hiring managers.

There are other platforms that are more like traditional job boards, but targeted at software engineers. Hired is my favorite of these examples, though I will concede it is a little gimmicky. The shtick is they remove a good portion of unconscious bias in resume processing, as they only initially display a candidate’s initials — no name, no bio, no photo. Unconscious (and conscious) bias is not a topic we will fit into this post, but I recognize that it is a challenge for anyone involved in hiring and appreciate organizations that are helping to reduce the impact of bias from their recruiting pipelines. The other angle Hired plays is that companies communicate target salary numbers immediately upon reaching out to a candidate — though I do not think they are not obligated to abide by that number if they do make an offer. The result is the creation of a sort of silent, blind auction with even greater nuances than a standard auction and the accompanying game theory to think about, but in our experience it wasn’t a huge deal and probably helped make downstream compensation conversations a little easier.

I have only just brushed past the tip of the recruiting platform iceberg. Without doing them full justice, here is a list of recruiting companies worth investigating if you are looking to accelerate hiring:

  • Triplebyte handles both sourcing and technical evaluation of candidates, moving them straight to the on-site portion of your recruiting pipeline. Other companies are also involved in the technical pre-screening space, like Yodas, CodeFights, and HackerRank.
  • Hired, Vettery, and Woo are software-engineering focused hiring platform that emphasizes blind resume screening, a modern company-seeking-candidate reverse job board.
  • The Muse adopted the AirBnB model of bringing a photographer on-site to shoot your space and build a beautiful profile. They work closely with your hiring team to set up photos, videos, and written copy selling your company. They then showcase your space through their site and will mention you in their recruiting articles, with titles like 20 Amazing Tech Companies to Work For, that they work into their wide array of articles targeting job seekers.
  • Pramp offer mock interviews to candidates, free of charge, which they do by having each person play both interviewer and interviewee, alternating roles. Zenterview is an interesting entry in the mock interview space as it seems to have a “pay what you want” model.

There seems to be a new entry into a different part of the recruiting space every month. In our list here, we have not even touched more traditional job boards - AngelList, ZipRecruiter, Glassdoor, LinkedIn, Indeed, and many others all help software engineers find jobs. The space is huge, and growing.

Go Forth, and Recruit

If you've stuck with me this far into the blog post, then I hope you feel equipped to turn on your recruiting engine and ramp up hiring. What has your experience been in recruiting been? Drop a note if you see something missing from the software engineer recruiting landscape. We talked about pipelines and sourcing today - we could dive even further into building the job description, managing the pipeline as a hiring manager and even sourcing candidates and further exploring even wider territory - getting co-workers involved in recruiting, building a Consistent pipeline instead of need-based hiring, diversity in hiring, and much more.

More by Austin Gibbons

Topics of interest

More Related Stories