Earlier this year, our EiR David Mytton, wrote about the first step in hiring – how to source candidates. Once you have applications, then you need to evaluate them to decide who you might want to hire.

In this follow-up piece, David shares more about how to think about the interview process. Regardless of how urgent the need is to fill the position, finding the right people, not just for the role today but for how your business will change in the future, is crucial to success. This post will take you through how to create a robust selection process for hiring engineers.

The goals of the process

You have to remember that you are still in a sales process. You are not just trying to match applications against your person spec but you are also trying to convince them to accept the offer you might make at the end. This means there are several goals to consider:

  1. Evaluate applications against what you are looking for in team members now, and in the future. You need to balance the requirements of the job today with an ability to adapt as the business changes. This is particularly important in early-stage startups. Past experience may be relevant to demonstrate ability to execute, but knowledge of specific technologies is probably not – the best engineers can learn new skills, languages, frameworks and systems.
  2. Continue to demonstrate why your business is a great place to work. This comes in multiple parts, the first of which is well before you even get applications. Building your profile and supporting website materials is important for getting applications in the first place. It is just as important that the interview process runs smoothly, the candidates always know where they are at, what they need to do next and what the timeline is. You need to provide regular updates and fast responses. Their time must be valued more than your own and you need to explain to them why they should be joining the company if you make them an offer. You can never take for granted that just because they have applied to you, they will actually accept any offer.
  3. Build a diverse team. This is assisted by the design of the process but also requires you to have the appropriate HR policies in place e.g. flexible working, generous holiday allowances, clear maternity/paternity policies, etc. Thinking about this from the beginning and designing your processes to consider the challenges of diversity means you do not need to do things like positive discrimination, which I do not think is a good way to tackle the diversity problem in tech. The goal is to increase the diversity of the application pool and run an unbiased process to select the best candidates from that pool. Google has some useful guides on diversity in general and there are several good resources for working on gender diversity.

The basic foundation for running a good engineering interview process is valuing the time of the candidates. They likely have full time jobs and/or consulting gigs, so you cannot ask candidates to spend many hours on the phone, doing coding tasks or building projects. Of course they will need to give up some time to dedicate to the process but you should work hard to minimise it.

Step 1: Application

The usual application is a simple form which asks the candidate to submit their basic details, a CV/resume and a short cover letter explaining why they are interested in the job. The cover letter is the most important aspect and the only element that is actually examined at this stage.

In the job and I include an instruction which asks the applicant to mention a keyword in their cover letter. If the keyword isn’t present then the application is instantly rejected. This is specifically to filter out mass, shotgun-type applications and to test for attention to detail.

The best people will usually only ever apply to a small number of positions. You want to find people who take the time to consider the company and role well in advance of ever applying, which means reading the full job ad and description.

Where possible, this step should be automated. Only collecting the minimum amount of information e.g. email, cover letter means you can systematically ignore any other details of the application, such as the CV, name, which might introduce bias. Be aware of protected characteristics and things you cannot ask.

Just like college degrees being mostly irrelevant for engineering positions (unless you have some very specific scientific knowledge you require), some companies are now excluding CV submission entirely. This is worth considering as another way to remove potential for bias. The only thing I find CVs useful for is to research interview questions in advance, but everything you need to know you can simply ask the candidate when you speak to them later.

Step 2: Writing exercise

I have found there is a good correlation between ability to write well and coding ability. Programming is all about clear and accurate communication, whether that is directly in code itself or communication about the project with real people!

I test this by requiring candidates to do a short writing exercise whereby they have an hour to research the answer to a particular question, and write up the response. The question should be relatively easy because the focus is on their written answer. You are simply looking for accurate spelling and grammar. Any mistakes should mean an instant rejection – if they are unable to write such a short piece without mistakes or proper proofreading then that indicates a lack of care and attention.

The task should take no more than an hour and you are not looking for technical accuracy of the response. This is purely an assessment of clear and accurate communication.

Step 3: Coding exercise

