Engineers are critical to the early success of a technology company, but what if you’ve got a great idea and aren’t technical? How can you go about bringing your idea to life?
Well, there are a few options. You could learn to code using Code Academy, but then there’s opportunity cost – you might pick up the basics of Ruby or Node in a few weeks or months, but during that time you could’ve hired an excellent engineer or two to build your MVP in half that time.
The second option is to find a technical co-founder. This is relatively easy when you’ve got some success behind you. Maybe you sold your previous company, have good relationships with a few investors with strong networks, etc. But if you’re a first-time non-technical founder, it’s hard. Really hard.
The third option is to focus all of your time and energy learning how to hire a great engineer or two. This is the option I’d recommend if you’re a first-time founder without a technical background.
I advise, mentor and invest in quite a few startups under the radar and I’m also writing this guide for them. Not every technology company needs a technical founder and not every successful technology company was founded by an engineer. Most were, but not all of them.
The key, then, is being able to 1) identify top talent and 2) convince them to join you.
Let’s start with identifying top talent. This is part art, art science. And it all starts with how you write your job ad.
Writing your job ad
Sure your first engineer needs to be good technically, but they need to be (almost) perfect culturally over and above everything else.
What do I mean by that? Well, you know the cliche image of a guy in a hoodie with headphones who just wants to sit in the corner and code? You’re not going to hire him – at least, not at this early stage.
You need to write your job ad to focus 70% on who the person is and 30% on what they can do technically. Most ads for engineers focus 100% on their tech skills and 0% on who they are.
By focusing on who they are first and foremost, you instantly turn off engineers who just want to code. And that’s exactly what you want to do. Again, there’s nothing wrong with those engineers, but your first engineering hire needs to want to communicate, brainstorm, be helpful and solve problems in a collaborative way.
Your job ad should be a series of hurdlers – or filters – that turn off 98% of engineers reading the ad. Because it’s the remaining 2% that you want.
So where do you start? Well, you want to keep your ad short. 500 words max in total. Start with an opening paragraph about what you’re building and why it’s important. Immediately after that, jump right in to the attributes you’re looking for in candidates. Some examples are:
- Hard working
- Excellent communicator
List the top 5 attributes you feel are important to you as a founder and that you want to form the foundation of your core values (down the track, when you create them).
Next up, write a few bullet points or a paragraph talking about what a typical day will be like for them. In here you want to talk about a mix of technical and non-technical duties. This acts as another filter. One of the best things to include in this list is customer support. You want the kind of engineers who like customers, not those who are turned off by having to support them.
Round out your ad with benefits, perks and a few bullet points on the technology you need them to be proficient with. One final thing to do is really emphasize that learning is important. Languages and frameworks change so fast that you should aim to hire an engineer who is obsessed with learning.
Finally, including something like this at the end of your job ad:
To be considered for this role, please make sure you tell us your favorite place to vacation as part of your application.
As you start receiving applications and emails, this can help you figure out who read your ad and who simply mass-emailed you their resume. If there’s no mention of where they like to vacation (or anything else you want to include – have a bit of fun with this) then you know they didn’t even take the time to read your ad. If they can’t take a few minutes to read your ad, you shouldn’t hire them. Plain and simple.
Once you’ve written your job ad, it’s time to post it. Without a doubt, the best place to post your ad is Stack Overflow. I’d recommend posting it to a few different high quality, high reach job boards that are specifically focused on engineers and developers as opposed to the general job sites like Indeed or LinkedIn.
Filtering initial candidates
Once your job ad is posted, you’ll start receiving resumes, applications and emails within a few hours. Start by filtering out the ones who didn’t include an answer to where they like to vacation, or whatever question you used. Just go ahead and delete them right away.
For the remaining candidates, read their cover letter or email. You’re looking for excellent writing skills including grammar, spelling and punctuation. You also want their cover letter to be interesting and not cookie cutter. Look for candidates who have taken the time to email you from scratch as opposed to sending you a pre-written template.
How can you tell whether they’ve just copy-and-pasted you a pre-written email? It’s pretty easy. If they reference something specific in your job ad (like your tech stack, your location, your industry, your web site, etc) that’s a good sign.
If you need to hire an engineer in the same city as you (and you aren’t prepared to cover relocation expenses), then read through the resumes and delete any candidates who aren’t from your city.
Going through this process will typically give you maybe 20 candidates out of 100 that apply. The next step is to filter those 20 candidates down to 5.
Screening via video answers
For the 20 candidates left, you’re now going to ask them to record (via their web cam) answers to 3-5 questions. To do that, use Hirevue or Spark Hire - two great platforms that help you get a real sense of each candidate’s communication skills before you spend a minute of your time interviewing them.
What kind of questions should you have them answer? Focus on questions that tell you more about them as a person, such as:
- What are you looking for in your next position?
- What are 3 words you would use to describe yourself?
- What are you currently learning outside of work?
After setting up the questions in Hirevue or Spark Hire, you’ll receive a link which you can share with candidates to see your questions and record their answers. Send each candidate a short email inviting them to answer your questions, like this:
Thank you for your application. From what I can see on your resume and application letter, I’d like to invite you to the next round, which involves answering a few simple questions via your web cam using Hirevue – an interview platform we’re using.
You can go here to see the questions and share your answers with us:
Thanks and I look forward to seeing your answers.
The great thing about this hurdle is that it will turn 15 out of the 20 candidates off. And again, that’s what you want. If someone can’t invest just 10 minutes of their time to record a few short video answers, you probably don’t want them at your startup.
The good news is that between 3 and 5 of the candidates will answer your questions. You can then watch their video responses from the Hirevue or Spark Hire dashboards. Look for how they communicate as well as their body language and passion. Do they seem excited by the role or are they flat and disinterested?
From the 5 or so candidates that complete this part of the process, you can now choose the ones you want to interview. I’m a big believer that your first interview, regardless of whether you’re building a co-located or remote team, should be done over Google Hangouts or Skype. It saves both you and the candidate a lot of time and effort.
Initial interview on Google Hangouts
To organize these interviews, just email each candidate to let them know you’ve seen their video answers and that you appreciate the time they took answering your questions. Then offer 3 times over the next few days when you can meet with them on Google Hangouts. These interviews should be scheduled as 30 minutes in your calendar.
During this interview your one and only goal is to answer these 3 questions about each candidate:
- Would they be a good cultural fit?
- Are they committed to learning?
- Are they a genuinely good person?
To get these answers, focus on asking bucket 2 questions. Get to know them as people. What’s important to them in life? What are their values? What do they teach their kids? Who do they spend time with when they’re not working? Who are their idols or mentors?
These interviews will narrow the initial 5 or so candidates down to 2 or 3. At this point, you want to assess their technical skills.
Assessing technical skills
The best way to assess an engineer’s technical skills is to have them complete a technical test. This acts as yet another filter and that’s by design.
You want to create a technical test that takes a few hours to complete. Don’t use multiple choice questions and don’t download one from the Internet.
Ideally you want to find a strong engineer who can help you craft a technical test in the context of 1) the job you’re hiring for and 2) the product you want the engineer to build.
If you don’t know any good engineers, use eLance or oDesk to post a job ad and find an engineer who can help you create the technical test. On eLance, most engineers take technical tests and you can see the results of those tests on their profile. Look for engineers with high ratings on the technologies you’re planning to use as well as excellent ratings for English – ideally those from North America, Australia or the U.K.
In 2-3 hours a great engineer can help you create a technical test that you can share with your shortlisted candidates. The test should focus on having each candidate create a project based on a real feature or use case of the product you’re planning to hire them to build.
The technical test should give them some information on your idea and explain in detail how one particular feature would work. Include wireframes or high-fidelity visuals for that feature and ask them to create that feature as part of your technical test.
If you have a tech stack in mind (such as Ruby on Rails, MySQL and CoffeeScript) then include that in your tech test as well, so you can assess their code using the same languages they’ll be using every day if you hire them.
Once each candidate has completed the technical test, you can pass their code to the engineer you know (or the one you found on oDesk) to have him/her review and rate it on a scale from 1 to 10. Ask the engineer to explain, in detail, what they liked (or didn’t like) about each candidate’s code and why.
The final step
So, you’ve shortlisted 100 candidates down to 3. They’re all great people with the tech skills you need – great. The final step is to setup a Google Hangout for 30 minutes with each candidate. On the Hangout, ask them to walk you through their technical test assuming you have no understanding of programming.
This is critical, because it does two things – first is shows you whether they can “dumb down” the explanation of their models, SQL queries, framework choices, etc and second, if they can explain technical concepts in lamens terms, it shows they’re more than just a “code monkey” – i.e. they’re a great programmer and a great communicator.
On this 30 minute Hangout your only goal is to see if they can actually explain the feature they built as part of the tech test in plain English. Start by asking them to walk you through their code and probe in a few places. Ask questions like:
- Why did you name that variable like you did?
- What does the code on line 93 do?
- Can you tell me a bit more about the pros and cons of CoffeeScript?
- What would you do differently if you did this test again?
At this point you might have a clear winner or even a few candidates you like. You can then go ahead and choose the best fit – which should really be the candidate you feel you’ll get along with and that your team (if any) will like and learn from.
Hiring great engineers is hard. Someone can be incredibly personable and fun in an interview only to write spaghetti code and argue all day with other engineers.
By walking through the process I’ve described in this post, you should be able to filter out most of those engineers to find the ones who are genuinely good people that value learning and collaboration while seeing engineering as their craft as much as their profession.