Skip to main content

Hiring Developers: How to avoid the best

· 9 min read
Iain Cambridge

Hiring developers can be tricky: they’re a long term investment, they take 6 months to onboard, and in order to get the best out of them you need to employ them for several years. In today’s market everyone wants the best developers, so to ensure that you don’t have Facebook, Amazon, Apple, Netflix, or Google (FAANG) knocking on your developers’ doors, you need to make sure that you don’t hire the best that there is. To help you do that, we’ve got some tips on how to weed out the crème de la crème of the developer world, so you can hire developers who have nowhere else to go.

To skim look for the TL;DR in bold

Have a Slow Hiring Process

The best in any market are normally snapped up very quickly. This is especially true for software development as the number of jobs available is greater than the number of people with that skill. If you slow down your hiring process, you’ll dramatically reduce the volume of high quality developers available for you to hire. Slowing down this process works especially well if you have a smaller business or if you’re a brand new start-up, as you don’t have to worry about having a reputation that allows you to have a multi-month hiring process, you can do it anyway, and still find good developers.

To slow down that hiring process you should include long, pointless waits at every turn: take 3-4 weeks to respond to their application and a further 2 weeks to get back to them at each stage. Good developers who are urgently looking for work will be off the market within that time frame, and by doing this you’ll make these developers think that you’re not interested in hiring them, so they’ll look elsewhere.

TL;DR

  • The better the developer the quicker they’ll find a job.
  • Have a multi-month hiring process as a small unknown company.
  • Take your time replying or giving any feedback. The longer the better.

Test Them Until They Give Up

Testing people during the interview process is a must. In every field there is a test of the candidate’s knowledge; but in order for you to weed out those pesky top-end developers, you should test them on meaningless tasks which have absolutely nothing to do with their day-to-day tasks. Are you hiring a PHP developer to build WordPress sites? Ask them how to write a sorting algorithm! Are you hiring a Frontend Developer? Ask them how to find performance issues with MySQL queries.

You can even take this a step further and ask them to write the code out on a whiteboard or google doc. This will completely throw them off as they will never have to write code in this format, wherever they work! By removing their everyday tools, you can see how they work on tasks that are unlike anything you need them to do for you.

Another way to test them on meaningless things is to ask them unanswerable questions. For example: “How would you measure the depth of the ocean using an apple?”. Questions like these will definitely weed out the best developers, as they’ll become so frustrated with these meaningless tests that they’ll end the interview, saving you time and further questioning. If they’re not willing to come up with nonsensical answers to unanswerable questions, are they really that desperate for the job?

For those who are still around, you can ask them to do a multi-day take-home technical test. This will help you avoid hiring top notch talent as they won’t have time to complete the test. The longer and more complex you make your take-home test, the more desperate they’ll have to be to complete it. High quality talent are never desperate, so they’ll just outright refuse to do it. If they timebox the take-home test then they’re clearly not desperate enough, so you can count that against them no matter how good their test results are. If these measures aren’t enough, you can have one of the developers (one which you actually managed to hire) raise false positives in the test. This will prevent any good developers from getting through this stage.

TL;DR

  • Test them on things which they don’t do day-to-day as this will make it harder for them to pass.
  • Make them do the test on a whiteboard to throw them off balance.
  • Ask unanswerable brain teaser questions.
  • Have an extremely long take-home test.

Stay Local in Small Populated Areas

As anyone doing a recruitment search will tell you, the wider you cast your net the more likely you are to find something great. Don’t cast your net. Limit yourself to hiring within a tiny area so that you have barely any applicants. In today's world, remote working has offered a plethora of opportunities and it seems like excellent developers are easily accessible, but we recommend that you avoid this at all costs. Additionally, as many large companies are located in major cities, they often hire top-tier talent who are looking for a new job without having to move. To combat this move your company's offices to a small rural area and only search locally.

For the interview process, demand that all applicants come to the office for a 30 minute interview at their own expense (especially if your offices are in a small country town). If they’re willing to travel a large distance at their own cost, it’s a sign that they are desperate for a job. If your applicants are willing to relocate for the job or want to move to that area, refuse to assist them with relocation. Truly desperate developers will spend a significant amount of money to relocate themselves and their families for a job at a small unknown company.

TL;DR

  • Don’t hire remote developers.
  • Don’t offer any relocation assistance.
  • Make them travel large distances for 30 minute interviews at their own expense. Especially if you’re in a small country town.

Demand Passion

The more hurdles you put in place and the more restrictive you make them, the harder it’ll be for a phenomenal person to make it all the way through the application process; which will reduce your chances of accidentally ending up with a world-class developer.

The next hurdle that you should put in place is demanding passion: passion for what you do and/or passion for tech. In the interviews, ask each person: “why do you want to work for this company?”. If they’re not willing to lie and come up with some passionate reason for wanting to change the world with your fashion ecommerce business, then do you really want to hire them anyway?

You can also look at their activity in the community. Sure caring about the community is a sign that they’re going to be a truly amazing person, but these are the kinds of people that you want to remove from your hiring process. Are they spending all of their free time focusing on IT? or are they contributing to open source projects and spending time with their family? If they have a life, they won’t give up their free time to work for you for free - so get rid!

TL;DR

  • Demand passionate answers as to why people want to change the world with your company.
  • Demand that people spend all of their free time on tech and side projects.

Underpay

Highly skilled people deserve to be well compensated, so make sure that you underpay them. Instead of decent pay, offer them salaries that are lower than your competitors and a fraction of a percent of equity in your company; which they’ll only get if they stay for 3 years. If they’re smart enough to realise that the equity offer is actually worthless, then they’re too smart and you want to avoid them. Dodge that bullet!

TL;DR

  • Pay lower salaries than all the other companies in your area.
  • Offer equity that is only granted after multiple years of service.

What Not To Do When Hiring Developers

So far we have provided you with a number of tips on how to keep highly talented people away from your company, but now we will cover the mistakes that regular companies make when hiring amazing people who are also superb developers:

  • Being responsive to messages and applications as this will keep talented people interested in your company.

  • Moving quickly and providing good feedback as this will show people that you’re interested in their application and value them.

  • Testing them on their relevant knowledge and ability regarding daily tasks and/or core skills, as this will provide you with a good overview of their ability to do the work that you require.

  • Removing long take-home tests as this will show them that you value their time, and help increase the number of talented people that make it through your recruitment funnel.

  • Allowing remote work as well as relocation assistance, as this will help you find amazing talent from around the world. Amazing people aren’t always on the doorstep.

  • Understanding that sometimes a job is just a job and that people have other passions in life, as this will help you to recruit people who are amazing at their day jobs as well as other things in their life.

  • Paying people fairly and compensating them well, as this will ensure that highly qualified people will be interested in working for you.

  • Telling people upfront about their salary, as this will help them make informed decisions early in the process.

TL;DR

  • Be responsive and move quickly during the hiring process.
  • Be interested in their abilities to do daily tasks as they would normally do them.
  • Value and respect their time.
  • Be open to remote employees and offer relocation assistance.
  • Be understanding that tech and work aren’t the only things in life.
  • Pay a fair salary and be upfront with salary expectations.
Loading...