Designing a good coding exercise is tricky. It needs to be representative of the kind of skills you need for the role. It should allow the candidate to demonstrate a wide range of skills, from writing clear code to tests and documentation. And it should be straightforward to build in a short period of time – a couple of hours is ideal.

One of the more successful exercises I have used in the past is to ask the candidate to build a simple client for a public API. This tests many things such as working with real world systems, understanding credential management and dealing with network issues and error handling.

Whatever you pick, you want the candidate to be able to create a self contained package or repository, with some basic installation and setup documentation so that you can evaluate both whether it works, and the implementation itself.

Before starting this, as an engineering team you need to create a list of objective criteria that you can score the exercise against. These can include things like checking the documentation is accurate, test coverage, code linting, etc. You can determine your own criteria but they should be as objective as possible so that each evaluator can compare their conclusions.

Once the candidate sends you their completed exercise, the code should be given to several of your engineers to evaluate. This should be done blind so the evaluators only see the code, and they do not discuss the details with each other. This gives you several independent evaluations and avoids any bias. Be sure to instruct the candidate not to include any identifying information in the package e.g. a Github URL or their name in an auto-generated copyright code comment.

Step 4: In-person pair programming

At this point you have done most of the evaluation and believe the candidate has the skills you’re looking for. The final stage is to evaluate actually working alongside you in a more realistic situation. For this, I prefer to meet candidates in person and have them work alongside their potential colleagues.

I have done this stage remotely in the past but have found that it is more effective to meet someone in person. You can then evaluate what they are like as a person. However, this is also the stage where there is most risk of bias. You can mitigate this by involving multiple people from your team so that one person doesn’t have a veto.

In the interests of speed and efficiency, I try and schedule all final interviews within the same week. This may not always be possible but I try to batch them as closely as possible. This makes the best use of your team’s time and means that candidates can get a response quickly.

You should cover all travel costs for the candidates, booking tickets for them rather than making them pay with reimbursement – they shouldn’t have to loan your company their own money! If they have to travel a long distance, offer overnight accommodation, transfers and food. Also ensure they have a direct contact who is available 24/7 in an emergency. You want candidates focused on the interview, not worrying about logistics.

Again, you need to determine what the best approach to evaluating their capabilities is. I have found that getting them to actually work on your codebase is a good way to see how they deal with an unfamiliar environment and start to learn a new system. You can ask them to fix a known bug, or introduce a simple bug into the code and work with them to fix it. You are not testing them on their knowledge, but on how they approach the problem. Whether or not they fix the problem isn’t important.

Remember that this continues to be a sales process. Take the time to introduce them to key members of team, show them around the office and, if they’re not local, the area where they’ll be working. Be sure to show off and explain why you want them to join. This is the job of everyone on the team – multiple people telling them about the company is a lot better than just the hiring manager or CEO!

Step 5: The response

Anyone who gets past step 1 should receive a response to their application whether they are successful or not. One of the worst things about applying for a job is not knowing what the decision was.

The challenge with giving a negative result is that candidates will often ask for feedback and may argue with it. It is up to you whether you want to do this at all, but I usually offer detailed feedback only if a candidate reaches step 3 or 4. Failing step 2 is only for poor spelling/grammar, which you can build into an auto-generated response.

If you are going to make an offer, do it as quickly as possible. Include the key information about the compensation package, start date and anything else you need from the candidate. Be sure to review the legal requirements for a formal job offer first.

Don’t use exploding offers and don’t pressure the candidate. During the step 4 interview, you may want to ask them what their evaluation criteria are and whether they are looking elsewhere. Asking them when they think they will be able to reply to you is probably fine, but  don’t ask about salary expectations.

What not to do

You may notice that certain things are not present in the above process.

A few years ago I shared my views on attributes I found across emerging tech ecosystems that helped them flourish. Originally, I wrote the post as an answer to a question I was posed. As such, in this post, I’ve reviewed what’s happened in Europe over the past 4 years, and have added to that original post in hopes of helping anyone trying to answer the same question I was asked.

