The shortest, strangest engineering interview I’ve ever done.

Daniel Brain
9 min readAug 16, 2024

--

Last Friday I posted a job description for a role I’m hiring for, for my early-stage YC startup, OneText. I’ve had a lot of positive responses to that job description; people have told me it really resonated with them and we’ve had more applications than I’ve been able to handle so far.

And then there’s Adam (name changed).

Adam filled out the application form, gave some great answers, and his resume, personal site, and Github history looked extremely relevant to what we’re looking for.

Before I talk to a candidate I take as much time as I need to look through all of these; I don’t want to waste their time asking questions that have already been answered.

I was even tickled by this answer to one of our questions:

I had to post this on Slack. Who could pass up this opportunity?

I don’t mind a bit of bravado, and found this quite funny as a way to stand out a little and make me laugh while reading a bunch of applications.

A quick interlude — how I like to hire

I worked at PayPal for over ten years, and saw all manner of hiring practices, some great, some godawful. I feel like I could write a book on the topic, but in a nutshell here’s where I’ve landed:

  • I try to write job descriptions that are somewhat inspiring, and actually describe the team’s culture and the mechanics of the job, not just checkmark lists of technologies.
  • In the job description I outline what our interview process is like, and I even try to give lists of the kinds of questions we’re going to ask, often verbatim
  • I try to make all of the calls we have with candidates more like conversations, and less like tests or exams.
  • When it comes to figuring out how a candidate codes and solves technical problems, I usually offer a few options to the candidate. They can share a few Github repos that they’re proud of, or they can do a small take-home coding exercise, or they can do a live pair-coding call. If they decide to do a coding exercise, we’ll offer to pay a fair hourly rate for their time. I hate the expectation that anyone should do spec work for free. And if they decide to do a live call, we send over the exercise in advance.
  • Anything they talk about in the interview, or any coding exercises they do, we feel should be as close to real-world problems as possible. So absolutely no leet-code, algorithms, and so on. Just real world engineering challenges that we’ve actually faced at OneText, or that we anticipate facing.

That’s it.

I don’t think this is particularly groundbreaking or that original. But we have had so many people tell us that our process was refreshing, honest and predictable.

We even ask in the initial application what is the best fit for the candidate:

Adam’s response to this was totally fair:

So I schedule a call with Adam

And get a positive response:

This is one of 4–5 calls I’ve scheduled for the week with candidates that feel really promising.

The call

Adam is about 5 minutes late to join the call. Not a problem, and happens all the time.

I’m going to paraphrase the conversation that followed.

Daniel: Hey Adam, how are you doing?

Adam: Doing well, sorry I’m late, had a call that ran on, you know how it goes.

Daniel: All good, I’ve been there! By the way, I hope you don’t mind, I’ve added an AI note taker to the call. I always feel like it makes the convo more natural if I’m not taking notes at the same time. Let me know if that’s ok, I don’t want to make you feel like you’re too much on-the-record.

Adam: For sure. You should also check out this other AI meeting assistant I’ve tried.

Daniel: Will do! Thanks for reaching out anyway, I’ve been giddy about meeting the best Node and React developer in San Francisco!

Adam: Oh yeah, this was that application. That was hilarious.

Daniel: I finally found you!

Adam: I remember writing that, that was a fun day.

Daniel: If it’s true, you’ll be a great fit on the team

The tone here is very jocular, we’re kidding around. Feels like a really positive start and Adam seems decently personable. We do a little more small talk about where we’re both from, and I talk a bit about the office space we just got in SF.

Adam: This might be a little unconventional, but can we talk about your interview process first?

Daniel: Sure! So in a nutshell, we’ll do this call today, I’ll get a vibe check, then I’ll introduce you to a few members of the team that you’d be working closely with: a few senior engineers, and our head of customer success.

We do want to get some idea of how you code and solve problems, but I’m very open to different ways of doing that. Whether it’s like looking at anything you have in GitHub or a take-home exercise or something like that, just to get an idea of how you code. Not trying to get you to work for free, so we usually offer to pay you an hourly rate for that.

Very open to different options there. I definitely don’t want it to be like five different calls where you’re doing a different coding exercise in every single one. Just want to get a general sense of how you solve problems.

