How to Hire a Software Engineer
I want to start this post by saying, I am not the CTO of a technical startup. I do not hire software engineers for my team. I am not technical in the sense that I can read code. However, I have spent the last 7 years helping startups and other growing organizations identify and hire Software Engineers for their teams. I have seen hiring processes that were a total mess, and ones that were really enjoyable for both the client and candidate. Below are just a few approaches clients have used that have proven to be efficient when hiring software developers!
1. It’s not all about the resume.
A well written, descriptive resume, does not always tell you everything you need to know about a candidate. Accolades on paper are great. However, it doesn’t speak to someone's coding ability or ability to interact with others. Be a little more flexible. Are they coming out of a company known for hiring strong technical talent but maybe don’t have the best-looking resume? Many times, developers aren’t actively seeking new employment and they are quickly putting their resume together to get in front of someone. Give them a chance. Hop on a call, grab a coffee. Get to the know the person!
2. Test out their coding chops in a productive way
There is a lot of debate over whether or not technical assessments up front help or hurt the hiring process. I’ve seen it done several ways. Some companies require the candidate do an online assessment before even talking to anyone. Others have them do a whiteboarding session with no collaboration. There are also some who still stick to the textbook questions and fire them off live, putting the candidate on the spot. What I have found to be the most enjoyable and productive way is the collaborative, real-life approach. Try giving them a problem to solve that echoes a real-life scenario they might face in the role. Or have them present on a project they worked on that they really enjoyed. You want to learn more than just what they know, but also how they think!
3. Don’t pass on someone based on years of experience
I always think that it is less about the number of years you’ve held a title and more about what you’ve actually done in that time that separates the good from the great. Be willing to look at someone who might have a few less years of experience but are hungry and smart. These will be your fighters. The ones that want to be better, that are open to feedback and eager to learn.
4. Don’t assume you are their only choice
The market is HOT right now. With new startups popping up every day and the demand for strong technical talent at its peak, you have to be efficient with your hiring process. It’s rare that a good Software Developer is exclusively considering one opportunity. Whether they are actively looking or passive, they either have a good job currently or are talking with other companies. Not to be cliché, but you have to strike while the iron’s hot. Dragging your feet is one of the top reasons companies lose out on good talent.
5. Show off what you have to offer
I think many times we forget to sell ourselves. While technically you are the one conducting the interview, you are also being interviewed by the candidate. It is equally important to show someone what you have to offer as it is to ensure they meet your qualifications. Make sure you have the right people in the interview process. I have had candidates call me and tell me that one of the members of the team bashed the manager or talked about how much overtime they put in. Never mentioning the flexibility that is offered or any of the other selling points. This is a recipe for disaster! Show off what you have. Have them talk with people who believe in your mission and bring positive energy to the culture. If you do this, they will be excited to walk through your doors the first day, already feeling like a member of the team.