Fog Creek

Technical Hiring and Cultural Fit – Interview with Johanna Rothman

Looking for audio only? Listen on and subscribe

Up Next
N Ways to be a Better Developer

In this interview with Johanna Rothman, author of ‘Hiring Geeks that Fit’, we discuss technical hiring and the importance of cultural fit. We cover how to identify the important parts of your culture, the essential steps in technical hiring, hiring diversity, the best questions and common mistakes made by technical candidates and hiring managers. For more about these topics, Johanna writes regularly on her blog.

Content and Timings

  • Introduction (0:00)
  • About Johanna (0:22)
  • The Importance of Cultural Fit (0:46)
  • Hiring and Diversity (3:41)
  • Essential Stages in Technical Hiring (5:49)
  • Hiring Contractors (8:35)
  • The Best Technical Hiring Questions (9:39)
  • A Great First Day (12:20)
  • Common Technical Hiring Mistakes (14:28)



Johanna Rothman is an experienced software engineer and consultant specializing in managing product development. She’s a regular columnist and conference speaker and is the author of several books, including Manage Your Project Portfolio, Manage It, and Hiring Geeks That Fit. Johanna, thank you so much for joining us today. Do you care to share a bit more about yourself?

About Johanna

Thanks so much for asking me. I think that one of the things that people really get from my writing and my speaking is my pragmatic approaches. I don’t care if you stay dogmatic about any given thing. I don’t care about that at all. What I care about, does it work for you? As long as you’re successful, I’m successful, so that’s really the big thing about me.

“Sometimes candidates are their own worst enemies”

The Importance of Cultural Fit

In your book Hiring Geeks That Fit, you say that you should hire for a cultural fit, saying that, “Cultural fit will trump all technical skills.” Why do you think that’s so important?

We often think about this laundry list of technical skills that we need, but it turns out that our ability to collaborate with each other or to problem solve together or alone, right, whatever it is that you need, are the things that really matter when you’re thinking about what kind of a person do we need and when do we need them? That’s all part of the corporate culture, right? If you think about what culture is, it’s not about Foosball. It’s not about the color of the walls. It’s not about the desks that you have. It’s about what you can and cannot say in the organization, how people treat each other, and what we reward. If we think about what do we reward and how people actually work together and what they can talk about, right, that’s the culture that you’re hiring into or you’re not going to hire someone into. Culture is not we’ll see it and we believe it, we know it when we see it. That’s a very non-analytical way to look at culture. If you think about how do we treat each other, what can we talk about, what do we reward, now you actually have, really, the makings of culture. That’s all and about how people work together or alone, if that’s how you do it. Most of the times, I see people working together.

An organization’s culture can be difficult to define. How can you better understand the key elements of your culture so that you can make the right judgments?

Look at a successful project or even a series of successful hires. What do they have in common for how they work together, right? Did they problem solve together? Did they ask each other for help? Did they say, “We’re going to use this particular tool for this and not use it for that,” and what do you reward? If you’re the hiring manager, do you actually reward individual people or do you reward project teams? It’s really, really hard to reward project teams, but you can do it. The more you do that, the more collaboration you will get, so you want to really think about what has success looked like in the past and how can we bring that success forward to say, “This is our culture. This is the kind of people we want.” How do we do that, right? Look at your most recent success just the same way you would in an interview and then use that to go forward.

“I actually hire contractors in exactly the same way I hire permanent staff”

Hiring and Diversity

Women and minorities are underrepresented in many development teams. How can they begin to hire more diversely?

I think the biggest thing is to acknowledge that we are all human and we like people like ourselves, right, so let’s just get that out there and say this is a fact of life. Now we do not leave it at that. When I wanted to hire women, I looked for women. I have been very successful in hiring a diverse team. I’ve done this over and over and over again. That’s because the best products come from diverse teams. There’s actually research that says great teams have women in them, right, so if you want a great team and a great product, you will hire women. That means you have to get comfortable with thinking about women can actually do technical work, that women can be great coders, women can be great testers, women can be great project managers, and the same thing for any other kind of diversity that you want. If we are stuck and say, “I’m only going to recruit from schools I went to or schools I know about and I’m only going to recruit from my little, tiny circle of friends,” you’re never going to get the diversity that you want. You have to open up your recruiting, your sourcing, and say, “Where am I likely to find people, great people that I want,” not necessarily, to use the overextended term, ‘the brogrammer’, right, the male programmer.

