We wanted to write about our Hiring process because we got a lot of positive feedback on it. Also because we hate conventional hiring methods especially leetcode or algorithm interviews
Let’s give some context first:
- We got $10,000 (♥️ Devfolio)
- We are fully remote but I am based out of India
- Before we started hiring, the team was two people. Zack who joined part-time in Jan, and will be transiting to a co-founder role soon, and me.
Why are we hiring? and Why so aggressively?
While I am fortunate enough to have a good financial runway thanks to family, and cheap living expenses, I still have a runway expiration date which is college. It took quite a bit to convince parents to take the year off and would be harder to convince for another year. So I would have to show more significant progress by about July(when enrollment begins)
Also because I am not interested in pocketing this $10,000 from Devfolio and would rather use it to accelerate our development and growth.
How to hire with $10,000?
While $10,000 is a decent amount of money, it is definitely not enough to hire a team right? Well not if you focus on a different market. This $10,000 might fetch one engineer in North America for 2-3 months max? But I could easily pay market or above market wages to roughly 2-3 engineers for 6-8 months in India.
This comes with a catch tho, you can’t do what startups flush with cash do. No 10k referral bonuses or high salaries to attract the best engineers. So you need to search for the diamonds among the roughs.
The first tactic was to leverage a hackathon I founded a few years ago, we went and “sponsored” codefest.oakridge.in the high school hackathon I founded, with the promise to interview the winning teams. We got some great candidates from here, candidates no other company in India would dream of taking a chance on. When we first did this event, we were only going to hire 1 candidate just from this event because we had no funding and were going to pay out of pocket.
We are actually doing another event like this for any students interested https://www.tisbmlthon.com
Angel.co is an amazing tool for finding candidates, I think we got more than 200 applications here. We quickly realized it didn’t have the precision we wanted in terms of filtration so used our own internal method but still a great way to get ingress. Far better than Linkedln.
This after we cleared the first batch of about 100 candidates
While we hate credentialism or standard coding interviews, we needed some way to filter candidates to not spend all our time hiring.
To do this, I had an idea that started out kind of as a joke/something fun but became our magic sauce to hiring.
We made a mini CTF https://modfy.video/intern-flag and it worked wonders. By giving a more practical challenge, that cannot be gamed like leetcode interviews it became a great filter. We were able to immediately reject candidates if they submitted the wrong code, and move them to the next round if they did.
This completely removed credentialism, the only three things that got you rejected in our first round were:
- Not reading our instructions and submitting an incomplete application. Like no github
- Wrong code, especially lazily wrong
- We couldn’t afford you. From some candidates that applied from Canada or such, we just told them we couldn’t afford them
This system led to us rejecting candidates from “top tier” Indian schools instantly because they were either too lazy to do our challenge or too incompetent to.
“Why do you want to work at X startup?” is boring. We had it on our form for ages and never bothered reading it.
We swapped it for, “Did Inception end in a dream or not?” and asked for the reasoning, definitely an answer we actually read.
Neither Zack nor I, have hired before but we both knew we hated standard hiring so we tried to create our own simple system.
The first step was our CTF as described above, public to anyone
We gave candidates that passed this step an Operational Transform Question based on how we manage files. (This question is very much inspired from repl.it hiring process, which is also quite good). They had to make just one somewhat basic function, which shouldn’t take more than an hour.
We talked to the candidates that finished this challenge for 20-30 mins, to just go through their code and do a vibe check to see if they were a good match.
Note: For anyone who got to the stage where we talked to them we gave them personalized feedback if we rejected them. We have a notion document for each candidate that gets this far, which we shared with them
After this round, if we still liked the candidate we invited them for a much longer “virtual onsite”. This involves two main components, first is reading our documentation and making a PR on our public repository which an Operation(Trim, Compress, Etc) which are already heavily abstracted. The second is a basic system design question to get a high-level understanding of how they think, we also just chat more technically with them in this section. Kind of just riff on our technical interests
Tools we use to hire
I think the tools you use can make or break hiring processes for both candidates and for us. We actually use a lot of tools for our hiring flow
- Notion - All our job listing, questions and notes are here
- Airtable - Our application form is here, with some amazing automation to send emails to candidates when they move between stages. Also nice kanban boards
Repl.it - We ask the participants to submit their take-home using replit because much easier to review, but also makes it easier for us to talk to them about their code.
Branch.gg - We realized that zoom interviews were boring and decided to switch to branch, this atmosphere makes it much easier for candidates to feel comfortable. (Once we had two candidates doing the on sites simultaneously, in different rooms)
- Avodocs - Great way to generate contract templates for free. (Sorry but we definitely use 10minutemail with this)
- Pandadoc - Great free hellosign alernative
- Superhuman - Last but not least, superhuman makes getting through candidate emails so much easier and snippets help a lot
- Find people who have personality and can have fun. We cared most about finding someone we wanted to be around, someone who passed the “vibe” check. Professionalism is overrated, we hired someone who’s resume started like this. Great programmer, but no issue with him meming
- Be nice to people when you reject them, if you are a human being when you reject someone vs a robot it makes a huge difference. I am definitely grateful to people like Brendan from Fig, who rejected me like a human being.
- Iterate on your hiring process, keep changing it and its okay to be weird.
- Don’t ghost people, like yeah things can get lost in the mail but try to stay on top of it
Finally happy to welcome our first few hires:
- Adithya - This kid is a real genius, and what he can do at 15 is super impressive. I first saw him at our hackathon when he was in 6th grade a few years ago, and his programming skills always impressed us. So happy to be working with him
- Pathetic Geek - Can’t complain about a pseudonym when you get a good programmer, who also has a fun personality. It takes balls to apply to a job with a LinkedIn pseudonym on your resume/Linkedin
- Raj Paul - He didn’t go through this process at all, wouldn’t have made sense for a design role but except some real upgrades to our UI coming curiosity of Raj.
We are still open to hire one more engineer, so if you think you’d want to work with us head to https://modfy.video/internship
What some of our candidates said