Category Archives: Hiring

Questions for prospective employers

So I’m starting interviewing this coming week, which means I have to distil my long list of questions to ask employers into something more manageable. The following is very much a work in progress and I’ve not tested it in the wild yet, but I think it roughly matches what I’m going to want to use. If I change what I actually use then I’ll update it appropriately.

First off, how to raise these: I was originally thinking of mentioning right at the beginning of the interview that this is going to happen. Something along the lines of:

Hey. Up front warning: I have a long list of questions I need to ask your company in order to determine if this is somewhere where I’d like to work. It’ll probably take about half an hour to an hour, and I’ll need at least one developer and one non-developer present. I’d sortof expect this to happen at the end when we get to the “any questions?” part, but really we can do this at any point in the interview you like – we can even schedule a separate interview for it afterwards if you don’t want to take up this much time on it today – but I really will need to do this.

My friend Daniel Royde pointed out in the comments that this is something that I should really be mentioning before I arrive for the interview, so they can actually incorporate this into their schedule. He is 100% right about this.

The one non-developer and one developer thing is very important. I want to see how different their answers are and how they interact.

The actual questions I’m planning to ask are as follows:

  1. What do you personally like about working here? What do you dislike?
  2. What’s your office culture like? Can you describe the typical sense of humour?
  3. What’s your racial and gender diversity like in the company? Does this vary from team to team? If it’s not good, do you know why and is it something you’re trying to change? How?
  4. What is your company doing to have a positive impact on society? (question suggested by my friend Alex White)
  5. What’s your staff turnover rate like? Is it different from team to team? If it’s high, do you know why people typically leave and is it something you’re trying to change? (question suggested by Jamie MacIver, my brother)
  6. How do you deal with failure? When something goes wrong, what do you do to make sure it doesn’t happen again? (question suggested by my friend Kat Matfield)
  7. Who in your company is completely indispensable? Tell me about them (question suggested by my friend Elisabeth)
  8. How much technical debt do you have? What are you doing to address it? Is it working?
  9. Can you tell me about a change you’ve made in your development process recently? What prompted it? (question suggested by Michael Chermside)
  10. How do you decide and manage what to work on next?
  11. Suppose it is decided that a feature is needed and should be part of the current work priorities. What happens between now and the point where that feature hits production?
  12. What’s your business model like? Is it working? How would you know if it wasn’t working, and how would you go about fixing it?

I feel like this is a bit too long, but there really aren’t any questions in there I’d be willing to take out. If anything there are questions I’d like to put in that I’ve not!

UPDATE: I’ve decided the bit that follows is a bad idea. Real interviews are too chaotic for voice recording to be practical, and some informal polling suggests that people are bothered enough by the idea that it’s not worth the headache. Left in for posterity.

The other thing I am currently considering is how to handle note taking. Specifically, I’d like to record these question and answer sessions. I’m considering offering this with a speech something along the lines of this:

So I need to take notes on this bit for later review. If I do that by writing, this will slow everything down and it’ll be a pain for all of us. Would you object terribly if I record this bit? I promise never to publish any part of this recording, or even a transcript of it, and at the end I’ll give you the option to delete it before I leave. If you take that option I’ll ask for a few minutes to write down some notes and reference the recording before you do, but will be completely happy to comply.

I’m also thinking of mentioning at the beginning of the interview that I’m going to have a long set of questions to ask them and that I’m happy to do them either at the end of the interview or at whatever other point in it they’ll find convenient.

What do you think? Does this sound like a terrible idea?

This entry was posted in Hiring, life, programming, Work on by .

Interviewing companies

So, as previously mentioned on Twitter, I’m looking for work. If you’re maybe interested in hiring me, check out my CV and drop me a line.

But that’s not what this post is about. Let’s not talk about me here, let’s talk about you.

I’ve always held the very firm stance that when a company is interviewing you, you are also interviewing them – are these people you’d like to work with, does this seem like a decent place to work, etc.

Despite that, when we got to that awkward point at the end of the interview where they say “So, have you got any questions for us?” I was just as bad as everyone else and mostly said “No, not really”. I still formed an opinion about the company, but it was based on how they interacted with me and whether I liked them. It was very unstructured – the only really structured question I considered was “Imagine I was a terrible fit for this role. Do I think I could have made it through this interview process?”. If the answer to that question was yes then I would consider the company to have failed their interview.

But really good interviewing skills aren’t enough for determining whether a company is worth working at. You need a lot more than that. So I was mostly going on the standard “Do I like the cut of their gib?” school of interviewing. This is a school of interviewing that as I have learned as I’ve got more experienced at hiring people is, not to put too find a point on it, complete and utter bollocks.

