How We Interview Programmers

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.

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.

Quiz

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.