Aside from helping economies move forward through the creation of jobs and wealth, a thriving ecosystem allows startup founders to connect with other founders and share stories about how to overcome technical and commercial problems they may be facing.

Building anything new is hard, never mind alone and in a vacuum, thus sharing experiences with others should not be under-appreciated. Additionally, a growing ecosystem unlocked pools of capital be they private or public that are already existing in the local community and put them to work on improving and developing the community further.

Using London as an example, I’ve seen the local ecosystem evolve from its nascent stages, to where it is today, rivaling New York (according to Mayor Michael Bloomberg) at the global scale (this stat was from when I originally wrote this, but still feels true today).

This growth has been due to many factors, and I don’t want to seem to oversimplify what is arguable a very complex set of interplaying variables, but I do want to highlight some of the ones that stand out the most for me as drivers of a maturing ecosystem.

Local concentration of founders and other ecosystem players

In Steve Johnson’s book ”Where Good Ideas Come From,” he talks about the power of a network and how proximity of nodes aids the network’s speed of development.

London has exploded since 2014 when I wrote this article originally where I mentioned the emergence of TechHub and later on Campus and Tech City to bring together many would-be founders and growing companies. Now, players like WeWork make co-working spaces a freely available option, and new spaces like RocketSpace, Runway East, and Second Home create alternative communities to boot.

In addition to co-working spaces, if you visit local buzzing digs such as Ozone Coffee, it is quite common to see investors and well-known founders intermingling. It is through this intermingling, across cafes, pubs, bars, and restaurants, that creates the serendipity that is required to have more ideas and decisions ”just happen.”

The local culture’s support tone towards founders and local entrepreneurial heroes

Whilst it’s never easy to start a company, the process can easily be made twice as hard if you don’t have the support of your friends, family, and community. If your family thinks you are insane for not taking that corporate job and your friends think so as well, there is social friction in the ecosystem which prevents the unlocking of innovation.

Tolerance for failure is another aspect that is important for a culture of entrepreneurial innovation to occur. Failure both in terms of the personal failure, but also the legal failure. In a culture where failure brands and stays with you for life financially and socially, risk taking will naturally be discouraged.

While these aspects of a community are hard to change quickly, this is something that local governments and schools can help change through targeted campaigns (as can be seen, for example, in other forms of government intervention programs and their success rates in changing popular perceptions such national health issues).

Groups in the UK such as the ICE group also do an amazing job of bringing together founds to learn from each other, share war stories, and help overcome some of the personal challenges founders go through in their journey.

Quality of local education and engineering training

In London, we have some amazing universities, and thus, every year, a new crop of recently graduated engineers and other majors interested in starting a business enter the workforce.

For the most part, most large cities has distinguished academic bodies, so rarely is it about capability, but sometimes about offering students a place to experiment new ideas and providing them with applied internships. Universities are increasingly developing internal incubators to allow students to exercise a more applied version of their education, which either leads to new developments, or more experienced founders. In the UK (and increasingly abroad), organisations like Entrepreneur First do an amazing job of helping graduates with meeting other talented individuals, creating amazing ideas and forming companies.

Additionally, programs that help teach entrepreneurship to students, such the NEF, or to the public at large, such as Startup Weekend can greatly lead to an increase in the quality of the workforce and entrepreneurial mindset of a community. Programs such as CodeFirstGirls and Spear can also be huge enablers for many members of the community who wish to enter the tech ecosystem.

Availability of HR talent and immigration reform

Aside from students, other individuals with experience are needed in a growing ecosystem. One quick way of bridging a shortage in staff in an area is to create immigration policies that allow for talented and capable individuals to enter the county and its labor force without major hurdles.

This is an area that many countries struggle with, particularly when the local population starts taking a protectionist slant towards employment opportunities. Nothing helps accelerate an ecosystem’s growth as the importing of highly skilled migrant talent.

The UK has, in many ways, led innovation in this area, originally with the creation of the Highly Skilled Migrant Programme (no longer available unfortunately) and the Startup Visa for founders in startups that have received £50K in investment. Innovations likes these have made some great strides in solving this problem for the UK, and I’m surprised how few other countries have attempted to solve this (Naturally Brexit will bring some challenges with this, but hopefully they will be solved).