So, based on a recursive application of my company interviewing technique, I should have failed. Fortunately no one picked me up on that, and fortunately I’ve ended up working with some great people at some pretty good companies.

But I’d like to do better. When we get to that “So, do you have any questions?” stage I want to be able to smile, say “Well, actually” and pull out a notebook.

So now I’m trying to figure out what those questions should be. I’ve got a set of the questions I actually want answers to, and they go roughly as follows:

  • Are you secretly terrible people?
  • Is your development process completely dysfunctional?
  • Is the way your development team interacts with the rest of the company completely dysfunctional?
  • If your company succeeds, is this actually going to make the world a better place for anyone who isn’t one of your investors?
  • Is your company going to fail horribly?

Unfortunately I don’t think I’ll get very accurate answers if I ask those questions outright, so I’m looking for questions that will give good indications to the answer to these.

Of course, I expect most potential employers to google my name, read this post, and realise what I’m secretly asking, so this is all a wonderful little game of recursive double bluff. It also means that the questions should be good enough that any answers that aren’t outright lies will reveal the truth.

Here are some questions I’ve got so far. I’ll update these lists as I get suggestions from others or think of new ones myself.

Are you secretly terrible people?

I’m struggling on this one to be honest. A lot of my questions here are hiring policy related, but that’s more because of my recent lines of thought than because it’s a useful indicator. It’s also difficult to ask some of these questions because they sound like “Are you violating the laws regarding employment?” and “Are you going to hire me?”

  • What’s your office sense of humour like?
  • What’s your racial and gender diversity like in the company? If it’s not good, do you know why and is it something you’re trying to change? How?
  • Follow up from the previous one. Do you do anything to deal with implicit biases in your interviewing process
  • Is the company committed to the London Living Wage for ancillary staff? (suggested by my friend Ruth Ball)

Is your development process completely dysfunctional?

I think this is the one I’m strongest on, as I have a reasonable amount of direct experience of both how to be dysfunctional and how not to be here…

  • How do you organise work that needs to be done?
  • Who sets deadlines? How much feedback is involved in this process?
  • Do you find you usually hit the times you’ve committed to? If not, do you know why not?
  • How often do you encounter bugs in the system? What do you do when you do?
  • How much technical debt do you have? Is it going up or down over time?
  • Suppose it is decided that a feature is needed, and that I’m the one to implement it. What happens between now and the point where that feature hits production?

Is the way your development team interacts with the rest of the company completely dysfunctional?

Again, I lack good questions here.

  • How do your developers interact with sales and marketing?
  • Do your developers talk to customers directly?
  • Do the rest of your company have a good view of what the dev team are doing?
  • Do the dev have a good view of what the rest of the company are doing?
  • What opportunities will there be to work closely with other departments? (suggested by my friend Ruth Ball)

If your company succeeds, is this actually going to make the world a better place for anyone who isn’t one of your investors?

Christ if I know how to ask this one. It suffers a bit from “If I knew how to make the world a better place, I’d be doing it already”. Here’s a starting point:

  • Who are your customers?
  • How does it help your customers?
  • In particular, what can they do now that they couldn’t do before?

Is your company going to fail horribly?

I’ve pretty much just got the obvious questions:

  • Have you got a business model?
  • Is that business model already making you money? Enough to turn a profit?
  • If it isn’t already, what makes you think that business model is going to work?
  • How do you track whether that business model is working?
  • What are you going to do when you discover it’s not working?

Suggestions, please

I’d love suggestions. Also just feedback on which of these questions you like, which of these questions you think are terrible, etc.

This entry was posted in Hiring on by .

How do you interview people without a programming background?

As part of my current interest in hiring, I realised that I have very little idea of how to interview people who have no background in programming for software developer positions (with the intent of training them on the job).

The best I can do is think back to when I first interviewed for a programming job – there were some good interview questions, which largely consisted of idealized descriptions of algorithms (I don’t want to share them because as far as I know the companies in question are still using them and I don’t want to spoil their interview process). They seemed like a pretty good test at the time, but I have no idea how much I benefited from my background in mathematics.

Any tips?

If you’re willing to share specific interview tasks with me, that would be great. If you don’t want to do that in public my email is, as always, [email protected]. General advice is also appreciated.


This entry was posted in Hiring on by .

Teach me how to hire a diverse team, please

Hi. This post is for information – I’m not actually hiring at the moment, but when it next happens I would really like to know how to do it right. Also this is entirely a post off my own bat, rather than an official Aframe position on anything (though I’d expect and hope the rest of the company would agree with me).

