How to hire great engineers

Hiring software engineers is one of the most critical yet hard tasks you need to do to succeed as a company.

Large tech companies define “what a great engineer is” and the way they hire them through trial and error. Rituals that work for them become guarded secrets and considered a competitive advantage.

Small and medium companies pick the crumbs of those rituals and fall into cargo culting. They want to reap the same promised benefits of the obscure interview rituals. Yet they miss the reasons behind these rituals and do not fully understand what trained interviewers exactly seek.

That is terrible from multiple perspectives.

First, what data do small companies have about interviews in a large company? Usually, it is their own experiences they had going through the job interview as a candidate. But they miss the training, the interview goals, and context about the full hiring process. Thus, they often end up making an incomplete copy.

Second, imitation puts them in direct competition for the same pool of people. And here large companies have several advantages. Not only they have a well-defined hiring process, but they also can afford to pay more money. For some candidates, having a famous company in the CV is an interest as well.

Third, algorithmic interviews are direct translations from formalistic college backgrounds. They do not bring the same value for small companies, as they do for large ones. The former will get more value if they focus on the ability to deliver and the speed of the delivery. Before diving into the rituals from a large company, they have to survive long enough to become one.

The drawbacks of imitation

Imitating what large companies do without understanding why they do it is risky. It will not give you the same results. And it can be even dangerous if you apply it without consideration.

Alas, you probably do not even need their tools and processes in the first place. You might start needing them much later when your company is itself a large one, but not today. Today your company is in a completely different place, building a completely different culture.

You need to hire smartly.

You will need to think hard about how you want your company to evolve and grow. What your company culture will look like, and particularly what you will reward. Because that is what culture exactly is.

So, what will happen if you reward people for passing interviews? Then your filter will likely select two types of developers. The first type is young developers with freshly earned CS degrees. They will rock those algorithm interviews. They also will have little to no experience, but your filter is not tuned to catch this. Second—people who had spent the last month memorizing the “Cracking The Coding Interview.” They will pass as well, but you will have no assessment of whether they can apply their knowledge. That is, until their first deployment to your production environment.

In our experience, rewarding the delivery works way better.

How to hire great engineers

Long story short, great engineers deliver. The same way that great cooks cook.

Aline Lerner, from interviewing.io, explains an interview process for a cook in her Indie Hacker’s podcast:

I was fascinated by how restaurants hire people. If you want to work at a restaurant, nobody gives a shit about your hopes and dreams. Nobody really looks at your résumé. Your résumé’s meaningless in that industry as well. You just come in, and you bring your knives. In the morning, they show you how to set up your station and your prepping. That means you are making sauces. You are chopping vegetables. In some restaurants, they also put an onion in front of you, and they are, like, “Chop this onion,” and you are, like, “Okay.” Then you chop the onion.

Sounds like common sense, right? So we double-checked that with one of our engineers, who is a former chef. We asked him how the “whiteboard interview equivalent” would look like for a chef:

Unless you are working for the high-high-end restaurant, there would not be any. They would, instead, put you to the test for like 2-3 days to see how you perform. Part of that evaluation is to check how you interact with the team, and if you share the same kind of jokes and values. The more natural it is to work with you, the better.

The restaurant industry figured the hiring way better than the software engineering industry! They test both professional skills and cultural alignment! In other words, they test your ability to deliver. They do not ask you to explain a recipe by heart or describe how you would chop the onion. They ask you to do it. Live.

Their interview process answers the two most important questions: “Can you deliver?” and “Can I work with you?”

We must apply this exact concept to the hiring of software developers. If you want to hire great engineers, your interview process must check if they can deliver.

Chopping the onion

AutoIterative was born to apply the same principles to the software engineers hiring. We provide fun challenges that have to work in the production environment to pass.

The production environment is on us, fully prepared for you to show your skills. We give you git, CI pipelines, runtime, and automatic checking of your solutions. Candidates bring their knives and chop the onions like they would do during their day to day jobs.

The grading is automatic. We deploy solutions to the production environment and check them over multiple dimensions. Does it work, is it correct, can it scale? Does it properly handle the corner cases? In other words, if this code gets deployed to your production environment, would it break and page you at 3 in the morning?

Our grading focuses only on the behavior of the solution, eliminating irrelevant details. This approach allows us to answer the “Can you deliver?” question in its purest, distilled form.

Trying it out

We invite you to try this idea on our platform.

To make it extremely easy to do, we lowered the bar as much as possible. Create a demo account, and you will instantly have access to a sample challenge and some invites.

We recommend sending those invites to your current engineers for your mutual enjoyment. They will have fun passing it, and could even pick a few ideas from it for your CI improvement. And you will have the opportunity to check the platform from the perspective of your hiring loop. We chose the demo challenge to be approachable by a broad selection of engineers. Simple enough so that junior engineers can have fun driving it to acceptance. Yet with complex enough corner cases so that it is not a walk in the park for senior engineers.

And if you like it, please do let us know by dropping us an email.

Cultural alignment

No less important is the cultural alignment, the “Can I work with you?” question. This topic is deep and fascinating, and we’re omitting it from this post on purpose. It is worthy of a dedicated series of blog posts in the future.


Discuss this post on HackerNews.