First, a warning:
Unless you have product-market-fit and you are drowning in demand, the answer to your startup’s problems right now is probably not more employees.
Adding another employee should be the last resort. I have yet to hear from a founder shutting down their company that only if they had hired more employees, their company would have made it.
You are exploding in demand or have extinguished every other solution, and the only way out is adding another person? Ok, let’s carry on then with best practices and fundamentals first:
Fundamental best practices to land the best talent
Place the same effort, care, and attention to recruiting your first employees as you did your investors.
Founders put a lot of time with care and attention prospecting, pitching, and closing early clients and investors. You did not only publish that your company is looking for investors and customers that meet x,y,z criteria hoping the best customers and investors would send you an e-mail with a cover letter. You went above that; you researched, you found connections, you prepared, you pitched, you closed.
Do the same with your employees, especially your early team members, because when you bring employee #1-#10, you are quickly multiplying your team’s size, and the success of your company depends on how well your team performs.
Grant equity to all employees.
Like the rest of your employees, your ultimate job is to increase the price per share. If an employee is working towards a KPI that ultimately raises the price per share, they should have equity as part of their compensation. Alternatively, if they are working towards something that does not increase the company’s price per share, they should not be employees; they can be consultants or third-party vendors. Otherwise, when you have an employee who raises your price-per-share and has no participation in the upside, another company will offer them equity and win them over.
Some excuses I’ve heard over the years
- But what if they are not good? Like yourself and your co-founders, put every employee on a four-year vesting schedule with a year cliff. You have 12 months to evaluate if that employee adds value to the company for the equity they are receiving, and if they do not or leave the company before the 12 months, they earned no equity. They receive their first year’s worth of equity after the first year threshold and monthly after that until they complete four years.
- They don’t value equity. [More often heard outside of the U.S.] They don’t value it because you have not explained it, and they will value it when another startup offers them more cash and equity compensation and they leave your company.
- Please do not make it cash or equity. When starting below market rate, cash compensation will increase as the company raises more money and employee performance. The equity you grant does not increase. Price-per-share increases, and if the company does very well, the equity they receive every month will be worth >5x more than their monthly salary. Or it could be worthless if the company does not do well enough. Either way, it should be decoupled from a cash compensation equation.
- We do not have an employee stock option pool yet. Use a restricted stock purchase agreement for the early employees until you get around to doing a proper pool.
- We did not reserve enough equity for employees. Issue new shares; this will dilute everyone, including your investors. Still, it’s a battle worth fighting if they, too, want a better chance at retaining the best people and, therefore, a higher chance of generating outsized returns.
- I don’t know how to grant equity to people outside of the U.S. Use a non-qualified stock option if you have an employee stock option plan. Otherwise, use a regular Restricted Stock Purchase Agreement. They do not need to be U.S. employees or U.S. tax residents to receive equity.
Recruit the best in the world, not the best in a 30-mile radius.
If you want to compete for highly sought-after talent, especially software engineers, here are options ranked from best to worst:
- Nail asynchronous collaboration and recruit “Remote Anywhere.”
- The second best is aligning for time zone ranges (“Remote Americas,” “Remote European Time Zones,” etc.,),
- The third “could be worse” option is Remote your country only (ex: ” Remote US Only”)
- The last option is limiting your talent search to whatever is close to you.
Supply and demand determine compensation, not geography.
Global supply and demand determine compensation, especially for software engineers. Most remote-first companies pre 2020 would adjust compensation based on where talent lived. The logic made sense (somewhat) when candidates depended on their local labor market for job opportunities. That makes less sense post-2020 since the labor market has gone global with companies going remote first. Lowering compensation for more affordable locations results in settling for the lowest common denominator.
Let’s run through a scenario:
Imagine you have raised a bit of funding and can spend $108k on engineering over the next 12 months. You have also decided that you will recruit Remote Americas; this includes Canada, U.S., Latin America, and the Caribbean.
A recent Stanford Computer Science grad pre-2020 would make roughly $108k/year in the Bay Area. An equally skilled recent grad in Medellín, Colombia, would earn around U.S. $18k/year.
A Senior Full Stack Software Engineer with ten years of experience would make around $250k in the Bay Area. (outside your budget in this scenario). An equally or even more skilled engineer in Medellín, Colombia, would earn approximately $108k/year, which is your budget.
The intuitive option would be to hire a recent grad in Colombia and save $90k, or worse, to hire six recent C.S. grads. Founders from more affordable locations tend to be the ones that intuitively hire six recent C.S. grads with that same budget.
A better strategy is to invest the $108k/year in a senior full-stack software engineer with ten plus years of experience that happens to live in Medellin, Colombia. This engineer likely has experience recruiting and leading other engineers and will scale with your startup to become a V.P. of Engineering when there are more employees to lead.
Obstacles and Solutions to Remote Anywhere or Remote Time Zones
How do I create a common culture?
Culture is shared beliefs and behaviors. Having people with diverse cultures is better than having a mono-culture in your company. Rather than recruiting around similar culture, recruit around aligned values.
Keep work activities remote (and, if possible, asynchronous) and team bonding activities in person with retreats and offsites.
How do I pay people outside of my country?
Wire transfers work worldwide. People outside of your country have bank accounts.
What about taxes and compliance?
Several startups out there handle payroll and compliance on your behalf for a monthly fee per employee. The fastest cheapest option is to have remote team members be contractors, and you do a wire transfer every month. They have to sign a consulting agreement, proprietary innovations and information agreement, and a restricted stock purchase agreement.
The Recruiting Process
“Time kills deals.” Often used in investments and sales, but it also applies to recruiting high performers. Keep the time frame between engaging a candidate and providing an offer or pass as tight as possible.
- Prospect: Have a pipeline that starts with prospects. Prospects include people that did not apply for the job but that you would love in your team. Find your prospects by doing research, the same as you would do for prospecting customers and investors. Where does the ideal person work today? Where have they worked in the past? Don’t rely only on people that apply or people that you already know. Proactively prospect people from diverse and underrepresented backgrounds. If you strive towards having two diverse candidates out of the four finalists for every position you fill, you will end up with a diverse team. Diverse teams perform better and attract top-tier talent.
- Lead: This stage is for people that have applied or people that have responded to your outreach.
- Pitch: Remember this process is two-way, especially for the most sought-after candidates. This stage is where you detail the company’s vision, values, challenges, and selection process if they decide to participate in it.
- Evaluation: This is the stage where you evaluate candidates.
- Behavioral evaluation: I strongly recommend using behavioral questions that follow the STAR (Situation, Task, Action, Result) method. They typically start with “Tell me about a time that…” Also, make sure those questions evaluate behavior tied to your company values. Send the questions ahead of time to assess candidates on their best performance. I typically go as far as asking for a written response to the questions, and then I dig deeper in the interview. Written communication skills are essential for remote work, and I evaluate their writing abilities when candidates answer these questions.
- Technical Evaluation:
- Whiteboarding or Live-Coding:
- Live-coding is the most commonly used method and the least preferred by senior engineering candidates. This method centers around computer science fundamentals and a better fit for recent college graduates or junior software engineers. Senior engineers do not like it because it is not representative of what they will be doing daily in your company or represent well what they have been doing over the last ten years of work experience beyond the C.S. fundamentals.
- Take-home projects:
- Most software engineers that pro-actively apply for a job prefer these projects but can add friction for those that result from your outreach and are not actively looking to leave their current employer.
- This take-home project should be doable in a day or two and should reflect the type of work they will be tackling at your company. Keep in mind that candidates probably have a family and a full-time job, so even though the project can take a day, it has to fit in gaps in their current responsibilities, so provide ample time to deliver the result.
- The primary purpose of what they submit is to evaluate their critical thinking and decision-making process, not actually to use the code they wrote in your app. Assess whether a candidate “thinks twice, codes once.”, how well a candidate documents their code, including the readme, and on a follow-up call, dig deeper into their decisions within the context of the time constraints. In the end, ask what they would do differently in their approach if they were to write the software again.
- Code-review: Applies to candidates of all experience levels and both for inbound and outbound. Have the candidate share the software they are most proud of, and ask them about their decision-making process, including system design. Share code you are working on so that they can comment and ask questions. This exercise is closer to how you will be collaborating day-to-day.
- Whiteboarding or Live-Coding:
- Non-Engineers: This will vary widely per role but follow the fundamental purpose of evaluating future performance by designing a challenge close to what they would be doing daily. It should take a day or less to produce and give them more time to complete it since they juggle an existing job, other recruiting processes, and family. The purpose of this deliverable is to have an in-depth conversation around their thought process and answers. This deliverable is not meant to be free labor. You should not expect to use it.
- Offer and Negotiation:
- Set clear expectations at the beginning of the process. Publish equity and compensation ranges in the job posting. Compensation should have a standard scale. If someone is not that good, don’t pay them less, don’t hire them. When thinking of compensation, consider how much you can afford for someone that meets or exceeds expectations.
- Before you send an offer in writing, schedule a call, and discuss and agree to the terms before you put them in writing. Handle all objections in the call. The written offer and acceptance should be a formality. Never send the offer before talking about it.
How to write a winning job posting
People are scrolling many options; you need to stand out. Job postings and descriptions are a reference document that also serves as a marketing piece to attract the best talent.
- Job Title: If you are hiring remote anywhere, include that in the title, not just in the faded-out subtitle or hidden in the body. Keep it broadly appealing in the title; [Remote Anywhere] Senior Software Engineer is better than Senior React Developer
- Compensation: Publish cash and equity compensation ranges. If you are afraid it’s too low and good people will not apply, do not worry; sought-after candidates will also not click if it is not published.
- About the company: Sell the company, out of all places a candidate could invest the next four years or more of their lives, why invest it in your company?
- Values of the company: List the company’s values in the job description. Values will help candidates find alignment and a better understanding of why they should join.
- Selection Process: Applying for a job is time-consuming. If you are upfront about what the process looks like, people are more likely to make an effort. Detail what the steps are, including what interviews and evaluation criteria, and how fast.
- First 90 days: If the candidate gets the job, describe what their objectives will be for the first 30, 60, 90 days.
- Unless you are hiring for an academic research position, degrees are not a good indicator of skills or future performance for an early-stage startup.
- Replace years of experience with objectives reached. “Experience launching and iterating at least two software products” is better than “3 years of experience writing software in typescript.”
- Avoid a laundry list of frameworks, specific tools, and focus instead of fundamental skills because tools and frameworks change over time.
- Always include “You do not need to meet 100% of qualifications to apply”, this will give you broader access to extraordinary talent that you had not considered initially.
Where to distribute a job posting
Publish where you know the best candidates participate online. In addition to LinkedIn, AngelList, Github Jobs, etc., there are slack communities with specific job offers channels, WhatsApp groups, specialized job boards.
Make it super easy to share and forward optimized for whatever social platform you are using. What looks good on LinkedIn won’t fit on Twitter. Make it easy for people to stop scrolling. The link to the job posting should generate a thumbnail with your company’s branding.
Typically, this is what my job postings for social look like:
📢 Come join me @ Techstars [Remote Americas] as Software Engineer USD $90k-$115k and let’s help more entrepreneurs succeed together!
💰 USD $90k-$115k
Senior Software Engineer $90,000 – $115,000 + 10% bonus https://lnkd.in/dCdbFqA