If you’re a startup founder, project manager or development team lead then interviewing and hiring people is your responsibility. Getting wrong people on board can cost you time and money or even demoralize existing team members, so it’s important to make sure that new talent fits well. On the other hand, hiring the right person can boost your team’s productivity and make the work much more enjoyable for the rest of the team. Here are a few tips to find the right candidates in the overcrowded space and some pitfalls you need to avoid in the process.
- Know what you want. Having a clear vision of your product is essential for product development in general. Knowing what you are trying to build during the hiring process and describing it in the job posting and during the interview will help you attract the right candidates and persuade them to join your team. There a ton of offers to build “an amazing iPhone app,” give your description some context about the industry and functionality, such as “iPhone app in the fashion industry that allows users to collect and upload photos and share them with their network.” If there’s a mobile developer experienced in image uploads and sharing there’s a high chance she will get in touch with you than with a generic ad. Don’t worry about someone stealing your idea — execution is all that matters.
- Acknowledge that hiring takes time. You will start receiving CVs of interested developers once you start posing your job offer on various platforms. It’s exciting and fun until it becomes stressful. You might get just a few responses, or you might get lots of them during the first day. You need to be patient and wait for the right candidate no matter what. If you are in a rush and hire too early, you might miss an opportunity behind the corner. Start the conversation with candidates that seem right to you and leave some room for interviewing more people as they submit their CVs.
- Conduct two interviews — for technical skills and communication skills. I usually recommend splitting the interview process into at least two parts, conducting the technical interview first. If you don’t have technical knowledge, you can hire a consultant to perform them or ask senior developers from your team to help. The technical interview allows you to weed out candidates that don’t know the subject well enough. It’s important to focus on general knowledge and problem-solving skills versus programming tests that check deep understanding of the programming language. The second interview is good to check communication and social skills, to make sure the person fits your company culture and will fit the team well.
- Have a trial period and use real-life problems as a test. It's something that often gets overlooked. You need to agree on a trial period when the company and the developer make sure that they want to continue working together. A two-week initial contract will help you see what kind of person you’ve hired on a basic level, e.g., how they follow the rules, how they communicate, socialize and solve problems. Don’t expect a lot of work to be done during that time though. I recommend extending the contract for next 2-3 months to see if the candidate is right for you because that’s the time needed for a new hire to adapt to the new environment and get up to speed.
- Look for those who want to work in a small company. You need to state your team size in a job description to weed out candidates that aim to build a career in a big company. Show that you have challenges that developers need to solve, but their work will have a real and lasting impact. Developers want to do meaningful work they can show off and make decisions on their own. They don’t want to feel as replaceable cogs in a large and impersonal machine of a corporation. Use that to your advantage.
- Avoid rockstars. Rockstars are extremely talented developers that are way more productive than your average team member. The problem is that you can’t build software by one person, the development process requires teamwork and collaboration. Rockstar developers usually are lone wolves who are almost impossible to manage once they get into the flow solving next problem they find interesting. You need redundancy and flexibility in the team, so instead of hiring one rockstar developer, I’d recommend hiring two average professionals.
- Favor learning over experience. When looking through CV, we always pay attention to previous experience. Sometimes it’s important, but experience shows only things candidate have done in the past. Before the interview, ask them what things they want to learn and do to see the direction they are heading. If a candidate has a list of technologies she wants to learn and work with and even learning some of them, it’s a great sign of an open-minded person who will keep learning new things all the time. Also, look for general experience in software development versus expertise with a specific technology. The world is changing quickly, and only constant learning can help us keep up.
- Hire Controversial candidates. It’s better to hire someone that you’re not sure about and fire them later because they are not a good fit, than miss an opportunity. In the ideal world, you would always make sure you don’t hire people that don’t fit well and instead hire those who are controversial but are the perfect match for your company in the end. In reality, you don’t know what kind of person the candidate is until you start working with them. Making a judgment too early based on previous experience is risky because after you turn someone down, they are unlikely to ever work with you again. Give people chances. Let those who want to join you do so and tell them if they don’t fit early on.
Hiring developers is not an easy problem and take time and effort. Throwing money at it rarely helps because you can end up with a team that is not productive and communicates poorly. Take your time and build the dream team that will bring your product to life and makes your users happy.