We wanted to write about 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 dollars (♥️ 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 transition to a co founder role soon, and me.
While I am fortunate enough to have a good finnacial runway thanks to family, and cheap living expenses, I still have an 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 siginifcant 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.
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 a 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 roughes.
By first tatic, was to leverage an 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 released it didn't have the precision we wanted in terms of filteration 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 started out kind of as a joke/something fun but became our magic sause 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 lazly wrong
- We couldn't afford you. From the some candidates that applied from Canada or such, we just told them we couldn't afford them
This system lead to use rejecting candidates from "top tier" indian school 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 or I, have hired before but we both know 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 fucntion, 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". Which 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 understand of how they think, we also just chat more technically with them in this section. Kind of just riff on our technical interests
- 🎉 Hired!
I think 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 automations 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 atomsphere makes it much easier for candidates to feel comfortable. (Once we had two candidates doing the onsites 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 threw candidate emails so much easier and snippets help a lot
- Find people who have personality and have fun? 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 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 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 curtosity 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