I think you said in your application you’d be okay with a paid trial or something, so we can figure that out.

After that, I’d want to get you talking to my co-founder, Jonathan. And usually that’s all we need to make a decision and go ahead.

Adam: Okay, can I just ask how long you’ve been interviewing for the role for?

Daniel: This is the very first week, I put up the job description on Friday and have spent this week doing first round calls. A few people we’ve accelerated because they have existing offers.

Adam: Okay, so you’re doing a bigger sort of interview process, that’s what I thought. I was just trying to get the vibe. I’m not in a rush right now, I have a job, but I do prefer the companies that are more straightforward.

If I was hiring a new developer, I would probably look at their GitHub and have a pretty good idea if someone’s good or not without having to run them through the ringer.

I wouldn’t have them talk to the head of customer success and stuff. But you know, that’s fine. I think there’s just different approaches, but it’s probably not going to work out.

These kind of interview processes are usually pretty telling of what everything else is like. But thanks anyway for your time and best of luck in your search.

Daniel: Sorry — so you’re saying it’s not going to work?

Adam: No. That might work if I was like really desperate to work at Google or Facebook and they had me do all that stuff.

At this point I’m a bit confused. It’s not like I said ‘we require you to do a take home coding exercise’, and other than that I’m just talking about introducing him to the people he’d be working with. But my goal is always to work within the bounds of the candidates that come my way, so I try to get a better handle on what would be ideal for Adam.

Daniel: Okay, well just so you know, I’m pretty flexible. That’s just what I’ve been doing so far. But, can you describe what would be the ideal interview process for you?

Adam: I mean, if I raised money for a company or something, I was hiring developers as a developer, I would probably already know who I want to hire before I was even on a call with them. Then I would be doing my best to just convince them to work for me, because I can already tell who’s good, who’s not good, by everything that’s available online.

Daniel: OK, very fair

I say this, but I don’t know how you could hire someone and pay hundreds of thousands of dollars plus a decent chunk of equity without at least a couple of face to face conversations …

Adam: I know some people can’t tell. Some people need to do the big, crazy corporate, you know, let’s make you do these weird psychology exercises to see if you’re a good coder or not.

It just usually means the company has different priorities and is up to different stuff besides actually getting stuff done. But thanks so much for your time, and I hope you have a lot of fun with all of your many, many, many interviews.

Daniel: I —

At this point Adam immediately hangs up

Daniel: …

My initial reaction

I paused for a second after the call and then just burst out laughing. This was the most bizarre engineering interview I’d ever done. And I’ve done literally hundreds of these things.

I figured Adam had been burned in the past by long, endless interviews with multiple rounds of coding sessions. I tried to make it clear that a coding exercise was just one option; we’ve made plenty of decisions in the past just looking at Github and other sources.

The things I found most surprising were:

  1. That he wouldn’t want to talk with people on the team before accepting a role here. We’re a very small early stage startup, we only have around ten full time employees. He’d be working closely with these people every day.
  2. That he didn’t even seem to think that he and I should be talking. Even if we didn’t do any actual coding, I’d still want to have some idea of how he deals with architecture, scaling, what engineering practices he likes, and even more importantly what team culture and role he’s looking for.

But: it’s all good. He short circuited the interview, 5 minutes spent, no harm done. Easy to figure that neither of us was a good fit for each other.

(Ironically, wouldn’t have found that out without the call…)

The Aftermath

I expected to never hear from Adam again. So I was surprised to get this email a half hour later:

This was surprising. In the interview he had been very frank and forthright — which I admire, even if I found his reasoning a little confusing. He was at least polite though. Now he was in full attack mode.

As an aside: I am putting “copy/paste corporate idiot” on my resume. That’s absolutely beautiful.

I don’t like to take the bait, but I couldn’t help responding here. I’m in complete bemusement mode at this point

I do get a response, but it’s another confusing personal attack:

I’m not really sure what he means here. Most of my open source work is from a few years back, but I’m pretty proud of a lot of it.

One more snipe. He finds a demo page for one of my old libraries which is currently just a blank page (a css issue, somehow the dimensions for the component were set to 0 × 0):

I think I’m off the hook now, and perhaps Adam has moved onto other interviewers?

But all I can think is:

--

--