Y Combinator Startup Podcast - #1 - Hiring Engineers with Ammon Bartram

Episode Date: May 15, 2017

Ammon Bartram is the cofounder of Triplebyte (YC S15) and Socialcam (YC W12). Triplebyte (https://triplebyte.com) connects software engineers with companies that are hiring. Read the transcript here... (http://blog.ycombinator.com/hiring-engineers-with-ammon-bartram).

Transcript
Discussion (0)
Starting point is 00:00:00 Hey, this is Craig Cannon, and you're listening to Y Combinators podcast. In case you don't know about YC, here's what we do. Twice a year, we invest 120K in a large number of startups. The company's moved to Silicon Valley for three months to work with us and build their company. At the end of the three months, they demo to a room full of investors. Many of the companies have gone on to be very successful. Some of the ones you might know are Dropbox, Reddit, and Airbnb. I'm excited to get our podcast, and I'm excited to get our podcast, Aaron Harris and Katman Yalik for starting the original YC podcast, Startup School Radio. Our first episode is with Amin Bartram. Amin has co-founded two YC companies, Social Cam and TripleByte. TripleByte connects software engineers with companies that are hiring. And some of the most frequently asked questions at YC are around hiring, so I thought it would be good to have Amman in as he thinks about it all day. Our discussion mostly focuses on hiring engineers, though much of the advice he shares could be applied to hiring for other roles.
Starting point is 00:00:51 Okay, here we go. Hey guys, today we have Amin Bartram, co-founder of Social Cam, TripleByte, and he is here to talk to us about hiring. So could you just give us a quick intro about what you've worked on? Cool. So I joined Justin TV fresh out of school in 2009 when it was just 25 folks and kind of went through the roller coaster of the early days of Justin TV.
Starting point is 00:01:20 And there I worked mostly on the video system. And I think that was where my first sort of taste of hiring. We were, at the end of that, we were hiring pretty aggressively, and that was when I first realized how much noise there is in the hiring process. Okay, yes. And then I was part of the spinoff of Social Chem, and that was a sort of video sharing app. I did that for about three and a half years.
Starting point is 00:01:47 And we were acquired by Autodesk in 2012, and I worked there until 2014, and then took a bit of time off and started Trulbyte. Cool. And so triple bite just for context, for people? Can you explain? Sure. So we're a recruiting startup.
Starting point is 00:02:03 So we help startups hire engineers. And so engineers apply to us. And then we do sort of a full interview with them, you know, pass the engineers who are good and match them with companies where they have a high probability of doing well. Cool. So people ask us a million questions about hiring, recruiting, all of it. In general, let's assume that you're, you know, early stage startup, what should companies be looking for in an engineer?
Starting point is 00:02:34 There's not a crisp answer to that. I think the sort of the pithiest answer I can give to that is you have to decide what it is you want to look for, and then you have to effectively look for that. So sort of the status, actually, I think there's sort of an important truth here. Most companies think that they are trying to hire good engineers. That's what they say to themselves. And what they don't realize is that, you know, company A's definition of a good engineer is significantly different from company B's. And so what you have is a situation where everyone has this definition in mind, and they're all different.
Starting point is 00:03:13 And this is a big source of noise. So, for example, if one company thinks that engineers need to be, you know, very fast and productive and be able to show that in an interview, And a different company thinks that engineers need to be very intellectual and be able to deeply understand computer science topics and talk crisply about that. What happens is sort of all of the all of the awesomely productive engineers, very practical and not necessarily in the strong academics who applied to the second company, fail. And all of the very academic could totally solve all your hard problems that maybe aren't quite as flashy in a web environment, engineers who apply to the first company also fail. And so it's, you know, for companies at a bit of a larger stage, I think the obvious answer is you want to hire both those people. And so it's about building a process that can identify more broadly different types of skill. For smaller companies, I think you're more in a situation where you may well actually only want one of those folks.
Starting point is 00:04:16 You may well, you know, the thing that's holding your company back may well be productivity. And we need someone who's going to come in and be productive and sort of bang out code. And if that's the case, you know, you need to realize that it's not important that everyone you hire be strong in computer science. And if you are, you know, a company where you're facing security issues and, you know, really clean code, really precise code and solving hard problems is important to you, then, you know, at an early stage. And it probably makes sense to have a process that skews more in that direction. And so do you have general advice for people that come to you guys at TripleByte or just you as a friend advisor for diagnosing, like, what kind of engineer is? is a good engineer for your company? What do you tell people?
Starting point is 00:05:00 We don't. So it's funny. We're rarely in that situation, actually. I think most people have strong preconceptions. So we're more often in the situation of sort of broadening people's people's vision of what a skill engineer can be. But I think the obvious, yeah, let me circle back to the question. I think what happens a lot, this is a mistake that's easy to follow. into is when people are interviewing an engineer, they tend to ask about the things that they
Starting point is 00:05:38 are the best at. There's this overlap between the things that you're the best at and the things that you think are the most important. Every engineer thinks the things that they know are kind of the core of the discipline. And so you ask everyone who you interview those questions, you bias yourself toward hiring engineers who have those skills. They join your team. They ask people, they interview the same type of question. And so the whole organization and can grow in a direction that might not make sense. Okay. You know, it's very complicated because there are plenty of examples of companies with, you know,
Starting point is 00:06:10 with defined engineering cultures that have worked out very well. So, for example, Google, you know, has intentionally or intentionally grown very much in a computer science direction, and that's obviously worked out, you know, very well for them. Yeah. You know, okay, there are other companies in OIC that, that, that, I don't want to say names here. But there are companies that take a complete opposite, take a very human productivity-friendly approach, and they're also extremely successful, excellent companies. And so, you know, answering that question is not, basically, there are success cases on both sides.
Starting point is 00:06:45 But I think as, you know, when you're hiring your first employers, I think you need to just basically, you know, try to decide what's holding us back, you know. And so, yeah. And so say, like, say I'm trying to vet this pool of engineers and they all, like, fit the certain rubric that I'm, I've created, right? Yep. But maybe one of them did a boot camp and has some projects, and then one of them, you know, went to a great school, has a CS degree. So how do you, how should I think about, you know, credentials and experience?
Starting point is 00:07:14 Boot camps versus CS degree, I don't think are all that different. Now, okay, that's obviously a kind of a forceful statement. So I think experience matters more than where you got your education. So someone fresh out of a CS program who doesn't have internships. It's still essentially a junior engineer. And perhaps they may have a more academic slant to what they've studied than someone out of a boot camp. But both those people lack real world experience.
Starting point is 00:07:46 I think categorizing that differently than someone who has worked in the industry for five years and can own projects. So the skill that you can most easily measure in the skill that you can most easily measure in an interview is ability to think through rather these small problems quickly. That's really what interviews can evaluate.
Starting point is 00:08:10 The skill that you need in an employee is quite different. The ability to solve large sprawling problems well, but over a long period of time. And there's obviously a correlation there. It's not, we use interviews as a proxy of evaluating actual skill because there is a correlation there. But the correlation is not perfect.
Starting point is 00:08:29 And an interesting observation is that people who are fresh out of university and boot camps, actually in many cases, because they've been practicing, are better at the kind of problem like it's asked in an interview than your very senior, you know, 10 years of experience at large company engineer. What the senior engineer has, typically, is experience making our architecture decisions, owning projects, gathering requirements, carrying that whole process through. And so, okay, how do we evaluate for that? It's super hard. Basically, what ends up happening, and this is honestly unfair, is that experience is used as a proxy for that. This is something that we're focusing on a lot of trial bite. But what, you know, this is very strange.
Starting point is 00:09:12 Actually, if you are, if you have five years of experience, it's just flat out easier to pass an interview. You will get a job offer, you know, after a worse performance. People think maybe that senior engineers, you know, you expect their senior, they should perform better in the interview. And that's actually not generally true. The barred to getting a job offer goes down as you have sort of a present-looking resume. And this is not, you know, it's not irrational in the part of the companies.
Starting point is 00:09:37 It's just the reality. Sure. Okay. And so then when you guys are like pre-screening these people for triple bite, for example, like what are you looking at? What are you having them do? So we, the approach that we take is to evaluate as much as we can in isolation and be aware what we're evaluating.
Starting point is 00:09:53 So we explicitly evaluate. programming, just programming productivity, given a relatively, you know, a speck-out problem. So, for example, we like, describing an algorithm to solve a problem, it's not super math, it just who's the set of steps they have to do. Can the candidate take that and, you know, render it into well-working, well-structured code? And interestingly, junior folks actually often do better than senior folks at that sort of problem. We then separately do a evaluation of sort of academic computer science skills. You know, is the engineer knowledgeable about computer science and about that approach to problem solving?
Starting point is 00:10:35 We then separately, one thing that we took from Stripe actually is we do a debugging section. And so we give the candidate a large code base and that has some bugs. And we ask them to sort of take some time, dig into the code base and then try to find and fix these bugs. And I think that does a great job of solving some of those problems. basically because this is a skill that comes from experience that is often missed by more, more, more traditional new years. And then finally we do a system design section. So, you know, here's a talk, here's, you know, here's some requirements, design a production web system to satisfy these requirements. Okay, now we're going to change the requirements. You know,
Starting point is 00:11:18 how do you adapt your design? How do you talk about tradeoffs? And all of that's done remotely because the person's at home, right? Yes. We do this all. over Google Hangouts. Okay. And so what's a reasonable amount of time for someone to just, like, go through one of these exercises? Are they all widely different? To go through our exercises?
Starting point is 00:11:37 Our interviews are about two hours in length. And so we spend about 30 minutes on each section. Okay. Cool. And you find that's, like, a very strong data set in terms of correlating how successful they are? Yeah. Well, we've done about 2,000 of these interviews over the last year and a half.
Starting point is 00:11:51 And so we've been able to sort of drill in on the parts that are, that are most predictive. and cut time off and shorten it. I think if you're starting from scratch, you would probably need about twice the amount of time to get through all that stuff. Okay. And so having gone through all these interviews at this point, was there anything that you thought
Starting point is 00:12:06 was really important in the beginning or something that's very common in the valley that many people think is important? That isn't really important? Too much reliance on a single question. So the classic interview format in tech companies is a number of one hour, 45 minute to one hour sessions.
Starting point is 00:12:23 And often engineers pick the questions themselves. And they're usually, like, little nuggets of, like, they're sometimes pejoratively called brain teasers. I don't think, like, almost no one actually asked brain teasers. They're more like legitimate programming problems. But they are little nuggets of difficulty. Like, how do you, you know, given a string of parentheses, how do you turn up the well match?
Starting point is 00:12:49 Okay, given multiple types, how do you turn with them all match? If you don't, you know, that's a classic interview question. And it ends up, there's just a huge amount of noise. If you just take a bunch of candidates and in a controlled setting, have them all answer, you know, three or four of these questions, you'll see there's just, you know, there's some correlation, but there's way less correlation than you would think. And companies, honestly, I believe this in my previous, you know,
Starting point is 00:13:16 when I was, you have this question, you ask them on the question, and you see this variation, and you assume, oh, the people who answer this question well must be smart and good programmers and the people who get totally tripped up must not be. And then when you actually like inspect that you see that there's this huge amount of noise and like we have this pretty incredible
Starting point is 00:13:34 lens on this because we evaluate engineers pretty rigorously and then send out to multiple companies and see what happens, get detailed feedback. And so yeah, is that feedback from the actual interview process or then once they're placed you actually know as well how they're doing? Both. Okay.
Starting point is 00:13:51 But I'm kind of talking about the interview process. So we screen engineers, we send them to companies, and then they do the interview there, and we get feedback. And it's just pretty incredible how much is agreement there is. So a candidate who, you know, does really well at one company, and we get total, this is what the best people we've interviewed in months, this is a rock star, goes on to fail an interview at somewhere else. And a pretty interesting stat we dug up is I compared the rate of agreement between interviewers at companies. with a data set of users reviewing movies online. And the numbers were actually, basically, and the inter-rater agreement was equivalent.
Starting point is 00:14:33 So basically, knowing that an engineer did well at one company, gives you about as much information about whether that engineer is, you know, skilled as, you know, knowing whether, you know, the New York Times film critic, you know, rated 12 years of slave as excellent or terrible. So, okay. Maybe you don't have an answer to this, but say I'm really good at brain teasers. Where should I interview?
Starting point is 00:15:01 Larger companies. Probably larger companies. So, and this makes a certain amount of, okay, this is all very complicated. It makes a certain amount of sense. So bigger companies, so brain teasers always introduce noise, but we've found that bigger companies rely more on that type of interview. And they do that partly for some rational reasons. So bigger companies care more about measuring your innate ability and less about measuring whether you can jump into their particular code base
Starting point is 00:15:35 and be productive on day one. But it's way more likely that a smaller company is going to say we're using Ruby on Rails. We need a very productive Rails developer. Come take this interview and we're going to measure how well you can do maybe how well you can work on our actual code base. Okay. Whereas the big company,
Starting point is 00:15:52 You know, Facebook, Dropbox, Apple, Google are more likely to say we care about smart people. And within the confines of the noise, of the interview process, they're trying to identify intelligence rather than specific experience. I mean, they also have like capacity time to train people. Yeah, precisely. Whereas like a small company in no way. Okay. And then like prior, one of the questions, what about skills that people don't think is correlated that are strongly correlated to a successful engineer? relatively easy problem solving.
Starting point is 00:16:22 So we've found that asking pretty easy interview questions is often more generally predictive than asking harder interview questions. And so to break this down, there are two sources of signal from asking a question. You can get signal on whether the candidate comes up with the right answer, and you can get signal on whether they,
Starting point is 00:16:47 whether they struggle, how easy or harder is them to solve the problem. And so we score both these things for a bunch of questions and we've done this for thousands of candidates. And what we found is that if you go in and look at how much, you know, the individual score
Starting point is 00:17:01 on one question we're asking correlates with how the candidate does on the job. And what we found is that, as you would expect, getting a question right is correlated with being an engineer. And as you would expect, being able to answer a question
Starting point is 00:17:17 easily is correlated with being good engineer. But there's also, of course, you know, false negatives, right? So there are great engineers who fail into real questions and they're great engineers who struggle with questions. And if you do, if you look at like the actual predictive ability, you know, rather than just the correlation of getting on the right side, right? The sweet spot is actually far lower on the scale than most people intuitively think. And so, yeah, can you give you like a couple examples of what those easyer questions might be? Yeah, sure. Just like saying like, you know, we want you to create a checkers game. Absolutely no, you know, no logic, I think complicated, just a class that has a board, has a grid, it's got pieces, pieces move around.
Starting point is 00:18:00 This is really a pretty mundane, straightforward task. That actually ends up being, you know, how well candidates do that, ends up being a more stable predictor of engineering skill than sort of, you know, here's you know here's a you know here's the I'm going to give you a sentence that can consist of a list of words
Starting point is 00:18:19 all glammed together and you define the optimal way to give a dictionary to break this apart into words okay that second problem you know ends up being
Starting point is 00:18:26 a graph search problem that can be you know optimized with you know memorization or dynamic programming the second the second problem right
Starting point is 00:18:35 carries more information than getting the first problem right but with a really high false negative rate yeah and so the first problem ends up actually being a better general predictor of engineering skill.
Starting point is 00:18:44 And so is there a way if I'm like getting ready for a new, you know, I'm going to go to another company. I'm going to get ready to interview. Do you recommend people train in any particular way or is because like you're going for that sweet spot of easy questions? Like, you just have to be smart enough to do it. Like what do you tell people? Sort of in general. If I'm going to prep to do some interviews, what would I do? So, I mean, I guess there's two questions there. One is where I think for companies that I think are doing a good job interviewing and then maybe for what I think some sort of the status quo is. In general, it depends where coming from.
Starting point is 00:19:22 So a very different advice for new grads and for experienced folks. Okay. So let's break up them apart. Yeah. New grads. Okay. For new grads, I would say, you know, make sure you're solid with sort of the classic stuff that, so, you know, breadth first search, you know, hash table heaps.
Starting point is 00:19:40 I mean, it's important. Classic or computer science. Yeah. A surprising percentage of a new question ends up being slightly obscured applications of sort of those, especially sort of hash tables and breadth first search. Those two things by themselves represent probably 40% of the questions that are asked in most companies. And so you need to know those. But actually, many new grads are already pretty solid in that because they've been being drilled throughout school. The second thing is practicing writing code under stress. So working out a big problem over time is very different than you have 10 minutes or 30 minutes. Here's a marker right in a whiteboard or even here's a laptop program on it. And so just the things correlate, the skills correlate. But you can improve your performance by practicing. So totally put in 30 minutes a day, finding some of your questions online and giving yourself a time limit and sort of trying to solve them under stressful situations.
Starting point is 00:20:38 And are there good resources that people can look for? Like anything in particular? Yeah, I mean the classic ones, right? So cracking the coding interview has a pretty good list of questions. It's the other advice in that book I don't think really applies to startups very much, but the questions are good. Then there are a bunch of sites online that have lists. Interview Cake is one that I've seen that I think is high quality.
Starting point is 00:20:56 An interesting aside to this, though, is that most companies actually want you to do these things. It's not, companies would prefer that all their candidates, we prefer. We totally prefer. Now, we try to design our interview in such a way that there's no impact, right? We don't really want to be measuring if you've been cramming. on algorithms. But what companies want to measure is like max skill, max potential. So they would actually much rather see you, you know, in a state where you're well prepared in the material, rather than the state when you have the potential to understand it, but forgot about it.
Starting point is 00:21:29 Yeah. And, you know, an interesting trend that's happening in the industry is companies being more upfront about what they're asking. So Facebook, for example, has started providing a sort of an interview prep class to everyone who applies so that there's sort of going over the material. It's part of me finds it encouraging because it is moving it in a better direction, but that's also discouraging because it's like really sucky that you have to like take a class to figure out of it. Right. I just wonder if it's filtering for those types of people, right, who are just like looking for it's like, I don't know what to do. I don't know what to do. It's like, well, if you apply here, you can take the class and then like, take it. Like,
Starting point is 00:22:05 let me hold your hand the whole way through your life. Um, yeah, yeah. Okay. Um, um, Okay, so say I am going to interview at a bigger company. Is there a way to prep to do well with the brain teaser stuff? Yeah. Practice. So again, there are some words that are thrown around describing any of your questions that aren't. Brain teachers are pretty rare. Some companies probably have asked things like, you know, the golf balls in a 1747.
Starting point is 00:22:36 But that's really very rare. Much more common is application of a computer science idea to a practical problem. Okay. And there still is this leap of insight required. In many cases, I think those are bad, bad any of your questions, right? You don't, like, you know, companies should try very hard to ask questions where there is, it's not like there's one thing that has to be grasped until that's grasped.
Starting point is 00:23:00 The problem feels impossible. But that, you know, but hard application, you know, sort of practical application of computer science topic represents the significant majority of questions at big companies. And so, so when I was in college, I interviewed at one of those, like, big management consulting firms. They did have all those questions. We spent like two months, like, prepping for it. And I didn't get the job.
Starting point is 00:23:22 And I did okay on like the stupid, you know, ping pong ball questions. You don't have to feel bad. One thing, one number we have that's interesting is that the engineers who do the best at companies go on to pass about 80% of their interviews, but not 100. No, almost no one passes more than 80% of their interviews at companies. Okay. And yeah, so, you know, one big advice to everyone is just like, don't feel bad if you fail the end. It is really not a referendum on your skill. I'm very happy to have not gone in that direction.
Starting point is 00:23:55 So what about the role of, like, you know, projects, someone's portfolio of like side projects. Are there certain types of side projects that across the board are attractive to companies? Or is it like, you know, say I'm applying for a job at Stripe? And like I did, you know, X payment type project and that would be more attractive to them. So across the board, are there things that are interesting? Let me, let me talk about, answer that question. Then we'll talk about what I think, you know, the right thing for companies to do it. So companies don't actually pay very much attention to side projects.
Starting point is 00:24:28 Okay. Except for at the screening stage. So resume screen, you know, candidate applies to a company, the company decide if they're going to interview the person at all. And there's some adverse selection bias and who applies. the companies and there's this big stream of candidates. And so at any company, there's this huge dream coming in and they have to decide somehow. And so they do that based on resume screens. And it comes down to pretty dumb credential stuff. If you've worked it at a top company,
Starting point is 00:24:52 you've gone to a top school. Or in some cases, if you have a project that they catch is right, that's impressive. And so sidebrass can help a lot there. But they are very rarely given away in the actual interview. And I think it's actually probably the right decision. So people who have side projects sometimes feel bad about this. Yeah. But the reason it's the right decision is that most engineers don't have side projects. Most engineers have
Starting point is 00:25:21 been working at a company and it's all proprietary code and there's very little they can show. That's, you know, eight out of ten in that situation. And having a consistent process, consistent fair, you know, like, consistency is the first goal of design of your process so that, you know, the big problem is that
Starting point is 00:25:37 the process is not usually consistent. So if you make it consistent, then you can optimize it. And having this sort of other process we look at at projects introduces noise. And it's also just really hard to do. So you can't tell if someone spent, you know, a weekend on the project or if they've been working out for like the last 10 years. We literally see both pretty regularly when talking about their projects. It's something I did over a weekend or this has been my, you know, abiding passion for the last 10 years. Let alone like who actually contributed.
Starting point is 00:26:07 Yeah. Yeah, and, you know, things like coding quality, right? It's actually, it's startlingly hard to look at a big bit of code and decide if you think the programmer who wrote it is, is skilled. Just again, like there's so much context. You can't tell what bugs they spend hours over. Finding me, like, finding bugs. None of us are good enough to look at a code and like immediately find the bugs.
Starting point is 00:26:29 Yeah. And, yeah. And so, you know, for that reason, for all those reasons, you know, side projects are useful. So if you're, if you're applying for jobs and you're being screened out at the resume stage, doing projects probably helps. I'm doing projects a great way to obviously increase your skills and that will be reflected in better performance on interviews. But I don't think projects have a very big role in the actual interview. And so what other things should I think about if I am being screened out? Like say like, you know, I'm getting a callback from like a one out of ten.
Starting point is 00:27:06 Yep. What should I do? Flat of Trilbyte. that's the short answer um you know otherwise yeah side projects help it just sucks right
Starting point is 00:27:17 it's this it's not it's not it's not malice on the part of the companies you know like they're overwhelmed by applicants and so they use these sort of crude filters and that's I think the big thing that we're focused on is trying to figure out to how to directly measure the skill and so that we don't have to rely on on you know
Starting point is 00:27:35 filters like where someone's worked or what's called they went to and what about things like you know for example, location. So say I live in Salt Lake City and I'm interested in getting a job, possibly at Facebook. Should I put like San Francisco on my resume and just like fly out for an interview? Do you have general advice in that area? Big companies don't care at all where you're based. They have, they fly people in, you know, by the hundreds every week.
Starting point is 00:27:59 Smaller companies do show a slight preference to local candidates. And so if your goal is to work at a small, let's say, sub, you know, 20 person startup, You're probably out of, I don't know, 10 to 20% advantage if you're based in the Bay Area. Right there. Okay, cool. So from the company side, there's like a million different interview methods that people go for. Say we are, you know, they go through triple bite, they get screened. They're going to do an interview.
Starting point is 00:28:29 Whiteboarding, pair programming, all that stuff. How do you feel about it? All the methods can work, the retro here. Let me sort of give a bit of a overview here. So, as I mentioned earlier, the core problem is there's this tension between the skills that can be best in an interview, solving small problems quickly, and the skill that matters as a program, solving big projects over a long period of time. And so the first approach you can take to interviewing is just say, okay, we're going to not do it. We're going to do like trial employment to something like that. And that totally works.
Starting point is 00:29:08 If you've worked with someone for a week, you have a far better read of their skill than, I think anyone can get during a three to four hour interview. The problem is that there's a pretty strong bias in who's willing to do trial employment. And it's an adverse bias. So many of the best programmers have lots of options. And if your company requires that everyone do this trial employment period, most of them are not going to just going to say no. And obviously, anyone who currently has a job. They can't leave for a week.
Starting point is 00:29:37 Can't leave for a week? Yeah. And of course, there's also, you know, you're committing a week of time. And so obviously you need some filter before the trial, you know, employment. And so I think in the end we're left with a thing kind of like the, you know, like the famous, you know, democracy is the best one of government except for all the others. I think that, you know, interviews are the worst way to evaluate engineers except for like all the other options. Yeah. And so we're less so like you have to do it.
Starting point is 00:29:59 It's fundamentally inaccurate, but you still have to do it. And the goal is to make it as accurate as possible. You know, and so once you're on that page, we see two sources of noise. we see noise that comes from the companies being inconsistent. So I talked about that a bit earlier. You know, just, it is still too often the process that engineers are responsible of coming with their own questions. So if you're asking every candidate different questions and coming to a gut call,
Starting point is 00:30:30 they're just this far larger than anyone really realizes a source of noise. And so like if you ask, you know, pick any company that has that process. If you ask them to somehow re-engineering, re-interview their colleagues, you know, in a blind fashion, right? They would have a, you know, they would likely have a 50 to 60% pass rate, right? So 40% of their colleagues would be screened out. Yeah. Yeah.
Starting point is 00:30:50 And so the solution there is just to be really consistent. Okay. So like to make sure that you're asking everyone the same question and make sure that you're evaluating them in the same way. And I think that's more important than what you're actually asking, right? So like if the first step is be consistent, second step is tweak that over time based on what's done on the results you see. Okay.
Starting point is 00:31:09 you know, once you're doing that, I think the other source of noise we see is companies looking for different things, right? And so, as example, like, if earlier you have a company that's looking for super academic, you know, engineers, you have to look for very practical engineers, you have companies that, you know, all skill engineers, you know, know, know, all skill engineers, you know about how operating systems work. You have companies who think that, you know, they only want people to people who have experienced in compiled languages. You have companies who like want people to use enterprise languages. You have companies, it's this mess. Yeah. And so I think the important thing is, you know, is to untangle which of those are conscious decisions you're making about who you want to hire. So you're a banking company. You want a big focus on, you know, QA process and safe code. It probably makes sense to reject someone for being too much of a cowboy. You know, you're a social media company. Your goal is to move really fast. You know, maybe you decide to have a culture where you want to move fast and break things and you want to hire cowboys.
Starting point is 00:32:04 You know, those are all, those are, you know, logical decisions. Okay. But very often companies are making similar kinds of decisions almost by accident. And so sort of introspection deciding, okay, like we want to hire those people and then designing the process to look for it. And so in your examples, whiteboard coding tends to skew toward the academic. It tends to give preference to people who are really good at breaking their thoughts down into this sort of structured academic way and writing with a small amount of code. So you often have people who are actually really productive, excellent programmers who look really stupid. and bad on a waypoint interview.
Starting point is 00:32:40 And so if you're not looking for academic skills, it probably makes more sense to put people on the actual computer and see how they actually work in their environment. Okay. And so what does the underlying question for me is like, could you engineer a perfect interview? But I wonder, like, what does the interview for a job at TripleByte look like? I mean, I imagine you made it, right?
Starting point is 00:33:02 Yep. Well, so first of all, all our candidates go through a regular process. Okay. So we hire people out of our, our regular stream. And then we compete head to head with companies. So they, we just enter them to us as well as other companies,
Starting point is 00:33:13 which is kind of fun. So they first, so they first go through a regular process. And so we already, you know, have a pretty strong sense of how they are in those areas. And then just like, you know, my advice generally is to decide
Starting point is 00:33:27 what the skills that you preference. And so I think we, we preference a couple of things. We prefer, you know, data and data analysis is pretty key to our business. And so we preference people being comfortable and familiar, talking and thinking about data.
Starting point is 00:33:44 That skews a bit more academic, I think, than what many companies hire for. And then we, because we're in the business of evaluating knowledge really broadly, we then preference breadth of knowledge, I think, to a greater degree than most companies need to. And so what does that mean in practice? Like, what questions would I be?
Starting point is 00:34:02 Would I be looking at? Yeah. So we, again, so everyone goes through first our, our standard process. Yeah, yeah. And so that gives us a pretty good read on just, you know, proactive programming output, general knowledge of computer science, general knowledge of system design.
Starting point is 00:34:17 And then we then, in our, we do an additional follow-up, you know, on-site with the candidates. And that goes much more into depth into data. Or if we're hiring them for a different role, we sometimes hire folks who are not working in your data. So if we're hiring to be sort of, say, a front-end developer, that would be sort of into depth, into front-end development. And so here's a, you know, here's a spec for a front-end project.
Starting point is 00:34:39 You have two hours. Build that. Or if there can be a back-in specialist, here's a back-end spec. Gotcha. Okay. And so as an engineer, should I be paying attention to like every new thing that's coming out? Is that going to be of importance when I'm doing an interview? Or should I be paying attention to whatever, a medium amount of it?
Starting point is 00:34:59 Well, yeah, there's an interesting longer-term answer. So one thing, a class of people we see, interestingly, we see people. We see people who have, who thought about that same thing 10 years ago. Right. Made the decision to not keep up. Now the industry has changed and now these folks are maybe still using, let's say, CGI, and don't understand modern webstack and are indeed in a weak situation in interviews. So I think the answer to your question is day one is not so important.
Starting point is 00:35:27 Very few companies, especially generally only smaller ones, are like directly evaluating flashy new tech. However, if you make the decision too, too forcefully today and don't keep up to date and you end up being totally behind 10 years from now, then you probably are going to pay a price. Yeah, I mean, especially if you're actually interested in starting your own thing at some point. Like being on the edge really, really matters. Okay. I mean, maybe this is kind of difficult to answer, but I wonder about like employee retention, engineer retention. Are there any qualities that you've found like you can vet someone and say like, okay, I think the actual. average is like 18 months or something for someone to stay around. Are there qualities that
Starting point is 00:36:07 correlate to longer term employment? I haven't looked at our data on this recently, so this is going to be a little bit sort of off the cuff. Yeah. I mean, just the obvious things, if candidates who are excited about the mission and the actual company have a higher probability of staying than candidates who are chasing the highest paycheck. Of course, they're counter examples. Sometimes there are awesome engineers who are looking for a place to really commit, but I also want to make a fair way. So it's all right. Like these things are all really complicated.
Starting point is 00:36:35 But yeah, looking for, I think, I think the number one thing I would just say is looking for engineers. How are excited about the company and the job. Okay, cool. So kind of just wrapping up, I wonder, are there any books or things that if I'm kind of like an engineering manager, I'm going to be running a bunch of interviews that I should really dig into and I can get a lot out of? I have not actually found any books that I think are very useful. I think this is going to sound arrogant maybe. But I think engineering, interviewing is this field where it's so easy to say things that sound profound that are not true.
Starting point is 00:37:10 I truly believe that like 80% of what's written out about interviewing doesn't actually hold up. So, for example, it sounds like a really idea that a lot of engineers love, right, is the statement that interviews don't make any sense at all. And you just look at work someone has done in the past. And, you know, we tested this a bunch. We tried scoring engineers and having talked about past projects. projects and scoring them and trying, like, even like a full hour, like going to depth in the project, talking details, scoring it. Just talking skill, ability to spin a tail, ended up dominating the actual engineering rigor. And this was far less predictive of job performance
Starting point is 00:37:50 than giving them a relatively simple programming assignment. I mean, and that kind of sucks. I don't really like that. That's the case. And you can find so many articles out there on the internet about sort of, you know, this, it's stupid that we're asking engineers to do these interviews. Why don't we just have them talk about their past experience? And just if you test it, it doesn't hold up. And just for the sake of like keeping the standard, right? What do you tell people do in that way when they're conducting an interview? Well, yeah, I mean, standardize, right?
Starting point is 00:38:17 So you'd be really careful about helping people, interestingly. So certain candidates are a lot better at a listening help without necessarily realizing that you're helping them. It's the thing we've had to battle with a bunch, actually. And so we have, it helps because we, again, we're doing thousands of interviews, and so it's easier for us to do this. But sort of being, we have kind of a decision tree of all different ways any of you can go and like what help we're allowed to give and what help we're not allowed to give. It's a big sorts of noise. Outside of doing a thousand interviews and standardizing it, I'm not sure I have a really good fix for it, but be aware that some really compassionate candidates will be like. Okay, so, okay, so what's a common area where I might ask for help without you even realizing that I'm getting help?
Starting point is 00:38:56 one is just being brave enough to ask. So saying like being really friendly. Yeah. And then saying something with confidence that's that's sort of like sort of right. And then getting, there's this natural instinct to like add on to incorrect the error. And as the interviewer, it's really easy to do that and not realize that you're like steering the person through the problem.
Starting point is 00:39:15 So if you're going after interviews, you should do exactly that. I have a blog post on how to fare for interviews. And I do like, I recommend trying to do that actually. Really? Oh, that's awesome. Yeah, I want to add a sort of a side to that, though, which is actually the negative side of that, which is that interviewing can turn into hazing. Another interviewing is not just devaluation. It's also like this right of the shared right of entry into a company.
Starting point is 00:39:42 And some companies develop this culture around the interviews being hard and unpleasant. And as the interviewer, it's really easy to forget how much harder it is. But you're the one you're answering the question. much easier to feel smart when you're asking the question. And sometimes candidates get really flustered and can't answer a question. And it seems like it could be really frustrating as the interviewer if they're like, this thing is obvious in front of them and they're just missing it and they're wasting your time. And you can get a little bit angry inside. And it's just really important to stay away from like the hazing, but like taking out anger on them by like, you know, I'm generally
Starting point is 00:40:22 against cutting interview short, actually, I think it's, I think, I think, except we're in the case where the candidate is in pain, I think it's not worth doing. I think you save some time, but, but you damage reputation, you know, they, they, they just like it. It's embarrassing. Okay. But definitely staying away from the hazing, staying away from like the... So does that just mean, like, crazy brain teasers? Does that mean, like, cutting them off in conversation? What does that mean? Yeah, I mean, well, it means all those things, right? So it means crazy brain teasers, being mean, thinking, sort of, sort of getting slightly angry and aggressive
Starting point is 00:40:56 in how you answer their questions. Because you're frustrated by how poorly they're doing. And a trick that we use that I think helps in that case is sort of, in the case where a candidate is totally failing in the interview, like flipping a switch in your brain and going from like evaluation into teaching mode. Your like full goal now is just to explain and as friendly as possibly. Generally, you're only other person failed, right? This happens when the person has already essentially failed,
Starting point is 00:41:20 at least the problem, if not the interview. Sure. And so you're like, you're already having in their brain found, okay, this person is not passing. So I'm going to spend the remaining 15 minutes being friendly and explaining the answer to this question. Sure. Rather than continuing to try to elicit responses from them.
Starting point is 00:41:33 And what about just the dynamic? Like, do you advise one-on-one interviews or how many people to per interviewee? Yeah. Interview panel definitely increases the stress. Yeah. So we maxed out at two to one. So training is important, right?
Starting point is 00:41:47 So if you're trying to keep it consistent, you need to have continual cross, like, people need to watch each other's interviews. And so, but two, sort of one interviewer, one shadower is enough to do that. You know, going beyond that increase of the stress and I don't think it really helps. Cool. So if people want to follow up with you and ask you questions, how can they reach out to you? Sure. My email is Amin at drillbite.com.
Starting point is 00:42:11 That's A-M-M-M-O-N. Cool. Thanks, man. Thank you, Craig. All right. Thanks for listening. Please remember to subscribe to the show and leave review on iTunes. After doing that, you can skip this section forever. And if you'd like to learn more about YC or read the show notes, you can check out blog.commodator.com. See you next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.