Hiring the right software developers is the key task every IT / project recruiter needs to focus on. Whatever size the project is, you as a hiring manager must realize that lack of tech talent can lead to project failure. Due to high competition from on side and the growing demand for skilled programmers and software engineers from another one, you have to act quickly seeking and interviewing developer candidates for your organization. Here below is a five-step checklist about how to hire a software developer for an IT project.
Watch this video guide from Intersog to learn more about tech rectuiting and hiring:
Step 1: Collecting Job Requirements
1.1. Start by meeting with the project manager, lead engineer, or CTO to determine the hard and soft skills that the ideal candidate must possess. Ask these important questions:
- Why is the software engineer role being created?
- What is the product/project that this developer will be working on?
- What are the technology stacks that are must-haves?
- What are the nice-to-haves?
- Create a list of must-have programming languages and technologies and determine years of experience needed with that technology.
- Type of experience – Does the candidate need to have real-life experience in building a software product from scratch (example: creating native or hybrid mobile apps) or are you looking for someone who can build on an established product (example: adding features to a web development solution that is already on the market). Is there a particular need to have experience in a specific industry?
- What about experience working in a small vs. medium vs. large software development team.
1.2. Set up meetings with other members of the project development team. This is a chance to get the perspective of what current developers feel are the key requirements for their job. Ask these questions during this pre interview process:
- What are the soft skills (ex.: problem solving, communication skills) needed to succeed in this role?
- What are the technical / programming skills (code writing level, computer science) that are must-have for this role?
- What are some of the challenges that the new developer candidate will have to overcome?
- What type of characteristics would they like in their new team member?
1.3. Gather your findings and see if there are any discrepancies between the answers given by the lead engineer and the development team. Talk to the team together addressing these discrepancies and coming up with a solution on how to hire a software developer that works for everyone.
Step 2: Creating Developer Job Description
2.1. This is one of the most important parts of the hiring process. The job description should read like a marketing copy, enticing great developers to work for your company. Below are some ideas for tech recruiters and hiring managers:
- Work with a marketing team member to create the ideal personality of your tech candidate.
- Use the insight from the meeting to create the ‘hook’ for the job description. It should be enticing, clear and spell out why top level developers should apply for this position.
- What is important to them in a workplace? Ex: compensation, work-life balance, type of work etc.
- What type of products are they looking to work with?
- What type of work environment do they thrive in: remote vs. in-house, casual vs. corporate, structures vs. autonomy.
- What type of coworkers and managers do they want to work with?
2.2. Create the list of requirements after the hook. The requirement should be composed of the technical skills + soft skills that were gathered from the software development team. Avoid padding on requirements that are not a must, as it may create barriers to good developer hiring and eliminate qualified candidates.
2.3. Lastly, list the entire compensation package. The competition for good developers is very high – and most of these tech talents will not bother applying without having an idea of what the compensation for the role is.
2.4. Do a copy review with all team members involved in the hiring process. It is a good idea to include some fresh eyes as well. Things to check of when hiring a software developer:
- Is the job description clear and concise?
- Is the job description a true representation of the role?
- Are all must-have requirements stated?
- Is there anything that can be taken out or implied (ex: having good team collaboration and communication skills, which is a must have in almost any developer job).
Step 3: Planning for Software Developer Job Outreach
As a developer hiring manager, you have worked hard to create a killer job description that will resonate with the type of software engineer your company is looking for. But first you have to get them to read it. Here are some real-life strategies you should include in your outreach strategy.
3.1. Post on all the traditional job boards like Glassdoor, Indeed, Dice, Google Careers – this is the bare minimum of your developer hiring initiative.
3.2. Use social media platforms to advertise the role organically and through paid ads
- Work with the marketing team to develop a funnel of targeting good engineers and programmers on platforms such as Twitter, Linkedin and Facebook.
- Share the job posting on the company’s Linkedin page and have employees share it through their personal Linkedin account.
3.3. Attend local meet-ups and tech events to network with experienced software developers and engineers:
- Develop a strategy for attending these meetups. Ex: sponsor beer and pizza in exchange for a demo of your product.
- Network with as many programmers as possible in a casual manner. Approach those who you think would be a good fit with the job opening
3.4. Host a hack-a-thon with a prize.
- Once again, develop a tech hiring strategy where the hackathon will attract developers with the specific technical skill-set you are looking for.
3.5. Ask current employees for referrals.
- If you do not have a referral program set-up yet, it might be a good time to do so now. Afterall, talented developers are more than likely to know other talented developers.
Step 4: Interviewing Developers for Hire
You have received a bunch of “hot” developer applications because of your:
- awesome job description and
- awesome outreach strategy.
Now it’s time to separate the great from the good and find your next talented software developer.
4.1. Before contacting any candidates, do a quick background check on LinkedIn to learn a bit about the short-listed tech candidates.
4.2. Conduct phone interviews with the HR manager:
- Talk about the company, its culture and the type of people the applicant is looking for.
- Find out what the developer is looking for at the current point of their software engineer career.
- Try to detect any glaring red flags, like ego or lack of patience in code writing.
4.3. Conduct an interview with the lead engineer. This part can be done in 2 parts.
- Organize a quick “write code” challenge that asks the developer to explain his or her thought process. This challenge should not take more than 1-2 hours, and the developer can be compensated for their time. Some programmers can display push back to this step, which is a sign of not being the right fit.
- Those who pass the challenge (as decided by the lead engineer) should be invited back for a one-on-one hiring interview. Things to cover in this interview:
- Further whiteboard challenges
- Technical questions about company’s technology stack
- Questions about past projects, software developer tools, programming languages and frameworks
4.4. The last stage would be to invite top 2 to 3 candidates to meet the rest of the development team members. These candidates should already be considered technically capable by the lead engineer.
This is more of a test for culture fit. Sometimes, due to lack of talent in the market, companies do not have the luxury of carrying out this step. In that case, the HR manager and lead engineer must make a judgement call regarding how to hire software developers that best fit the role.
Step 5: Making The Offer
Once you have found the candidate that has the right skill set and is a fit with your office’s culture, offer them the job as soon as possible.
Taking more than 2 days to make an offer can cause you to not only lose an ideal tech candidate, but also start over the developer hiring process which can accumulate to a big overhead cost.