So I work with a really great development team at Aframe. We’re a bunch of competent interesting people, and everyone is well motivated and good at their job. It’s nice.

There’s just one problem…

I say “people”, but that’s because I tend to default to gender neutral nouns and pronouns. I really mean “men”.

Generally speaking, straight white men.

I’m not 100% sure how this happened.

As far as I can tell, it’s not the result of explicit prejudice on our part. I don’t think it’s even the result of implicit prejudice, and I’d like to tell you a little bit about our current hiring process in order to back that up.

Here is the process we used for our recent hiring of back end developers:

  1. Applicants come in to our development manager. He does a basic screen for “not an utter waste of time” (e.g. “I am definitely suitable for your senior backend developer role because I know photoshop”) then passes the candidate on to the rest of us.
  2. We review the answers to a set of screening questions. We do not even know the candidate’s name, let alone CV, at this point. They are given a candidate number.
  3. If we like their answers, we send them a coding test. Still just a number, not a free person.
  4. If we like their answers, we’ll take them through a phone interview. We will vaguely look at a CV at this point for context for the interview. If their answers are borderline and we’re inclined to reject we might use the CV to get more evidence that they’re worth talking to, but we never rejected anyone on the basis of their CV at this stage.
  5. In the phone interview we ask the same list of questions of everyone. There is of course some general chatter as well, but in theory the decision is made on the basis of the answer to those questions.
  6. If they pass the phone interview, we take them through to an in person interview. This is a series of specific, structured, tasks.
  7. We make a hire/no hire/wait and see decision based entirely on the outcome of those tasks.

I largely think this is an example of Doing It Right. It’s not perfect, and we’ve had some complaints about specific details which we’re trying to improve, but it does a pretty good job at eliminating biases.

Except the only people who made it through to the phone interview stage in the recent hires I was involved in (for which we hired three people in the end) were white men.

I honestly have no idea if this was representative of the candidates we didn’t let through to phone interview. I assume it is, but because that stage of the process is blind I don’t really have any way of checking (I’ve asked to see if we can find a list of who the candidates were, but I don’t think we collated that information). But it would be surprising if these tasks introduced a bias. The only plausible biasing factor to them is that they’re quite time consuming (we’re working to reduce that as a factor – currently considering swapping the order of the phone interview and coding test).

As partial evidence that this works in eliminating bias, the Aframe back end dev team is significantly older than you might expect than a start up tech team. At 29 I think I’m the youngest in the back end team by some margin, and I’m the second youngest overall. I think the dev team’s median age is over 40, and the mean certainly is. Given that age bias is a huge problem in technology, and that a lot of it is probably subconscious, I think this is at least a point in favour of the process if not wholly convincing. It might also be that those of us who were hiring just don’t care that much about age, so hard to say for sure.

So, my assumption is that something is happening that is filtering people out before they get to us. I have three possible candidates for this:

  • Our job postings may be off putting in some way. Historically this was almost certainly the case, but I think we fixed that. I may be wrong. This is what we posted
  • Recruiters. We did use job boards (I think stack overflow was our most successful one there), but I think everyone we actually hired came through a recruiter. Recruiters are reportedly often assholes to deal with if you’re a woman
  • The initial “not an utter waste of time” review is not blind, and that’s a bit of a red flag. It’s supposed to be sufficiently black and white, with any shades of grey passed on to the rest of us, that I’d hope that it wasn’t introducing any significant biases here, but it was invisible to me so I can’t guarantee that
  • A lot of it is probably just the background population. My impression is that “straight, white and male” is by far the dominant demographic in the London startup scene. I don’t have statistics to back that up at the moment, but either way I’m sure it’s not as total as we were seeing. So this is probably a large factor, but I can’t imagine it’s the only one.

So, that’s enough about us. Now we get to the real point of this post: What can we actually do to improve things?

Useful advice I’ve received so far:

  • Get people from a range of demographics to review your job posting, even if they’re not interested in applying
  • Be really explicit with recruiters that you want a diverse range of candidates. If they claim they don’t have a diverse range, use a different recruiter
  • Target professional networks that have a more diverse selection of members rather than relying so heavily on recruiters
  • Keep doing what we’re already doing – keeping as much of the screening process as possible blind. Where not possible, keep it structured. Where not possible, at least try to decide based on concrete results rather than “I liked them”

Like I said, we’re not hiring at the moment, but when we do next it would really be nice if we knew what to do to avoid this happening. Any advice you can offer would be greatly appreciated.

Feel free to leave comments, contact me on twitter as DRMacIver or by email if you want to keep it private.

This entry was posted in Feminism, Hiring on by .