The Golden Rule of Hiring: Candidate Experience

We get really good feedback on our developer interviews, and we're super proud of that. Finding great engineers is how we keep Rocket awesome.

A few years ago, we wrote about How We Hire Developers. We still follow most of those practices today, and three years later, they are responsible for how we have grown Rocket's engineering team from a handful of great developers, to just under sixty great developers in multiple countries.

But something that's just as important as our method, is our motive when hiring developers. We'd like to share a little bit about our thinking so if you're going to interview with Rocket, or are thinking about applying, you know how we approach our hiring process and what we look for.

Interviews and The Golden Rule

First off, when we interview, we go into the process with the mindset that we want to meet great people like you, and we want you to think we're great, too. We love to expand our network. In the end, if we decide it's a good fit to work together, that's the best outcome for all of us. But if not, we want to walk away having met a future friend or colleague. Things in the software world area are always changing and there’s a good chance we’ll cross paths again in the future.

So, throughout our process, we treat our candidates like we want to be treated. We're investing our time in you, but more importantly, you're investing your time in us. That is the ultimate compliment.

At Rocket, here's what we strive for:

  • Making you comfortable - Did you know how to find the office and where to park? Are you hungry? Thirsty? Not using the editor that you usually use to code? Well, then you're gonna be pretty uncomfortable. Let's fix that.
  • Transparency - You'll know what your day looks like. And, during the whole process, we'll let you know where you stand. We'll also leave ample time in interviews for you to ask questions about us.
  • Swiftness - We'll try to be as quick as we can with decisions throughout the process. And if we can't, we'll try to let you know why.
  • Making it fun and interesting - We want to keep things light to make sure you're the most natural you. Also, we'd like to give you some problems to solve that you might find interesting. We know that as an interviewee, having fun might be a stretch. But we're gonna try our best!
  • Keeping you fed - Super important. Whenever possible we try to take our candidates out for lunch. Getting you a decent meal is the least we can do for you since you've invested your time in us. Also, it’ll give us a chance to get to know each other better outside the office.

Making coding interviews not suck

When we interview you for engineering and coding skills, we try to keep it as concise and practical as possible.

Most of us at Rocket have been asked to do some pretty silly things in coding interviews - Like being asked to re-invent Rails ActiveRecord on the whiteboard. Blech! What's that gonna get us besides a confused stressed out interviewee and a bored interviewer.

To make our coding interviews suck less, we avoid whiteboard coding, and try to avoid doing homework whenever possible. Instead, we rely on code pairing. You will code some, the interviewer will code some. Whenever we can, we try to pick problems and projects that the interviewer hasn't done before. That way, you're working through a problem together. This feels much more natural than watching you code over your shoulder, and it gives us an idea of what you're like to work with, and gives you a flavor of what our engineers are like to work with.

We try to pick practical, interesting projects that are similar to our client work, but small in scope. We care that you know core software development concepts, and trust that you do if you're applying to work at Rocket. But, we're not going to ask you how to solve the Travelling Salesman Problem for us. In the course of doing one of these projects together that we should be able to see that you can comfortably apply those basic concepts in something more practical.

What we look for in you

We try to write job descriptions that don't suck and describe exactly what we're looking for, here's an example:

But more generally what we look for is that you are:

  • Flexible - One of our core tenets is "Strong opinions, loosely held." our clients are our priority, and if they want something done a certain way, we're not bashful about our opinions, but we know their wishes are most important. We keep an open mind and sometimes have to be willing to work in areas that might not be ideal to us. Our experience is that given our broad client base, things even out over time, though.
  • Excited to learn - About new companies and new technologies.
  • Passionate - We love software development. We'd probably be doing it even if we weren't getting paid for it. What doesn't that mean, though? We don't expect that's what you do in your spare time. Having a life outside development is important, and we want you home in time for dinner.
  • A great communicator - We talk to clients a lot and we talk to each other a lot.
  • Fun - Rocket is a super fun place to work. We do interesting, silly things like make ghosts, race beds (we came in 2nd this year...), and have our holiday party on Groundhog's Day.

Making the offer

Ok, so you got through the interview - Nice work! Let's not waste any time. We'll get the interview team together and discuss how it went the next day and get you a decision hopefully the day after that.

If we’re making you an offer, we're pretty excited about you coming to work for us! We'll tell you about your compensation package including all the details of things like health insurance. If you have any questions we'll address them quickly.


Does all this sound good? Ok, great. So now go apply to one of our jobs on our careers page. We can't wait to meet you!