Are you looking to start your company?
There’s one common problem many founders face when starting a company. This is in tech team building. It's because hiring a software engineer is not the same as hiring a sales executive or a customer success manager. Technical hiring requires a lot more knowledge and experience.
We are living in a time where every company is a tech company, irrespective of the size, product or the services offered by the company. Hence it’s quite important for any company to hire good developers.
But how do you hire good developers?
Don’t worry, in this article, we'll explain the steps to hiring great developers for your company even without having little or no knowledge about hiring developers.
After reading this article you’ll be able to -
- Source developers
- Screen developers
- Interview developers
Let’s start -
1. Understanding the Kind of Developers you should hire and Creating a Job Description-
You might feel deciding which developer to hire to be quite simple but a lot of times companies fail in understanding their own requirements. This ultimately leads to a bad hire.
Hence, before finalising on anything, try to ask yourself some basic questions -
What type of Product am I creating? (If you are just starting out)
What challenges am I facing in product development?
What kind of developers am I looking for?
How many developers do I need to hire?
How are many such developers (with the skills I want are in my area?
These are some of the essential questions one go over before finalising on any of the job roles.
Some example of the answers to these question is given below -
What type of Product I am creating?
I am planning to create an Android mobile application.
How many developers do I need hire?
I need to hire 2 Frontend Developers (ReactJS) and a Backend Developer (PHP).
So before taking your first step, you should make sure to spend enough time in analysing exactly the positions you want to hire for and the skills you’ll need for development.
Mostly this depends upon the Technology stack being used by the company.
A Technology stack consists of software tools and programming languages used to build web or mobile applications.
An example of a Technology Stack would be -
Frontend Development- React, Ember, Backbone
Framework - Django, Flask, Tornado
Trouble deciding on a technology stack?
For more information on technology stack, read the article below -
The most important step in hiring developers is creating a practical job description. By practical I mean, creating a job description for which candidates actually exist.
Most recruiters want to hire candidates who are proficient in multiple programming languages. But you can only find a handful of such candidates. Hence it's very important to think practically when hiring.
Let’s see how you can create a practical job description -
Before even writing a Job Description, it’s important to finalise the Job Title.
Few examples of Job Titles are:
•Lead Software Engineer in Test
•Software Engineer Frontend
•Senior Software Engineer
The examples above clearly prove that mentioning just “Frontend Developer” in the Job Title is not enough to attract the right developer. You need to state the seniority of the position too. Try to prevent the usage of fancy job titles such as “Rockstar Engineer” etc. It isn't helpful.
Now, that you know how to create a perfect Job title, let’s learn more about writing a job description.
Job Description should contain the following -
Role of the candidate
The job description should be such that candidates are able to visualise the typical day at work. Mentioning vague job descriptions won't be helpful to the candidates (For example - You will be responsible for the Backend Development department).
A great Example is -
"As a Lead-Software Engineer in Test, you will own the test automation end to end for a product. Which involves self-contribution, mentoring a small team [not managing]. Mentoring involves planning tasks for the automation engineers as per the priority, code reviews, measuring and monitoring the quality metrics."
Sell your job
Why would someone leave their job and come work for you? Even if you are offering a higher salary, you'll need other reasons to persuade him/her to join your company.
Try describing the perks and benefits of the job role.
An example from Lyst is given below -
Sell your Company
The job description should include information about the company culture too. It's recommended to add testimonials of existing or past employees on the careers page.
A lot of times people think that only big companies can attract top talent, but that’s not true. Smaller companies can also attract top talent if they do it the right way.
An example from BambooHR is given below -
Don’t forget to add requirements like experience, skills etc to the job description. An example from Freshworks is shown below -
Try not include anything negative or stuff that promotes discrimination in the job description.
Make sure to create a Glassdoor page too. It will help greatly to promote your company brand. For this, you will need to sign up as an enhanced employer profile on Glassdoor.
Hope, you now have a better idea about creating a job description and also on how to decide on the open positions you should hire for.
2. Where and How to Source Developers
Now that you know whom exactly to hire and also how to create a job description, let’s see the sources you can utilise to find developers.
There are hundreds of job portals and agencies where you can find such developers. The thing is that not all of them are good and worth your hard earned money. Let’s look at the best platforms for tech hiring below:
1. LinkedIn -
LinkedIn is a great place to start looking for developers. Before looking for developers make sure to create a company page on LinkedIn.
After creating the page try to post engaging content on the page to attract potential candidates (make use of relevant hashtags to reach a greater audience).
For recruitment, you can also use the LinkedIn Recruiter. But you can hire using the free platform too. Just make use of appropriate filters to find relevant candidates.
2. AngelList -
AngelList is a U.S. website for startups, angel investors, and job-seekers looking to work at startups. The site very popular among Indian Startups too. Many startups make use of AngelList for hiring but the quality of candidates who apply here are generally not always great.
3. AirCTO -
AirCTO is India’s only Tech Hiring platform. AirCTO helps source qualified and interested developers at a fraction of the cost any agency would charge. AirCTO has helped companies like Shaadi.com, Instamojo, GrabOnRent etc to hire developers.
You can use AirCTO to source developers as well as to outsource your interviews.
Learn more - https://aircto.com/source-developers
4. StackOverflow -
StackOverflow is one of the largest, most trusted online community for developers. Because there are a lot of developers using the platform, you can connect with great developers which you won't find anywhere else otherwise.
Here’s a guide on How to find developers using StackOverflow -
Github is used by millions of developers for development. GitHub also allows filtered results according to certain criteria. The criteria include - contributions, repositories etc. Using these criteria you can filter and find the relevant developer.
To know more read this article on Social Talent - How to: Use GitHub to Find Super-Talented Developers
Quora can be also leveraged to find developers. But you would need to make an active profile first. You need to establish yourself as a thought leader first to attract candidates.
You might want to read this thread on Quora to know more -
Hackathons are a great place to network with talented developers. You can easily build a talent pipeline just by connecting with them.
There are many companies which organise hackathons especially for recruiting people.
One example of this is - GridLock Hackathon, created by Flipkart.
You can find hundreds of developer events happening in your city using sites like Meetup. The whole goal of attending these events is to connect with people and build mutually beneficial relationships which can be leveraged later.
You don’t need to use all the sources mentioned above to hire developers, one or two is more than enough to fulfil your requirements. Every source has their own advantages and disadvantages.
3. Screening the candidates
Now that you have sourced relevant candidates, the next step is to screen these candidates.
Screening candidates is essential for good hiring.
Hence it's very important to screen the applicants.
A resume is still where the candidate screening process starts for many of the companies. While speculations are that “Resumes are going to die soon” but I don’t see anything changing in the coming 5 years.
Screening is a two-step process -
1. Screening Resumes based on Minimum Qualification -
When using job portals like Angel.co you can expect a lot of unqualified applicants. Hence it’s important to remove resumes that don’t match your minimum requirements.
Try setting minimum requirement reasonably. You don’t want it to keep the bar too high.
2. Shortlisting the best candidate -
Now that you have candidates whose qualification is more than the minimum requirement, the next step is to shortlist the best ones for the interview process. There’s always some criterion in the mind which helps them to pick the best ones from the rest. This might be a unique skill or any project.
You might want to check and confirm things like -
Education - Many companies want only graduates joining their company while it might be different for other companies.
You might also want to look at any certifications if there’s any.
Work Experience - Generally this is the first thing recruiters check in the resume.
Ideal says -
“Some things to look for in a resume for work experience are accomplishments and signs of career progression such as increasing responsibility.”
You might also want to check the contributions of the developers on platforms like StackOverFlow and GitHub. Most of the times link to these profiles are linked in the resume itself.
LinkedIn’s data tells us 69% of talent acquisition leaders report their hiring volume has increased, but only 26% say the size of their recruiting teams increased.
If you are facing trouble in screening resumes who might want to definitely use a tool like Resume Scanner. Our AirCTO Resume Parser can be used to scan any number of resumes to generate formatted data which is faster and easier to consume. This will also help to make data-backed decisions.
4. Interviewing the Candidate
Now that you have shortlisted the candidates, it’s time to interview these candidates.
According to FastCompany - “Over 69% surveyed companies felt that interviews had the biggest impact on the quality of hire”. This makes the interview very crucial. Conducting an interview is an art and one can only get better at it with time.
The interview should be around the below points-
- Testing the skills
- Personality and Approach of the Candidate
- A Coding test
- Cultural fit
It's recommended to conduct the interview with someone having a better understanding of the profile like a CTO or a developer from your team. This way you’ll be able to make better decisions.
There are 5 basic steps to conducting an interview -
- Interview Preparation
- Starting the interview
- Asking the questions
- Closing the interview
- Evaluating the Candidate
Let’s break down each part -
1. Interview Preparation
This is the part where you start planning for the interview. Also, make sure to provide all the details of the interview available to the candidates a few days in advance. These are informations like -
- The location of the interview
- The time of the interview
- Interview process (like if there’s a skill test or not)
- Whom to report to / contact number
- What to wear to the interview
Make sure to mention all the necessary information (even if it's very small), so the candidates don’t face any problem reaching the place and understanding the process. Don’t forget to prepare a set of questions you’ll be asking in the interview beforehand.
2. Starting the interview
If you are looking to speak about the vision and mission of your company, it’s better to give all the candidates one common presentation, where you can address all the candidates at the same rather telling them separately each time.
You can also share a brief about the interview process in this presentation. The main goal of the presentation is to build rapport.
Also, make sure to be early to the interview and if by chance the interviewed is delayed make sure to inform the candidates accordingly.
Some examples of rapport-building questions are:
- “What accomplishments are you most proud of from the last few years?”
- “Give me a couple examples of how your background makes you a good fit for this role.”
- “In researching our company, what have you learned?”
- “What was the greatest contribution in your last job?”
3. Asking the questions
This is the most important part of the interview. The whole goal of asking interview questions is to know if the candidate is a good fit for your company or not.
Try to ask behavioural questions first. A behavioural interview is intended to allow an employer to discover how a job applicant has responded to job-related situations in the past.
Always start with simple questions.
After this, you can ask questions like -
Describe the most interesting project you worked on in a past position?
This helps to learn more about the candidate.
4. Closing the Interview
This is the part where you give candidates the chance to ask questions. Make sure to give the candidate enough time to address his/her concerns.
Also, be prepared to answer questions like - “What’s the next process after the interview?”
Here are a couple examples of closing questions:
“What are you proud of that we did not talk about?”
“When you consider all of the things we talked about, what did we not discuss that you think we should have?”
5. Evaluating the candidate
It’s important not to trust your gut feeling, but to score the candidates depending on his/her performance in different areas.
You can use an interview evaluation form to score candidates according to an objective rubric.
Try to keep the interview as small as possible. You wouldn’t want to scare the candidates away.
You can also opt for AirCTO Interviews if you want to prevent yourself from going through the hassle of so conducting so many interviews & coding tests.
Few Tips for Coding Test
There are a lot of ways you can conduct the coding tests. These tests are essential to test the coding skills of the candidates.
Either you can outsource the coding test using a platform like a DoSelect or you can conduct the test yourself.
Freshers - When testing freshers it advisable to test them on simpler programs. Some examples would be - Sorting algorithm, Search algorithm etc.
The approach of the candidate is the key here.
Experienced - For the experienced candidates try to work with him on a real-life technology problem that your company encountered rather than testing him on something completely different. This way you’ll be able to judge the candidate better.
Platforms you can use outsource your test -
Cultural Fit -
Indeed says “Cultural fit is very critical for startup”
When you have a small team, then the impact of a bad hire is magnified. A bad hire can sometimes lead to the downfall of a company while on the other hand, a good hire can strengthen a company.
Here are few tips -
Define and document your company’s mission and core values.
The whole job description should reflect the culture of the company.
Try to showcase the culture of the company through images and videos on your career page.
“Don’t sacrifice diversity as you hire for culture fit. It’s important to keep in mind that you can share the same values with people different from you,” says Corey McAveeney of Kulturenvy.
5. Making use of probation period to Evaluate Developers
While an internship is a great way to hire future employees, it’s better to make use of a probation period before hiring an employee full time.
There are many advantages of hiring an employee under probation period. These are like -
**Evaluation - **
The main benefit of probation periods at work is to evaluate the performance of employees without any significant risk.
You’ll also have the authority to terminate the employee without repercussion during the evaluation term.
Evaluating the performance of the developers
There are many metrics according to which a developer’s performance can be measured.
Let’s start with a famous quote from Eric Elliott -
“The best way to be a 10x developer is to help 5 other developers be 2x developers.”
Here are a few metrics you can measure for evaluation-
- The speed of the developer
- Developer’s Personality
- Lines of Code
- Code quality
- Technical debt
- Number of bugs
Get the complete guide from -
Hope after reading the guide, you have a better idea on how to source and interview developers.
Hiring is not at all an easy job. It requires a lot of time and research. You might not want to rush in hiring as a “bad hire” can cost your company a lot.
For more such guides visit our blog.
Want to build your Tech Team?
Grab this free Ebook on "Building your Tech Team from scratch" - http://bit.ly/ebook-tech