JOHN: Welcome to Greater Than Code. I'm John Sawers and I'm here with my co-host, Rein Henrichs. REIN: Hey John, thanks for making me do a split take right before my turn to talk. I am here with my friend, Jessica Kerr. JESSICA: And I am here with my favorite co-host, Avdi Grimm. AVDI: Thank you. And I am here with my friend, James Edward Gray II, who's joining us today. And some may know, he is the fixture of the Ruby and Elixir communities and he loves many languages and technologies, but Regular Expressions will always be his first love. I can relate. James enjoys teaching programming by writing books, giving conference talks and running trainings. He now spends his days leading the I Can Make It Better Dev Team and his nights chasing his nine-year old and her robots around the house. Is she building a robot army? JAMES: Yes, most likely. Hi, Avdi. AVDI: Hello. Welcome. JAMES: It's good to be back on the podcast with you. AVDI: Right, feels like old times. JAMES: Okay. AVDI: Yes. James, what is your superpower? JAMES: Robot armies. [Laughter] REIN: And how did you acquire it? JAMES: I think I always answer this question differently every time. These days, I do spend a lot of time chasing my daughter and her robots around, which feels like a superpower if you can keep up with her. I help out with robotics club at her school. I work with her team on their junior Botball challenges and things like that. So, that's a lot of fun and I learned a ton from it. Yeah, I'm glad that I get to be able to do that. JOHN: That sounds fun and exhausting. REIN: I have always thought that one of your superpowers is being able to communicate things in ways that fit for the people who you're trying to talk to. JAMES: Shut up. REIN: Yeah, I've always found the stuff that you write and such, your talks to be really accessible and easy to wrap my head around even when you're talking about not super simple things. JAMES: Thanks. I appreciate that. That's really nice. Should we talk about some interviewing? REIN: Maybe we should just dive right in. You claim that just be yourself is terrible advice. Why? JAMES: Okay, so here's my reasoning for saying that and feel free to disagree with me. You are highly encouraged to disagree. But when people say, "Just be yourself," I think what they're trying to get across is, "Oh, you don't have to worry about this. You can just go in, you know what you need to know. You're going to be good." And in some ways, that's nice. They're trying to set you at ease about something that is a daunting thing to most of us. It's daunting for me, anyway, going on interviews. And I think that aspect is great but it also kind of implies you don't need to do anything to prepare for an interview or you don't need to think about the kinds of answers you're going to give or the kinds of questions you're going to be asked or you don't need to have a plan. And I think that is absolutely wrong. You must have a plan. You are trying to accomplish something in this period while you're interacting with this person or people, and you definitely want to go into it prepared and ready to do what you need to do. That's my opinion. AVDI: But what are you trying to accomplish? JAMES: That is another big question, right? What are you trying to accomplish? What do you think, Avdi? AVDI: Gosh. REIN: Hey, hey, we're interviewing you here. [Laughter] AVDI: Oh, okay. I see. You just illustrated a very useful interviewing skill. JAMES: Yeah. It is a good interviewing skill, right? AVDI: Turn the question around. REIN: But what do you think though, Avdi? AVDI: Well, it's not the simple answer of trying to get the job. Well, let me couch that in terms of as a technologist in this wonderful privileged position of being highly in demand, which I think most of us are – seller’s market, I guess the term would be, I don't know. Anyway, as a result of that, the goal is not typically just to nail down the job. The goal is to find out would I be miserable here or not. JESSICA: Yeah, the goal is to get a job, but it's also to not get the wrong job. AVDI: Exactly. I don't think that there's necessarily the right job, but yeah. You want to avoid getting the wrong one. REIN: Yeah. People have made analogies between interviewing and going on a first date, and I think it's like that, but also way worse because you are about to enter into a serious committed relationship with like at least 10 different people and you're probably only talking to at most one or two of them for a short period of time. And so your job is to figure out whether you're compatible with all of these people, even though the signals you have available to you are very limited. JAMES: Also because of pay and healthcare and stuff, your life depends on it. So, no big deal. AVDI: No big deal. Also, it's not nearly as much fun as it did. JAMES: That's a good point actually. JESSICA: Yeah, you only have to talk to one person. JAMES: Right. REIN: So James, I agree with everything you said about don't be yourself. I would maybe also expand that into a few other areas. For example, in every relationship we have with people, we present ourselves in a certain way to that person. So just be yourself is weird advice to begin with. JAMES: Which one? REIN: I think we decide, especially in these high stakes situations with virtual strangers, just be yourself can be counterproductive because I think it is good to take some time to figure out how you want to be perceived and how you want to present yourself. And that doesn't mean you can't be authentic. It just means deciding which parts of yourself to reveal. And we all do that all the time in all of our relationships. JAMES: I'm really glad you said the part about be authentic. When I say just be yourself is terrible advice, I do not mean cheat, steal, whatever. Obviously, they ask you a question about why do you have a five year gap on your resume or something, which we should talk about questions like that at some point. But if they ask you a question like that, you should tell the truth about why you have a five year gap on your resume. JESSICA: Well, a truth. I mean, you did a lot of things in those five years. JAMES: Right. Yes. JESSICA: And so, which story do you tell about yourself? JAMES: That's fair. So, Avdi asked earlier, what are you trying to accomplish when you're in an interview? And I really liked what you said, Avdi, about you need to feel out if these are people you want to be tied to a sinking ship with or whatever. But on top of that, I'd say your main goal in an interview is to turn the interviewers into your advocates. You want them to decide, they want you in that position, so they're going to go to their people and be like, "Oh yeah, they're not perfect, but it's okay. We can work around whatever limitations they have," or whatever. Once you turn them into your advocate, then it's a done deal. REIN: That is my general theory about how you get change done, which is you find people who want that change and you help them fight for it. JAMES: I love that. JESSICA: Okay, so how do you turn interviewers into your advocates? JAMES: I don't know. What do you think, Jessica? REIN: Oh, my God. [Laughter] JESSICA: Okay. I'm saying this tongue in cheek, flirt with them? JAMES: Okay, nice. JESSICA: That would get them to be your advocates for the wrong reason, and not make the job a better place to work. REIN: The part of flirt with them that's good advice is build rapport with them, I think. JESSICA: Which actually can be difficult when you're the opposite gender of your interview of building rapport that they don't take as the wrong kind of rapport. So that is another of the subtleties. JAMES: Also as an interviewer, don't take it as the wrong kind of rapport, please. JESSICA: Oh yeah, that's true. If you're interviewing someone and they seem to like you, it's not about you. [Laughter] REIN: No one in an interview is there for a date. I want to make this super clear - not you, not the person you're interviewing. JESSICA: Yeah. We're dating a company here, not a person. JAMES: If you want to find a date, there are much better ways than going to interviews. REIN: Also, 90% of the people that you'll be interviewing if you're a dude are also dudes because our industry is totally screwed up. JAMES: Also a great point. JESSICA: Yeah. Most of them are straight dudes. JAMES: True. JESSICA: So, how do we build a rapport and still be authentic? I guess that gets back to what Rein said earlier about we present ourselves differently to every different person. And that's not like deceptive or anything. It's just that part of the value of being around a lot of different kinds of people is that different people bring out different facets in us. JAMES: That's a great point. REIN: Yeah. Lately, I keep bringing up Abeba Birhane's talks and articles on the idea that we don't have an essential real self. People are people through other people. We discover ourselves through other people. And yeah, like Jessica was saying, we express aspects of ourselves when we are in the presence of other people that we wouldn't by ourselves. Just be yourself, to me that's almost like a null statement. JOHN: Whatever it is you put on is still some aspect of yourself even if you think it's the parts of you that they want to hear or even if you're fabricating parts of it, that's still whatever you decide to fabricate. JESSICA: Okay. So, now we're asking which pieces of your other self shall we fabricate for each particular interview. JAMES: Right. When I'm interviewing, I'm looking for certain things and I think these are generally useful things for you to get across in your interviews. One of the things I really care about is that you're a strong communicator that you can get ideas across because that's going to be key in our working together and being able to react and knowing when you need help or when you're drowning, and I can throw you a line that comes from good communication. I'm genuinely looking for avid learners. People who enjoy learning, want to learn. There is never a tech job probably that you could just walk into and not need to learn some things right out of the gate. The domain, you're probably not completely familiar with the domain typically, unless you just happened to be coming from the one competitor that does the same thing or whatever. But I think that's extremely unusual. And you know, tech changes, we're always dealing with new frameworks and new whatever. You're going to have to learn things. And so, I'm looking for people that are avid learners. And I want to know that you're not a jerk, that I'm going to enjoy spending some time with you, talking to you and hanging out with you and that you're not a jerk. So, I think as you're building rapport, keep at least those things in mind. There are definitely other things you have to get across in an interview, but I think that's a great start. AVDI: Yeah, I think curiosity is a really big deal. JESSICA: And two things that you mentioned. One, communicating when you need help. And two, this curiosity and wanting to learn, both of those come out of admitting weakness. They come out of sync, "I don't know. Tell me about that." JAMES: I love the words 'I don't know'. If I can't make you say 'I don't know' in a technical interview, you probably failed the technical interview. AVDI: This is a thing that's come up with me. Okay, backstory here is that I'm actually interviewing for jobs again for the first time in like a decade. And yeah, it turns out that people are usually pretty impressed when they ask you a question like how would you tackle some very difficult scenario that you're not familiar with. And you say, I have no idea how I tackle that. So the first thing that I would do is I would find the person in the organization who knows the most about it and I would ask them to partner with me because I would be completely at sea. It turns out that that's actually a pretty popular answer. It's also coincidentally probably a good way of handling that situation. REIN: So James, when you say just be yourself is terrible advice, I think there is also a way in which just be yourself is really good advice. But I think you have to be careful to be very clear, or at least I have to be careful to be really clear about what I mean by just be yourself. I think that first of all, it's always good to be congruent. And in this case, it means being able to say your real yeses and your real nos. And it means having your words match your body and your tone of voice and things like that. But what it means for me in an interview is I only -- how can I put this? So, you gave a list of things that you as an interviewer are looking for. And when I am trying to figure out if I want to work for someone, I'd try to figure out what they think they want in an employee and whether I want to be that. And the way I do that is by just showing people who I am. And I try to show people who I am in a way that they can decide for themselves whether they want to work with me. And because of the privileges I have, it's safe for me to do that. And it's pretty effective because if people get really invested in trying to hire me, I feel more welcomed because I feel like they're wanting to hire me for the right reasons. So for example, if I had been interviewing with someone and I learned that what they look for is a good employee who follows the rules and these other things that I don't think are what being a good employee is about, I would hope that they wouldn't want to hire me and I would be fine with that. JAMES: That's a great point. I interviewed someone recently who said that. We were talking about weaknesses and problems or something like that and they brought up that they struggled at a past job because it was an environment where orders were handed down from on high and they were expected to execute. And their sole job was to execute, not think, execute. And they were talking about a weakness and a problem. And for me, this raised my opinion of them. I was like, "Oh, great. I don't want somebody who just executes or doesn't think." And what they're saying is, "I want to end up in a job where you expect me to think my way through these problems." REIN: Yeah. As an interviewee, I have a limited amount of time to get an organization to reveal that about themselves, which is something they are trying to conceal. They don't want you to know that they're shitty bosses. So, they're not going to come out and tell you that. And so as an interviewee, I need to figure out how to elicit something from them, uncover something that they're trying to keep covered. And the way I do that is being really open about the way I want to work and what I want a manager to be and find out if there is conflict there as quickly as possible. And that's what I do personally, and other people can decide how that fits for them. But it's been pretty successful for me. JAMES: That's a great idea. I'm now considering whether or not I can say I'm a shitty boss in an interview. JESSICA: Well, we ask them to name their weaknesses and they name ones that we're going to consider strengths. So you can do the same thing. JAMES: Sure. Yeah, you bet. JESSICA: I'm a shitty boss. I can't give people specific enough instructions. I need them to think for themselves. Some people hate that. I'm a shitty boss. I don't want to tell you when to work. I just want the work to be done. REIN: The problem is that I care too much about my reports. JOHN: It's the opposite end of the greatest weakness question. That's great. JAMES: That's awesome. JOHN: Rein, you were talking about how you sort of try -- tell me if I'm characterizing this correctly -- you're trying to get the organization to reveal its character by stimulating it with your character by saying, "This is all the stuff of me," and see what happens, what comes back, what they reveal when you say I want this and this and this and then this is how I want to work. Is that correct? REIN: Yeah. JOHN: Okay. I think for me and probably a bunch of other people, the question is then how would I do the same thing? Like you seem to have some practice with that. Like how do I get better at evincing those properties that can elicit the reaction. REIN: I think first you need to decide what your goal is in getting hired and whether you, for example, care more about paying rent than you do about working in the most fulfilling organization possible. For me, I have the privilege that allows me to be pretty picky. And so, what I do is when people ask you the questions that you're not supposed to answer honestly, I just answered them honestly and then I see what happens. And so when people ask me about what is your biggest weakness, I talk about things that are real for me like ADHD and what I do to cope with it. And if they have a problem with that, great, thank you, next. I would rather be working with someone who understands that and is willing to support me. JAMES: That's a great point. We've brought up a couple of times asking people about their weaknesses or whatever. This is an extremely common interviewing question and you should know that you can Google top 10 interview questions or common interview questions. And it will come up with a list and you should have answers prepped for most of those. You are probably going to get asked about your weaknesses. I'm not saying that you have to have a script and you should read from the script, but you want to spend a little bit of time of forethought on those and not be completely flat-footed by a question like that especially weaknesses. A bad [inaudible] is to sit there and think for a few minutes and be like, "Oh, I can't think of one." Really? You don't have any weaknesses. JESSICA: That's a weakness, alright. JAMES: Right, exactly. JESSICA: That's a good example of how just be yourself, the word 'just', I hate the word 'just' in pretty much every context, is a problem because there are many weaknesses for instance, that you have, which one when you talk about it is going to show the right people that you belong there and the wrong people that you don't belong there. What's going to be the most polarizing for instance. So pick the part of yourself that's most relevant and be prepared with that because if you just be yourself, what you're actually going to do in the moment is think of whatever's anchored or whatever came up in the last couple of dates that you noticed. It's going to be very dependent on your most recent experiences because that's what comes into our heads if we're not prepared. JAMES: That's a great point. REIN: One of the, I think, differences between just be yourself in sort of general and why it's bad advice and what we've been talking about is we've all been talking about things that are goal directed. So for me, it's not just be yourself because that's generally a good idea. It's do this thing to reveal yourself for this reason that you have to achieve this specific goal. So I think that just be yourself in a sort of generalized unspecific way isn't helpful, but being conscious about how you present yourself and what you're trying to achieve is in line, James, with what you were saying before. JAMES: I agree. AVDI: When it comes to weaknesses, first off, I think that's a terrible interview question. I think people should stop asking it. But okay, if people are going to keep asking it, the real problem I have with this is there are a lot of things that we have conventionally defined as weakness and there are multiple layers here. There is the fact that a lot of times what you think is your weakness is really something that people have told you about yourself over and over at your last job or series of jobs. It may be a message that's been said to you but isn't really true. But also there's a lot of things that people talk about as weaknesses that are really just differences. And so, I feel like thinking about how I would approach this question if somebody did ask it, the only thing that I'm comfortable talking about as weakness is here are areas of the work, areas that I know that may be involved in this job that I am weak in, in the sense of I don't have a lot of experience in them. I'm comfortable talking about that as a weakness. For instance, I have no experience managing 10 people, let alone 20 or a hundred. And that's a thing that I can bring up as a weakness and maybe something that I would potentially want to address or an area I might want to grow in, in a job. But that's a weakness in terms of experience. A lot of these other things, I really have a problem with the narrative of like, this is the way I was born, and it's a weakness. REIN: Yeah. My advice for people struggling to answer that question is to reframe it as here is an area where I need support from my manager or from my teammates. JAMES: Yeah. Actually, I think Jessica and I just had the exact same thought because I always want to say the things I'm working on, the things I'm trying to get better at. I've recognized that I'm not so great at this, so I'm trying to improve. Here's what I'm doing. REIN: I also like to remind people who are interviewing me that we're all in this together. And that if you're good at something and I'm less good at it, that you can share that with me and help me grow. JAMES: Right. Which is another one of my favorite things to bring up about interviewing. This actually comes from a book I read a long time ago at Katrina Owen's recommendation. It's called Mastery by Robert Greene and just really great. For those who don't know, there are three prongs to what motivates people intrinsically which is autonomy, mastery, and purpose. This book is about one of those prongs - mastery and how do you get it and what are the key elements of it. And one of the things Robert says in it is that he's talking about mentor relationships - mentor and mentee. And a lot of people think this is weird, but a good mentor relationship should be mutually beneficial, meaning that both sides should get something out of it. That's true in a job scenario, and you should be looking for this in an interview. You want to be getting something out of them. And obviously, they're getting something out of you. They're getting a worker, hopefully, who will accomplish tasks for them or something. But there should be, a good hire is a mutually beneficial relationship. There should be something you're getting out of them. JESSICA: Unfortunately as a developer, you don't have to settle for getting money out of them because that's an extrinsic motivation. And in software development, this work is creative and this work is full of decisions. Our job is making decisions not typing into the computer. And if you are doing creative work for extrinsic motivation, you're going to do it wrong. Your incentives are perverse in the sense of I'm getting paid to be at my desk for five hours or I'm getting paid to check boxes off on tickets and I'm not worried about the future. In fact, if you're working for extrinsic motivation, every incentive is going to be a perverse incentive. Every metric is when you're going to gain and all of those things are going to make you worse at your job because our job is worrying about the everything else. JAMES: I wrote that whole speech. JESSICA: [Chuckles] JAMES: I am literally obsessed with motivation to the point I think my wife gets sick of it because we go to the school and the teacher will give us like a sheet of paper, tell us some things about your daughter and there'll be a line on there what motivates your daughter and I'll write autonomy, mastery, and purpose. JESSICA: Nice. [Laughter] REIN: When I interview people, I like to ask them about their motivations, about what intrinsically motivates them. Maybe the question is, what gets you out of bed to come to work in the morning? Is it beyond just receiving a paycheck, which is very valid. Because as a manager, if people are intrinsically motivated, that means that motivation comes from within themselves. But as a manager, your job is to create an environment in which those motivations can play. So if I learned that someone is motivated by solving hard technical problems, I want as a manager to create an environment which presents hard technical problems to them. JAMES: That's a great point. JOHN: I think it's also instructive if they can give that answer about what motivates them because then they are able to seek those things out that they know motivate them and then it'll be much easier to align those things. REIN: And if they can't, it's sometimes interesting for me to sort of dig in and try to understand what's blocking them because sometimes it's these survival rules they've learned from other employers where they don't feel comfortable sharing that. And maybe I can convince them within the course of this interview that they can share that with me. And then we can sort of grow together a little bit. JAMES: Self-awareness goes a long way in interviews, like showing this level of self-awareness. JESSICA: Although you mentioned autonomy, mastery, and purpose and it just occurred to me, that rings wrong with me because I think it misses the biggest intrinsic motivation in human teams, which is connection, community, being part of the team as a system. And we want to accomplish the team's objectives because we want to feel we belong, want to be part of something and just other rewards, the good rewards, the ones that come from technically outside ourselves, but inside this system or product that really motivate us are someone at the next desk around you saying, "Thank you. Oh, that was super helpful." That is what's really rewarding and it comes from the other people on the team. JAMES: That's a good point. I said autonomy, mastery and purpose because all the books on science research and motivation focus on that and now I want to read the book that focuses on what you just said. JOHN: Yeah, it's interesting. I was thinking like not many interviews are set up to really help that connection aspect to be explored. Like we were saying earlier, you're forming a relationship with up to 10 maybe even more people, but rarely do you get to actually have that experience of knowing all these people and really getting a sense of them all working together. And I'm just now thinking about this, like what sorts of things could one do as an interviewee to try and alter the interview process so that you could get more of that? Can you just say, "Hey, we've gotten to round three," or whatever. "I'd really love to spend an afternoon with the team," or something like that. I would be really curious about what would be a good approach there. JAMES: I've had quite a few interviewees ask me about the team and wanting to know who was on it and what they were like or how often we get together, especially if it's a remote job, are there ever times when we come together face to face and stuff like that. So those are small things compared to what you're talking about there, John. But steps in the right direction, I think. REIN: The best advice I can give anyone in an interview on either side is to tell stories and to get people to tell stories. Stories about the way the team works, stories about your work experience and the things you've done. And so if I want to learn what it's like to work on a team, I'll ask the person I'm being interviewed by to tell me stories about what it's like to work on that team. JESSICA: What did they call that method of interviewing where you ask people, "Tell me an example of a time when you finished something." JOHN: Behavioral. JESSICA: Behavioral interview. Maybe if we just ask for stories. But those are things you have to prepare. I have a wide set of stories that illustrate how you work and what's important to you to draw from. JAMES: I do that a lot when a candidate asks me how we work, because sometimes I'll explain like the prosaic things when we have meetings and things like that. But I always find that doesn't really get the thing [inaudible]. So I'll tell a story about the last time I spontaneously paired with someone or something, and like how did that come up? What happened? What made us do it? And I find that people seem to enjoy that a lot more. REIN: Stories are how we achieve connection with each other, like Jessica was talking about. They are also how we share what it means to be a part of a community. Stories teach us about social norms and values. Think about the stories that are told by religions and the work that they do to enforce the values of those societies. Stories are the one way that if you want to learn what it's like for someone else, get them to tell you stories. That's the one way that works. JESSICA: I was thinking earlier today what it would be like to interview with a mob programming team because that should be pretty simple. Join the mob for half a day and then you would get both that sense of what is the team really like and what is it like to actually work with them and how do you communicate and how you ask questions and what happens with I don't know. And then they get to hear other people saying, I don't know, and helping each other. Would that be amazing? JAMES: It is a neat idea. We've been experimenting lately at work with things like mobbing a code review. We all do that together and toss ideas back and forth as we do that. And that would be a neat exercise. Not without complications because of which code you're looking at and stuff. But it would be a neat exercise to do something like that with the whole team as a way of measuring [crosstalk]. JESSICA: Did you recognize, it doesn't freaking matter what language features you know about, it doesn't matter how good you are, any particular problem. What matters is, how do you ask questions? How do you approach a problem? How do you find out? And I think that would all come out no matter what you were working on. I think it would be fun. JAMES: Yeah, I agree. I love what you just said about, if you notice like we've been talking, I don't know for what, like 40 minutes about what you should be doing in an interview. And so far, we mostly haven't mentioned like getting your tech level across or answering technical questions or things like that. And obviously that is a part of an interview. And in an interview, I'm trying to find your general tech level, which I'm looking for in really broad terms. Are you a junior, are you a mid-level, are you a senior? And the main reason for that is like if you're a junior, I don't want to put you on a very scary thing that's going to be overwhelming and frustrating. And if you're a senior, I'm thinking about, great, what can you teach my team or things like that. What will you do to raise all ships or things like that. But obviously, the tech level is a secondary concern to me. REIN: We, in interviews, seem to like to get people to tell us about the ways that they're not good. Tell me your greatest failure. Why did you leave this company? Why was there this gap in your resume? I think it's much more important to get people to tell you about the ways that they succeed. So if I want to learn someone's technical ability level, I ask them to tell me about a project they worked on where they felt like they made an important contribution. And then I try to get them to describe the nature of that contribution. Was it doing specific stories that were assigned by the product manager? Was it being involved in the scoping or other higher level concerns about the project? And then I can start to learn how did you interact? Maybe if I want to learn whether they can do like senior or above level stuff, I'll ask about how you work on a project where you had to interact with other teams or where your work impacted other teams or had a broad impact on the company or things like that. I think for me this is more interesting than technical challenges. Aside from demonstrating a basic competence with putting some words together in a text editor, I haven't found a technical challenge that can do what those stories can do for me. JAMES: Yeah. One of the questions I always ask is tell me about the accomplishment you're most proud of. And I hope to make people not intimidated of that question. I love when the answer is something silly, like I saw a need, so I documented this thing, like it doesn't have to be, "Oh, I developed this really complex protocol and managed all this stuff." It's like, "Oh, I realized no one could understand this part of the system, so I wrote it down and I explained it and then I asked everyone, is this better?" Like those are my favorite stories. REIN: When people ask questions like this as interviewers, I think it is very important to explain why you are asking the question. What motivated you to ask the questions. For example, if I'm going to ask, "Can you tell me about the work that you're most proud of?" I'll say, "I want to get an idea of the sort of work that really excites you and the sort of work that you really enjoy doing and you feel really, really proud about having accomplished. So I can know where we might be able to put you on the team and what stuff we can do together. So can you tell me about it," and so on. So trying to give them insight into what's going on behind the scenes for you I think is really helpful for the interviewee. JOHN: Yeah, that's so great having that context because there's a million ways to answer a question, but if you know why they're asking it, what piece of detail is the important one in there, (A) you'll get a much better answer because they know what you're looking for, and (B) it's much less stressful for them because then they can tailor it to a much more well-defined situation. JESSICA: [Inaudible] JAMES: What? AVDI: An interview is not a puzzle room. REIN: Yeah. I try to remember that when I'm asking questions, I'm also communicating and I have an opportunity to [inaudible] what questions I choose to ask because learning is a shared experience. JAMES: That's a great point. AVDI: I feel like we've sort of implicitly talked about turning it around and asking questions because James keeps doing that to us. But I'm not sure how much we've explicitly talked about that and I think that's really important. JAMES: Can I just give away my entire managing strategy now? REIN: Is it asking questions? JAMES: Yes. [Laughter] JAMES: Thank you, Rein, for demonstrating. It's amazing the second you are remotely put in a position of power, people come to you with questions, "What should I do with X?" And if I wasn't in that position of power like before, they would have just made some decision and done it. So my entire managing strategy, I'm going to unveil myself as a fraud right now is they come up and they're like, "What do you think we should do?" And I'm like, "Hmm, good question. How would you handle it?" And they explain it. And I'm like, "Let's do that." [Laughter] REIN: There's a fundamental difference between managers who think it's their job to decide what to do and managers who think it's their job to uncover the expertise that already exists on their team. JAMES: That's a great point. AVDI: In my coaching engagements, what I've found is that my utility over a generic rubber duck on the desk is mostly in maybe asking slightly better questions than the rubber duck would have asked. It's not in telling people what to do. JESSICA: It comes down to asking the right questions. Asking and here we are again on both sides. The communication of how we work together comes from how we ask questions, [crosstalk]. AVDI: Yeah. REIN: You know how people say there's no silver bullet? I have a silver bullet for managers. If you don't know what to say, say, "Well, what do you think?" JAMES: It's amazing. It's like it is a superpower, truly. JESSICA: Well, it relates to that, that motivation thing because when you're doing, as a developer, in creative work, and works that depend on your knowledge and you're making decisions, you can't be told what to do. Your job is deciding what to do. So if you try to tell people what to do, then they don't have enough information. You have to tell them, convince them why this needs done and then they will be able to do it and do it effectively. JAMES: Especially when in programming, everything is trade-offs. So, they'll come to you and they'll be like, "I could do it X or I could do it Y, which one's better?" The answer is always neither. Neither is better or there is no better. What I want to know is that you understand the trade-off you're making. If we go this way, this will be the problem we have. If we go that way, this will be the problem we have. If you understand the trade-offs, you're good. And I'll try to find this out in an interview especially when we're talking on technical issues where they mainly want to hear you talk about the trade-offs. We optimize for performance when we have to. We shouldn't do that if we don't have to because I would rather it just be readable and understandable and we'll probably have to make it ugly to make it fast, or something like that. REIN: So the job of a manager and the job of anyone who's attempting to control a complex adaptive system is to create the context in which the work can be done. That's the whole job. JESSICA: People have to be intrinsically motivated and then you have to make it possible for them to do their work. And then you make it easier for them to do their work as opposed to, "You just need to want this more because then you'll get past this obstacle that our company puts in front of you." If you just remove the obstacle, they won't need to do it. They already want to do it and they'll be able to do it faster. REIN: So yes. Extremely yes. [Inaudible] from Richard Cook, who's an anesthesiologist, which is that when you break a bone and you go to the hospital, the doctor doesn't heal the bone. What the doctor does is it puts the bone in a position and holds the bone in that position with a cast or some other thing so that the context is right for your body to heal itself. JAMES: I love that analogy. If your little girl breaks a bone, then the doctor also gives the parents a lecture that goes like this, "The kinds of kids who break bones are the kinds of kids who break bones," which is awesome. [Laughter] JESSICA: So it's going to happen again and it's her, it's not you. JAMES: That's what he said. [Laughter] REIN: There's another parable that might help people which is, Herbert Simon was a Nobel Prize winning economist and he talked about how an ant moves through the jungle. The ant climbs up and down a log, up and down the branches of a tree or around a rock and so on. And if you look at the path that that ant takes through the jungle, just geometrically, it looks very complex. And so you might ask yourself, "Well, where does the complexity come from?" Ants are very simple. And the answer is that the complexity comes from the interaction of the ant in its environment. And humans are not different. In fact, humans are more so this way because we're more perceptive of our environments. And so when you're trying to manage humans, your job is to construct an environment such that when they go the way that they go, it's in a way that works for the team and for your goals. People will go downhill in whatever direction downhill is for them based on their environment. And your job is to construct an environment where downhill points the right way. JAMES: Make more slides. REIN: Yeah, what do you enable? What do you make harder to do? JAMES: Yeah, it's a good point. JESSICA: Oh, you mean slides like downhill for the right direction. JAMES: Right. JESSICA: As a manager, making more PowerPoint slides is [crosstalk]. [Laughter] JAMES: Just start the morning meeting with a quick 40-slide [inaudible]. AVDI: But it's all pictures of playground slides. REIN: The way I describe traditional management is that it's like, do you all remember the Snakes and Ladders game? JAMES: Yes. REIN: So it's like the Snakes and Ladders game, but there are only snakes. [Laughter] REIN: There are ways that you get punished and there are ways that things are made harder for you to do. JESSICA: Because most people don't want only snakes, but they might be up here with slides. JAMES: Rein played a scarier version of the childhood game than the rest of us did. [Laughter] REIN: Am I the only one who remembers that that was a thing? JESSICA: When you went down the snakes, was it like tail first and they slide down with their head or was it like head first and you jumped into their mouths and come out the other side? [Laughter] REIN: [Inaudible] board game, which I did not know. JAMES: [Laughs] I think this is my favorite sidetrack ever. But in the interest of putting us back on track, we've touched a little bit a couple of times on technical interviews. Should we go more into technical interviews? This area is absolutely fraught with dragons. JOHN: Yes. AVDI: Or snakes. JAMES: Or snakes. REIN: Dragons, fizzbuzz and other such things. JAMES: This area may involve fizzbuzz. Some numbers may be harmed in the making of this discussion. I don't know. Should we talk about technical interviews and why they're so challenging? AVDI: If you want to hear me rant about them, sure. JESSICA: I want to hear you rant about them. JAMES: Yeah, let's do it. Bring on the rant. AVDI: All right. So if you're going to do technical interviews, which like if we're talking about solving some programming puzzle, you probably just shouldn't. You probably should just work with somebody in some form, like on something real. But whatever. If you're going to do a technical interview for God's sake, stop copying out of Google's playbook like these -- no, I'm not talking to you, Google. God, my phone's like, "Hello? You rang?" Don't be like asking it, that shall not be named for list of programming problems because yeah, they suck. This is a lousy rant. But yeah, they just suck. They don't tell you anything. JESSICA: [Inaudible] that was its plan. Google interrupted you. AVDI: It was like, "Ah, I'm going to disrupt you." Oh yeah, there we go. Disruptive technology at its worst. JESSICA: [Laughs] AVDI: They don't tell you much about what somebody can do. Okay, here's the real problem with all of these canned examples. They're usually some crap computer science question from like junior level computer science or maybe a little bit higher, that's something you will never ever need to do. And that just makes you feel inferior for not being able to do this "basic thing" that in fact you're never going to have to do on the job. And then when you throw in the -- let's talk about the big O complexity of this algorithm. You know what? With very few exceptions, being able to analyze the big O complexity of an algorithm is not the thing that most programmers are spending hard time on right now. JAMES: Now, it's a big rant. AVDI: There are a few scenarios in which that's the case, in which case, if you're not strong on that, if that's one of your weaknesses, go find somebody who does know how to do it. But if you're going to ask somebody if they've finished doing your little toy problem and you want to ask them a question about it, ask them what is the thing that's going to be most confusing about this solution to the next person who maintains it. Ask them something like that. But sorry, this was a rant about how people perform technical interviews, not on how to actually cope with them. I don't actually have a good answer for how to cope with them other than laugh at them. JESSICA: Yeah, there's two facets to our conversation today. There's been how to both give and do a healthy interview and then there's how to cope with the interviews you're likely to encounter, which you're now ranting about. Yeah, because what if my weakness is I don't give a [inaudible] about performance until I absolutely have to, and then I'm going to go let somebody else optimize it because there's six other people on my team that are just drooling over a performance problem, but they would love to calculate the efficiency up. AVDI: I have prepared my entire life for this moment. JAMES: I've been training. REIN: Another thing to think about in the technical like Google style interview is that you are [inaudible] about someone's merit. But what you're mostly generating is a signal about whether they went to a college with a computer science curriculum where they spent an entire year preparing you for the Google interview like Stanford used to do. JESSICA: Oh, so that's why people copied the Google interview. It's so that they can feel really good about themselves for hiring only people from Stanford. REIN: Yeah, they developed a self-reinforcing system where they used the Google interview to hire and then they train people to the Google interview in college. Then those people got hired and then they reinforced the interview and then people wanted to go to the schools that could get them hired. And so, the Google interview very quickly became about, did you read the right book? Did you go to the right school? And it was mostly not about, do you know what big O is? JESSICA: Which in the end gets you culture fit by culture uniformity. JAMES: I've heard companies brag, literally in public, we only accept 1% of the people who apply. Do they think this is like a good thing? This is not a good thing. REIN: Another thing to keep in mind is that Google's interview was designed to eliminate false positives. Google did not care about false negatives because at the time, literally a million people applied a year. They would rather reject a thousand people who they should have hired than to hire one person who they shouldn't have hired. And so when you are a startup and every hire is critical for you because you're hiring for five positions and you've got 10 resumes and you use the Google interview, you are using a system that is expressly designed for the opposite of your goal. JESSICA: Which means it's expressly desired to cost you as much as possible in interviewing so that you need six recruiters for a 200-person company. JAMES: Yeah, because Google has those resources. I'm going to add mostly to Avdi's perfect rant, but I do do a technical interview. I've seen people say don't do it. And I do find it useful because I want to know what it will be like to work with this person to solve a technical problem. That's what I'm trying get out of it. And I tell them up front that's what I'm trying to get out of it. I'd say, "This is what we're doing." I think you should never quiz on tech facts. Like, "How much do you know of Elixir's OTP," or whatever. I might ask you to generally assess, "On a scale of one to 10, where are you in Elixir," or something like that just to see how you self-assess or what you say you need to work on or things like that. But I would never be like, "The function in the street module, what does it do?" Don't do that. [Summon] algorithms from memory is a big no-no for me, everyone can Google an algorithm. If I'm implementing an algorithm, I Google the algorithm. Even if I think I know the algorithm, I Google the algorithm because you should do that. It's a good practice. I let people use documentation and Google when we are solving a technical problem together. The whole point is to work like we normally work, so you should do what you normally do. And I read documentation, I Google things, so that's good. JESSICA: And that gets back to that asking question then. You see what questions they ask in the internet and if they don't ask any, hmm. JAMES: Yeah, exactly. Or if me, I tell them to consider me a resource. "You can ask me whatever you want. I'd love to answer questions. I'd love to have discussions about what you're thinking. If you want somebody to bounce an idea off of," I tell them that. Whiteboards, bad. Let's just say that. Whiteboard, bad. REIN: I would caveat that by saying code on whiteboard, bad. Draw boxes on whiteboard, sometimes good. JAMES: Yeah, fair. I love pictures, diagrams. You can draw them on a whiteboard. You can draw them in [inaudible], I don't care. As long as I can tell what's what. But yeah, code on a whiteboard is bad, period. I don't think we should talk about that anymore. AVDI: I was just going to say like this is really good advice for people conducting interviews, but for people that are stuck in an interview where they're doing one of these canned Google problems or God forbid, a whiteboard problem, what is our advice there? REIN: One of the things I tell interviewers, and this will come back around in just a sec, is first of all, never ask yes or no questions. And second of all, if you're going to ask a yes or no question, don't ask yes or no question where a no is a failure. Only ask a yes or no question where a no is an opportunity to ask more questions. And for interviewees, what I say is if someone asks you a yes or no question, don't give them a yes or no answer. So if someone asks you, do you know such and such in algorithm? If the answer is yes, tell them about how you've used it or how you learned it. If the answer is no, tell them, "I don't know if I know that one in particular, but here's what I know about related algorithms," or, "I think it might be one of this sort of an algorithm." Or, "Can you tell me what it's like and I can try to tell you how I might use it?" Never accept the framing of a yes or no question because it's a bad question. JAMES: There's also a really good book called Cracking the Coding Interview. And by good book, I mean [prolific] and that it describes what programming society has come to, but it really will help you pass a typical coding interview, which is sad that it exists but it does. And if you need help with that, this is a great resource for learning the kinds of things they'll probably ask you. REIN: Getting back to when you said like, it's really good to say 'I don't know', if you're interviewing and you're worried about saying 'I don't know', say 'I don't know but' or 'I don't know and'. Say, "I don't know about that one. Can we talk about it a bit?" JAMES: Absolutely. It's totally fine to just say, "I don't know, I'm not really familiar with how we go about this particular thing." At this point, I would turn to my pair and ask them if they have ideas. So, I'm going to consider you, Mr. Interviewer, as my pair and say, "What are your ideas?" Or something like that. That's totally fine. JOHN: Yeah. I liked how you were emphasizing when you were asking the technical questions about how you could be a resource. Just like you can Google me for questions, we can discuss this problem. I feel like setting that context is really important because it's not always an assumption that an interviewee is going to make. They may just have to think that they have to stand up, they're thinking quietly and then blurt out the right answer. Whereas what you probably want from them is that a back and forth and an exploration to come to understanding. But I think making that clear is a big part of that. JAMES: Yeah. JOHN: It's interesting that some of my reflections are actually kind of orthogonal to the discussion we've had because the ideas that have struck for me are related to things I can do or ways I can think as a manager. Like some things you were saying, Rein, about like the manager's job is to create the context in which the work will happen and guide the landscape such that the work naturally proceeds. I think that's a really interesting way of thinking about that work. And also from the context of building up my own understanding of what my role is or what I want my role to be as a manager such that I could then evaluate a company where I was going to be a manager and see if they all think that way or if it would be a fight to get a team to behave in that manner rather than just expecting me to tell them what every little thing to do is. So, I think that this is what I'm going to take away from this. REIN: If folks want to learn more about how to think about systems [inaudible], there are books called [inaudible] by Erik Hollnagel that are very good. My takeaway from this is that some of this advice works all the time and some of this advice only works when you have been able to develop a certain kind of personal connection with the person you are interviewing or being interviewed by. And folks who are in those situations should be aware of the individual relationship that they're developing with this person and what that makes possible for them in terms of how they want to act and how they want to communicate. And also always do what you feel is right for you in the moment. That is the being yourself that I can get behind. JAMES: Yeah, I'll jump in. The thing that stuck with me right off the bat was I was discussing this from a standpoint of how do you win the person over, turn them into your advocate. And Avdi was like, "Well, you should be deciding if this is a place you want to work for or not," which is obviously very true and accurate. And yeah, I always get so focused on that. What do I have to accomplish here? How do I turn all these things into my favor and stuff. But it is good to remember, do I even want to accomplish this? I said as an interviewer, I'm looking to see if the interviewee is not a jerk. And as an interviewee, you definitely want to make sure the interviewer is not a jerk. Don't forget to check that part. Really important. AVDI: I think those two go together because the part of genuinely turning the interviewer into your advocate is getting them to a place where they can honestly say, "You know what? I think this would be a bad fit for you and I think you'd be unhappy here." That's part of being your advocate too. JESSICA: Okay. That gives me a thought. We've been talking about interviews a bunch. And one of the consequences of most interviews is that the people who pass them are good at interviewing. They've read through cracking code [inaudible]. They've prepared answers to all these questions. And Rein mentioned congruence, words matching body language, matching what you see from the person and what they say. And a lot of that, I mean if you're telling people you're good at stuff, but your body language says, [makes sound], then you're just bad at interviewing probably and that confidence doesn't come through. Anyway, there's a problem with companies that can hire people who are good at interviewing. But at the same time, when we choose where we work, are we choosing a company that's good at interviewing? Are we choosing a company that presents itself well, because like with dating, we talked about how we present different parts of ourselves to different people and a lot of how much we like a person or a company is how we feel who we are when we're with them, and whether we like that version of ourselves. So as someone who's interviewing, can we find more sources than are they good at interviews? Because a company may have a grueling, ridiculous, stupid interview process and yet be a great place to work, but you wouldn't guess it because their staff of six recruiters are just doing what recruiters do. But we have other sources. It's not fair to hire only from the pool of people you know, because that's going to get more people like you. And so, if you’re hiring from your personal contacts, there are ups and downs to that. But there's no reason we shouldn't use personal contacts and every source on the interview to find out what it's really like working for a company. If you could find someone on Twitter who works there. Once in a while, people in Saint Louis ping me, "I'm thinking about applying at Stripe. What's it like?" I'm like, "Fantastic. Go there." So, don't just choose companies that are good at interviewing. I mean, maybe you really do want to work at Google and in that case the interview is just a hope to go through and it's just an obstacle in the system and it might be worth it. But then while you're at the interview, you have lots of opportunities for clues. Okay, the end. Sorry, that was too long. REIN: Jess, if you want to know what it's like to work somewhere when you're interviewing with someone who works there, ask them a pointed question and then watch how congruent they can be in answering it. JESSICA: Oh, yeah. They don't have an excuse to not be congruent. They're lying when it's not in alignment. REIN: If they're telling you, “It's really lovely,” and their fists are balled up, that is a thing that you can notice. JESSICA: Ask them about their company values and see if they can refrain from rolling their eyes. [Laughter] REIN: Yes. Congruence is a superpower and it works both ways. Both being congruent and detecting incongruence in other people. JESSICA: Yeah. It's not a superpower everybody has, but it is one [inaudible]. REIN: You can learn it. It can be learned. JAMES: Avdi, you haven't had the chance to say your own thing. AVDI: Hmm. That's a good question. What would your reflections be? [Laughs] JAMES: You're hired. AVDI: I'm going to hold there. JAMES: Well played. REIN: Okay, good talk. JAMES: That's a wrap, people. AVDI: Thanks, James. JESSICA: Thank you for joining us. JAMES: Thank you. JESSICA: This has been an episode of Greater Than Code. Thank you for joining us.