We happen to have more men than women in this industry, but a lot of that is reinforcing, right? I didn’t have any trouble getting a job out of school way back when, but there are lots of women now who do have trouble getting really good jobs, the jobs that they want. That’s because we’re so insular in our hiring, so it’s time to expand horizons a little.

Essential Stages in Technical Hiring

What are the essential stages in hiring for technical roles?

What I think the essential stages are is first doing an analysis on the problems that you want to solve with a new hire. Everyone gets hired because they solve problems for a hiring manager. If you’re not clear on what the problems are, you’re not going to be able to solve the problems, right, so the first thing is what problems do you want to solve? Then do a job analysis. It turns out that a job analysis, like getting the requirements for a product, is essential in understanding what you really want. What are the essential non-technical qualities, preferences, and skills and what are the essential technical skills? When you really think about what’s essential versus what’s desirable, you end up thinking, ‘oh, maybe that’s not really essential’ because one of the things I see a lot is that hiring managers have this laundry list or this shopping list of many, many technical skills. That’s not why we hire people, right, we hire people based on their qualities, preferences, and nontechnical skills. Are they list people? Are they able to keep ideas open for longer, right? Many of the best architects can keep ideas open for longer. That way, they’re not so stuck on this must be our architecture at the very beginning of the project. You want to really think about what kind of people do I want in this role or in these roles.

Then you have many, many options. You can do a job description from the job analysis. You can develop your phone-screening questions. You can decide if you want an audition first or second or third. You can set up the interviewing. You can then check references. I always check references. I am not the kind of person who is willing to hire somebody without references. I also have a little script for the kind of reference check I want. It’s based on what I saw in the person and what’s essential about the job, right? For me, the job analysis is the basis. It allows you to do absolutely everything. You have to be able to filter resumes, too, but if you don’t know what you’re looking for and what problems you want to solve, then it’s a lot harder to filter and then hire.

“This emphasis on ‘if they don’t have three years of Ruby’ or something, then we cannot hire them. That’s just nuts”

Hiring Contractors

How does your hiring process differ for contractors than with permanent staff?

I actually hire contractors in exactly the same way I hire permanent staff. For some people, this is a really interesting thing. Why would you do that? Why would you invest all this time in hiring contractors? There’s a couple of reasons. First, it turns out that contractors actually stay a lot longer than you think. Sometimes, you can actually convert, I don’t know if convert’s the right word, but you can convince, maybe, contractors to stay on as permanent people. If they have the right qualities, preferences, and nontechnical skills to be able to work with your staff, now you actually have a great mesh of what you’ve bought these people for, right? Maybe you only need them for a few months, but my experience is that contractors stay so long, so I use exactly the same approach for hiring contractors.

The Best Technical Hiring Questions

You recommend using behavior-description questions to weed out the talkers from those who actually have the required skills, so what are some examples of good questions to do this?

I really like behavior-description questions and I recommend them all the time. In fact, there’s a little discussion going on my Hiring Technical People blog about hypothetical questions. One of my colleagues is looking for a project manager job. He says, “I keep getting all these questions that sound a lot like free consulting,” so, “If you had to choose between these tools in our situation, which tool would you choose?” That’s not a very good question because you might think that that goes to solving the problem that people are being hired for, but you don’t understand about the experience and the context in which this person made their decision. What you really want to ask is, “Tell me about a time that you had to choose between these tools. Tell me about the project, tell me about the context.” Then I can understand, right, this is what I say to myself as an interviewer, “I can understand why you made this decision. What was the purpose of this decision, and how did you decide between these two tools?”

That actually gets you the detail that you need in an interview, but if you ask hypothetical questions, or you ask irrelevant questions like, “Tell me about your weaknesses,” oh, please. I can make any weakness I have sound terrific, right, and so can any experienced interviewee. Don’t ask about that stuff. That’s irrelevant. If you ask the behavior-description questions, give me an example of, tell me about a time when, now you have a really great foundation for a conversation. The foundation for the conversation is what you need to have, so that’s what you want. You don’t want any of those other stuff.

