QR code

How We Interview Programmers

  • Palo Alto, CA
  • comments



At Zerocracy, we’ve been getting about 10 resumes every day from programmers who want to work with us. We don’t do video or online coding interviews. We don’t ask you to solve any puzzles or demonstrate your algorithm-writing abilities. Moreover, when we decide not to hire you, we honestly and openly explain why. And we almost never offend anyone. So how exactly does it work? There are a few basic principles I would like to share.

Wall Street (1987) by Oliver Stone
Wall Street (1987) by Oliver Stone

The Market Interviews You, Not Us

We believe that the market is a much better interviewer than any one of us. “Instead of demonstrating to us how great your code is, show it to the market and see what it says”—that’s what we’re saying to you, our candidate.

How does the market validate that code? Open source—that’s what is the most convincing to us. We ask you to show us which open source products you have and how popular they are.

Then show us your blog, your conference talks, your hackathon gold medals, your certifications, and any other awards the market has given you. Don’t convince us that you’re cool; convince them. If they will be convinced, we will be glad to hire you. Isn’t that objective? I believe it is.


The way we understand quality of code is very different than what you might expect. Simply put, our quality bar is much higher. Besides that, the way we understand object-oriented programming is also very different. So occasionally we’ll find that we simply don’t trust the market as our only source of information, especially when the market has almost nothing to say about you. Some programmers come to us with zero open source experience, no certificates, and no public work. Still, they claim they are the best.

To put them to the test, we provide a piece of code and ask them to refactor it—just make it better. I think this approach perfectly demonstrates who is in front of me: a hacker or a designer. In this way, we filter out a lot of people who pay attention to minor implementation tricks but miss the bigger design issues.

The quiz is here. You can see how many pull requests there are already—all of them are from our candidates.

No Phone or Video Calls

Most companies talk a lot about diversity and equality, yet most of them will also require a Skype video call or at least a phone call before getting you on board. How does this really jive with the equality emphasis? A face-to-face interview is a very stressful process even for experienced and extroverted people. We can imagine how difficult it is for some programmers who are anti-social introverts just like me.

Video interviewing is a terrible practice unless you’re hiring a stand-up comedian or a flight attendant. Programmers are not supposed to achieve their goals by interacting with people face to face. Well, at least not in our remote work mode. We expect you to write code and communicate via GitHub. Why on earth would we need to call you? We just don’t do it, and I think that’s how everybody else should operate. That’s what true equality and diversity is—no phone or video calls.

We Explain When We Reject

You apply to us and spend time presenting yourself, talking to us, and demonstrating to us your skills and profile. We feel that we have to give something back, especially if we don’t hire you. That’s why we always explain what’s wrong with your application. We are not hiding anything, and sometimes our responses may sound rather disturbing. You may hear something like this: “Your quiz solution is not what I would expect from an experienced developer” (I’m quoting one of our interviewers).

Unlike many other companies, we will never say something like, “Thanks for applying, but we decided not to proceed further. Wish you luck!” That’s shallow and ignorant. But that’s what most big companies do, including Google, Facebook, and other “no evils.” Try to apply there, and you will see for yourself.

Instead, we believe that an honest and straightforward negative answer is exactly what our candidates are looking for in the case of a rejection. We understand that it’s not the end of the world for you—you’re going to continue learning and improving. Our feedback will help you. So why should we hide it behind that polite “good luck” answer? We won’t. You will know exactly why you are not good enough for us.

Moreover, we are always trying to suggest a direction for improvement. We will recommend what to learn, what to do, and how to grow before coming back to us. I haven’t seen a single company do that in my personal job searches from the past.

Try to apply; the form is here.

sixnines availability badge   GitHub stars