It’s intimidating. You are a solopreneur or a hiring manager for a small non-tech related company, and you have to hire a software developer. You know nothing about the profession, nothing about coding, nothing about the “going rates” or salary ranges. Your understanding of software is, “Show me what it can do, how it runs, and then I’ll use it.”
So, where do you begin? With this guide, perhaps. Here are the steps you might consider.
Identify Exactly What You Want the Developer to Do
Either you have an idea for a piece of software you want to take to market, or your company needs specific software developed for in-house purposes. Your initial job is to decide exactly what you want that software to do.
Is this a “one-shot” deal for a single piece of software, or is this a longer-term deal where a developer will be working for you on a regular or contract basis?
Do Some Basic Research
It’s not difficult to find any number of resource articles on software development, even in the niche related to what you want developed. You can get an idea of the programming languages that are most recommended and popular with developers. You don’t have to understand them – you just need to understand the programming languages you want your hire to know.
You research will also give you solid information on price/salary ranges – certainly a good thing to know.
Finding the Candidates
You have lots of options, so pick the ones that will work for you, perhaps those that have worked in the past. Remember, the process of recruitment and hiring is no different for software developer. It is the skills and expertise that will be unique.
Get help from a techie you know to construct a job posting/description that will include the skills you are looking for – hard and soft. Post the opening on tech job boards, on social media sites like LinkedIn and wherever else you usually do.
Use the services of a tech recruitment firm – this may be pricier, but the initial screening will be done for you
Use contacts that you know and trust. If you have a network of peers, they may be able to point you in the direction of sources for candidates or, if appropriate for your need, freelancers who are really good at what they do.
Software developers currently working for other businesses may not be actively looking, but if the right opportunity comes up, may want to make a change. This is why you want to post your opening on sources like LinkedIn and tech-related social media platforms.
Narrowing the List
This will be tough, but you can look for some very specific things in resumes or perhaps in initial phone or video interviews. Here’s a short checklist of sorts for that initial contact:
Have they contributed to open-source software?
What languages do they feel most comfortable with?
What is their past experience?
Do they have a portfolio and how can you access it?
Do they exhibit confidence in their own strengths and skills?
Have they worked solo and/or as members of a team?
So, now you are ready to interview the few candidates that have made your short list. What do you ask? Based upon surveys of both programmers and even Google hiring managers, here are questions you should and should not ask. You will find that many of them are questions you would ask any candidate.
This you will ask any candidate. Put a specific spin on this. Ask the candidate about his biggest disaster and how he worked through it. If the candidate is honest, she will be able to identify one and then describe how it was “fixed.” Any good programmer will have had disasters. You are looking for honesty and the work ethic to do what it takes to resolve issues.
Ask the candidate to describe his/her favorite project. As a prelude to this question, you want to inform him/her that you are not a techie. The goal here is to see if the candidate can explain the project so that you have a good understanding of what s/he did – in non-techie terms, that is.
Part of a developer’s skill must be in communication and must be the ability to communicate to those outside of the niche what a project is all about and how s/he will go about approaching a project. Even if you are hiring someone remotely, you will want to be a part of the development, and you will want continual conversation with the developer. Being able to communicate that progress to you in terms you can understand is vital.
Solo or Team Player
Depending on your needs, you need to know your candidates’ experience and their comfort level with how they will function for you. Hiring a freelance means that the developer is comfortable working alone but also communicating with members of your organization who will be impacted by that work. Hiring a employee means comfort with collaboration.
Is There Passion?
One of the ways to gauge this is to ask what development communities the candidate is active in. GitHub, for example. Developers who are really passionate spend non-work time communicating and collaborating with other developers.
When the candidate talks about his/her projects, do you sense excitement? You should.
This is where you may need to have someone with expertise take a look at the projects in a developer’s portfolio. As well, just as you do when you hire anyone, you will want to check references, whether from clients or former employers.
It is not a negative for a developer to have had a lot of past employers. This is a career that is in high demand, and they like to go where the challenges (and the money) are more attractive.
Things to Avoid
A lot of recruiters and hiring managers give developer candidates “puzzles” to solve. And non-techie interviewers often pull these from the web or are given them by other developers. Chances are the candidate has already seen them or something similar. They really are not a gauge of talent.
It’s also not a good idea to ask a developer where he sees himself in five years. If they are honest, they won’t actually know, so it is not a fruitful question. Good developers will go where the challenges fit their needs, so that is really the only answer that will make sense.
You really can make a good hire even if you don’t have expertise in technology. Follow this guide, get help when you know you need it, and make a good hire.