Now I will tell you I like auditions also, right, that’s where you actually see people doing the work. I like twenty-minute auditions. I don’t like an hour-long audition. That’s too long and you don’t need something that long. Especially if you’re hiring technical people, watch them do the work and that’s all you need to know. I also like meta questions, which is, “What have I not asked you yet?” That sometimes gives me very surprising answers and a lot more insight into what the person can do.

A Great First Day

How can you ensure your new hires have a great first-day experience?

Now the first day is so, so important. Everyone I know, okay. I don’t know the entire universe, but everyone I know has this little did I make the right decision? They’re excited, they’re anticipatory. There are all kinds of things for their very first day at work. In Hiring Geeks That Fit, I have three different checklists so that you can start getting stuff ready before the person comes onboard. I cannot tell you how many people I know who don’t have a desk their first day, don’t have a computer, don’t have a login, don’t have a password. There is no way for them to contribute. They are so excited, they’re so anticipatory, they want to do a really great job and because you, as a hiring manager, or your organization, does not have a little checklist, they can’t get started. Oh, this makes me nuts, so I like having these checklists.

The other thing I really like is this buddy system. If you assign… Anytime you have a new person coming in, right, the team has some level of productivity. When you have a new person, the productivity level dips because that person’s asking questions, they don’t know what to do. If they have to ask every single person in the team, now productivity for everybody dips. One of the things you can do is have a buddy system where you have someone whose job it is is to shepherd this person through the next couple of weeks or a month, depending on how you work. If you work in two-week iterations, maybe you only need a two-week buddy system, but the idea is this person tells the new hire where are the bathrooms, how do I compile, where do people go for lunch, and I have somebody who takes me by the hand and shepherds me through all of these things.

Common Technical Hiring Mistakes

What are some common mistakes you see people making when hiring for technical roles?

I see any number of common mistakes when it comes to hiring for technical experience. The first is an emphasis on tools. I got to tell you. Once you’ve learned one or two computer languages, you can learn any computer language. It doesn’t take very much time. I’m a dinosaur. I started to program when we had assembly language and I thought Fortran was terrific because it was a higher level language. Then I used I used something that was like Forth and then I moved on to Lisp. Look at those languages right there. Totally, totally different. I will admit that my first two or three Lisp programs looked a lot like Fortran, but I finally got the hang of writing object-oriented code. We have so much higher-level languages now, right? The idea that people can only learn one language and we have to have this emphasis on ‘if they don’t have three years of Ruby’ or something, then we cannot hire them. That’s just nuts. Even I could learn Ruby in less than three years, right? I would be good at it because I have a background as a programmer. Yeah, my first couple of programs might not look like anything useful, but I would learn from that.

That’s the whole point of the buddy system, right? If it’s a new language, you get somebody to give you feedback. This is one of the things I really love about pairing and, especially, pairing when you trade off pairs. After you work with somebody intensely for a couple weeks, if you then have what Arlo Belshee calls promiscuous pairing, right, where I pair with somebody for twenty minutes or forty-five minutes, maybe, the maximum, and then I go and pair with somebody else, I’m going to learn how everybody uses the tools and technology and I’m going to learn that really, really fast. An emphasis on tools and technology is one of the biggest mistakes that we make.

On the flip side, what are some mistakes you see candidates making who are looking for technical roles?

Oh, sometimes candidates are their own worst enemies. I see people who don’t have a profile picture on LinkedIn. LinkedIn is a social network. It makes me crazy when they do this. On my Hiring Technical People blog, I have a whole lot of job search tips and traps, so I’ve enumerated any number of them. One of them is not making time to understand what your references would say about you. Not having a target list. I hear all kinds of people saying, “I sent out three hundred resumes or a thousand resumes.” There are not a thousand people who would hire you. You are not right for a thousand different companies, right? I know I would have a limited number of companies, but on the range of twenty to twenty-five in my geographical area that would love to have me. You want to find people. You want to look at a target list. You want to make sure your social networks are up and running. You want to say, “How do we do this so that I show my best self to my potential hiring manager?”

There is no one right time that you should be able to look for a job. I know people who were laid off one week and found a job and started the next week. That’s pretty rare right now because the automated tracking system, the applicant tracking systems that we have in organizations, actually filter more people out than they filter in, which is stupid and crazy. That’s why you need to network to find a hiring manager because if you make a one-on-one connection with a hiring manager or with somebody in that organization, you have a much better chance of actually finding your right job or finding a job that fits you.

Johanna, thank you so much for joining us.

This was great.