1. 😩 Hiring is hard & slow. Skip it as long as you can.
2. 💸 People cost $$$
3. ✅ Do the job yourself first. You'll be better at hiring for the role once you have.
4. 🚀 Small team = fast & nimble
Spending your time on hiring doesn't fix a startup's "default dead" state. What matters first is finding product-market fit with a product that people love. Customers paying you $.
Hiring takes *forever*. Much longer than you’d think. If you wait too long to start, you'll be even further behind.
1. Wait until you know you really need to. When your current processes are breaking. When you know you can’t accomplish your goals without more people
2. Then don't wait any longer. Make it a #1 priority. You must really commit to hiring.
1. Aim high. Early engineers should:
- Be senior. No time for junior people in early days.
- Have leadership potential. You need people you don’t need to “manage”. Who you can hand large areas of responsibilities to.
- “Wow” you. Can you learn from them?
- The temptation is strong & happens every time… after a dozen mediocre interviews you start thinking you'll take anyone decent. Resist! DON’T SETTLE. The culture hit will slow you down. There are exceptional candidates out there – persevere to find them.
- Hiring the wrong people = BAD. It can poison your culture, frustrate top performers, & set you down the wrong path.
Early stage startups barely look like a real job to people. Tiny startups just aren’t for everyone. Most people need more structure and a more narrow job description than is typical for a very early startup employee.
They’ll impact the caliber of your future hires. They'll help hire and attract the next engineers. They will (or should) become leaders. Early in startups, you want people who can learn and grow quickly as your startup grows.
Different stages of your company require different types of people.
Our first few engineers were “Full Stack” generalists able to go both deep & wide. As we grew it was time to start specializing in the area that was slowing us down most.
Must pay close attention to: Communication skills, maturity, attitude, desired work/life balance, experience working remotely, etc. You have to qualify candidates as an entire person, not just based on technical skills.
The steps are pretty obvious, but I'll share some learnings for each of them:
1. Prep work
2. Sourcing
3. Screening
4. Interviews
5. Offer
6. Onboarding (& beyond)
Stand out by making the whole process fun and respectful, and play to your strengths.
- Get back to candidates quickly. People appreciate this & so many companies don't! Setup email templates to make it easy.
- Even rejected candidates should leave w/a positive impression & want to tell their friends, even if they are a horrible fit themselves.
- Interview questions should be connected in some way so the candidate feels like they are making progress, rather than just being asked a series of unrelated technical questions.
- Help them learn about your company throughout the process.
MISTAKE: Just listing job requirements
1. Sell your company & the role. Remember great candidates have many options.
2. Be specific about what they'll do. List example projects.
3. Get feedback from other people who are good at that role
☯ 1. Outbound vs Inbound: You need to do both. Treat outbound differently (more casual & more selling) in early stages of the process.
💸 2. Recruiters. If you go this route, just be very careful about how they are representing your company.
- Directly reach out to people you think are great – even/especially if you think they are happy in their current situation.
- Get everyone in your company to do the same
- Use social media (not as a replacement for 1-1 outreach though)
A 2nd-degree connection (@heliostatic) simply Liked my tweet.
I noticed he was a Product person so I reached out via DM...
Today he's our wonderful PM!! 💪
Use social media + Reach out to network!
Easiest way to find candidates ($300 = your ad in front of many job seekers)
Avoid generic sites. Post on the *most targeted* job boards for your specific role. Examples:
- For Remote: @weworkremotely
- Frontend Devs: @CodePen
- Designers: @dribbblejobs
Some sites serve as a nice middle-ground between inbound & outbound recruiting, where you can browse job seekers who match your needs: @AngelList (especially AList), @Hired_HQ, @triple_byte.
Good old-fashioned cold emails/DMs to people who look like a perfect fit for your role based on their exact experience. It can work, just don't be spammy.
Tip: Reach out to contributors of open source projects of yours or the libraries that you use.