Access to successful mentors or serial entrepreneurs

It goes without saying that there are plenty of smart and accomplished in Europe. Companies such as Soundcloud Skype, Transferwise and more were born out Europe and there are plenty of new companies that are creating technologies in hardware, fin-tech, and other areas.

The challenge for any emerging ecosystem is identifying these individuals and finding an efficient way for these potential mentors to meet promising new companies and founders.

A strong and growing media presence

As the old adage goes, “If a tree falls in a forest and no one’s around to hear it, does it make a sound?” Likewise, a successful startup story without an amplifier doesn’t help inspire others to do the same.

Of course, the media isn’t only about highlighting success stories, but also helps keep the ecosystem honest by bringing to light causes, political initiatives, key players, and even the occasional startup post-mortem to help founders navigate the emerging local tech industry.

Since 2014, there has been an explosion of media covering tech in Europe, ranging from publications such Techcrunch and Tech.eu to video channels and podcasts (have you checked out our podcast here? — http://podcast.seedcamp.com/)

Access to infrastructure

Building a tech startup is near to impossible if you don’t have access to a reliable and fast internet connection and access to key services such as hosting companies, social networks, and search engines (some countries block these services for various reasons). A lot of the prior is no longer the case in the UK, but continues to be a problem in other geographies… and sometimes it isn’t access infrastructure, but rather things like access to data, hosting/processing infrastructure, and search engines, and key internet platforms.

This does mean some countries really struggle, but these problems tend to be ones that local governments are almost always keen on resolving quickly — not just for the tech community, but also for other communities. If censoring is an issue in your local ecosystem, that can still make things more challenging.

Access to experienced capital

Capital comes in many forms, but experienced capital can really make a difference to new companies. Experienced capital is not just about having made money before, but rather understanding what early-stage startups are like and that they don’t fit the return profile, regularity, forecast-ability, or structure of real estate or private equity investments.

Experienced capital also knows how to coach and help founders along their journey rather than just auditing founders the way a public company analyst may.

Investors that understand how the global fundraising process works and know how to scale a company are hard to come by, so for sure any local ecosystem that has a few of these are very lucky, and the ecosystem as a whole can grow greatly by increasing the knowledge share between these individuals and the rest of the investment community.

Tax relief for investors investing in risky companies

Investing in startup companies can be lucrative if you do well and manage to back the minority of companies that do well. However, you will likely lose on most investments you make in the asset class because of its inherent risk.

This has always been the fundamentally difficult thing for new investors to digest when choosing to invest in startups versus, say, a well-structured financial product from a brokerage firm.

However, tax incentive schemes for investors led by the government, such as the SEIS program in the UK which allows investors to offset income tax and capital gains tax on positive returns on an investment, can greatly increase the attractiveness of high risk investments to investors.

Ecosystems who have government support to help investors invest more, generally manage to unlock stored pools of capital that can be repurposed to help stimulate the economy.

Tax relief for successful founders

In the same spirit as the above, ecosystems that offer founders some sort of tax relief on gains when exiting a company can effectively reduce the tax impact on them. This allows founders to have more available capital to invest in new startups. In the UK, this program is called Entrepreneur’s Relief.

Although not every exit will leave founders with a disposable net worth to invest in new startups, by creating the structure that encourages this, it merely becomes a numbers game of how many founders who are successful contribute back into the economy.

Couple with investor tax incentive schemas, you effectively create a virtuous circle of wealth creation that can be repurposed for further wealth creation.

Sure, not every founder will do this, but you just need a few to take this up, for it to be greatly effective.

Access to experienced legal counsel

Experienced lawyers can save a company a lot of time and money. I’ve seen deals go sour because someone’s counsel was not well-versed in standard terms or venture dynamics.

Lawyers are there to help you make things easier and protect you from things going wrong in the future, and not the other way around, but not all ecosystems have legal counsel that is well versed in venture law.

Initiatives such as the seedsummit termsheets, the series seed termsheets, and the BVCA documents — all available online — are good starting points for startups in emerging ecosystems to learn about what is normal and what is not. Then, if in the process of evaluating counsel for your company there is a mismatch between what you’ve seen and what they are familiar with, that is potentially a red flag.

Simplified local legal systems

Part of the legal challenge is not only just finding the right kind of lawyers to hire, but also in having the ecosystem have laws that help support Entrepreneurs. For example, laws that make it difficult to hire and fire employees make it hard for a startup to control cash burn as early founders will inevitably have to expand and contract as their companies go through natural peaks and troughs.

Simplification of the legal bureaucratic burden on the founder can make a huge difference: little things like allowing e-signatures can greatly speed up how quickly deals are completed vs having to have a notary sign or other more complicated structures which can slow things down.

And lastly, and considering how many successful startups come from after a founder has had at least one failure, a government’s treatment of company bankruptcy as either a black flag for the founder for ever more or as a state that does not tarnish one’s reputation from being able to try again.

To wrap it up…

In conclusion, whilst there are many variables to consider in how to help develop a local ecosystem, the above list are some that I see as almost very crucial to kick it off.

For example, note that I didn’t include things like interest rates or a thriving local M&A market… if an M&A market is present, for example, its great, but frankly, most foreign M&A markets pale in comparison with the global M&A market led by the top international corporations.

As such, a better place to start to try and influence change is to address the variables that are easier to adapt in the short term. In the longer term, as the ecosystem blossoms, the local corporates will take notice and will want to get involved.

 

If you like this post, please feel free to share with your local government officials to initiate a dialogue about how to spur growth of your local community’s ecosystem.

We’re delighted to welcome David Mytton, founder & CEO of Server Density – a company we first backed in 2009 – as the newest EiR in the Seedcamp nation. With first-hand experience building product, scaling the backend, hiring an engineering team and selling to developers, David joins to support our portfolio companies on tech and engineering related problems.

In this post, David sheds light on a major stumbling block that many startups come up against: how to source and hire quality engineers. Over to you David!

How to find and hire good engineers seems to be a common problem amongst startups of all sizes. Whether you’re looking for your first non-founder hire, an executive level CTO or are building out a large team, sourcing and hiring engineers is difficult.

In this post I’ll start at the beginning with how to go about sourcing candidates – getting applications into the top of the funnel in the first place. A followup post will go into how to run the actual hiring process itself.

Groundwork – what is it like to work here?

Your first task is to put in place the foundations needed to get people to apply. You don’t need to do any (or all) of these things but they are worth the one-time investment which will pay off with a larger candidate pool in the future.

The key question you have to answer is: why would I want to work for you?

You need to provide evidence to help potential applications answer this question and then the followup: why would I want to work for you instead of Company X.

You essentially need to show off!

So how do you do that? This can be through your website and/or the job ad itself, but you should be thinking about the following:

A good way to find out what to include is to ask your current team and/or think about what questions you had when you joined your first company.

Most businesses are quite bad at showing off their policies, even when they are positive and a great selling point. You can stand out by being transparent and having the candidate already partially sold on working for you before they even speak to you.

This is a good opportunity to consider whether your policies are appropriate for different types of people. Fresh graduates renting with friends have very different requirements from an industry veteran living with a family.

Showing you have thought about key things like a code of conduct and maternity/paternity leave also has an important effect on encouraging more diverse applications. With the diversity challenges in the IT industry, it is beneficial to show candidates that you have thought about this in depth and already applied policies within the company. Having to adopt policies dynamically if problems arise is not a good way to build a trusting, friendly work environment.

The job ad

The ad itself is probably the first time a potential candidate has encountered your organisation, so it has to sell both the job itself and the company. Many of the things above can be included in the ad so it works as a standalone article e.g. if it is read on a job board outside your own website, or sent via email.

Things you might want to consider including in the ad:

Where to source candidates

Unless you have a big reputation, you’re unlikely to get many direct applications with the ad solely on your own website. Even the biggest companies use various methods to bring candidates in. There isn’t just a single location that will work so you need to put time and effort into all of these.

Job boards

Job boards are a relatively quick and passive place to get your job ad out. They’re about volume so aren’t necessarily going to get you targeted candidates, but will help to increase the reach of your ad.

There are specialist job boards for different types of roles and people. For example, PowerToFly is a recruitment platform for women whereas RemoteOK is specifically for remote jobs. I recommend building a list of the main job boards relevant to your role and then posting on all of them.

Other ones to check are AngelList, weworkremotely.com, jobspresso.co, workingnomads.co and WorkInStartups.

Candidate search platforms

Direct candidate search is time consuming but is a good way for you to filter through profiles on specific search terms and then directly get in touch with people who fit the criteria.

LinkedIn and StackOverflow Careers are two popular examples, with StackOverflow being very specifically for engineering roles.

LinkedIn also has a job board product which is worth using because the ads show on your business profile and it has a huge audience, but you will be able to be more targeted if you spend the time to search profiles. The problem with LinkedIn is it is very general and I’ve found engineers are less likely to maintain active accounts and/or pay attention to messages which are often spam.

Other sites to consider using include Snap.hr, Hired and AmazingHiring.

Community involvement

Much more long term but often with good quality results, getting involved with the relevant engineering community groups will help you build a profile and meet people with similar interests. This can be specific technology meetups e.g. London Python or focused on techie-types in a certain geographic area e.g. Oxford Geeks.

Speaking at meetups and conferences is a good way to build your reputation. Aim to educate and/or tell an interesting story rather than going with the goal of selling/hiring, but remembering to mention what it is you’re looking for at the end of your talk! It is usually easier to get a speaker slot at a meetup because the organisers are usually looking for people to give talks. These can then lead into conference slots in the future.

In London, the SiliconMilkRoundabout event which is a larger scale jobs fair. They have minimum requirements for applicants so there is a quality bar to the people you meet as a company.

Education links

Although limited to graduates or academics, building links with universities and other educational establishments can help you with a regular pipeline of (inexperienced) talent. This is essential for building a company in the long term but does have training overheads because they are all going to be relatively inexperienced. Timings are also linked to academic terms so this isn’t as useful for immediate hiring needs.

Building an internship and educational recruitment program is quite involved but there is a good book on this topic: Recruit or Die.

Recruiters

I have left recruiters to last because I think they’re the least effective method of finding people.

I have written about this in more detail elsewhere but the problem is that in all cases, the incentives are misaligned. You need a recruiter who 1) is looking for good candidates that fit your criteria; 2) who will find you someone who is good to work with; and 3) someone who will will stay with you for a long time

The only way to find a recruiter who can hit all three of these is by hiring someone full time in-house. Using a success fee or retainer through a recruitment agency means the financial incentives simply don’t match. Either the incentive optimises for finding someone quickly or to create a long process which maximises the retainer income.

Hiring a full-time recruiter who you know gets your company values and will actually work in the same office and probably sit next to the person they hire is the best way to align incentives..

However, in-house recruiters have all the overhead as a full time employee so aren’t necessarily appropriate for small numbers of hires. They only really make sense for growing big teams.

A possible compromise is an exclusive, contract recruiter who is working for you for a defined length of time e.g. 6-9 months. That person can get into the company culture and take the time to find the right candidates, but then leave once they have built the team.

The advantage of using recruiters is they supposedly have good networks of people, although that is really only true for the top end executive search firms, if you’re looking for contract roles or for less skilled general administrative positions (not engineering).

The best engineers can pick and choose a small number of places they want to work at, so they don’t use recruiters. This means for hiring engineers, it’s really tricky to find a recruiter that will actually deliver.

The best way forward is either having someone full time on your team to focus on this and/or focusing on the other sourcing options above to seek out the candidates yourself. Indeed, building your early team is probably the most important thing you can be working on. Without a good team, you can’t build and deliver a quality product to your customers.