This is part two of my "Hiring developer" series. Please check out part One for more insights.
I've been in a management position for the better part of the two decades I have worked with development. From a simple team manager, with little or no influence as to whom and when I would hire somebody, up to actually hiring the people responsible for hiring people.
I'd like to say that I have a 100% record of successful hirings, but that would be a lie. Over the past two decades, both as an employee and as an employer, I've learned a lot about hiring developers, and I'd like to share with you some of my processes and ideas.
In this series of posts, I'll show you how I tackled all these questions and more, over the two decades I worked in advertising agencies.
Disclaimer: This is not a definitive guide on how to hire a developer and I am not saying my way is the only right way to do it. There are thousands of other methods, scenarios, conditions, and so forth, where my processes will not apply.
This is a very personal thing I guess. Some people will use hiring companies, others will scour the internet forums searching for people, others will filter LinkedIn and other developer sites, open job posting in development-related sites, and, the list goes on and on.
I personally usually found my developers on social media. I might not be very active on Twitter, Facebook, LinkedIn and the liking in terms of participation and contribution, but I do keep up to date. I read posts, I am a member of a number of development communities, and whenever I sense I might need new developers, I go to meetups to get to know people.
I've had a few experiences with HR departments. As a manager, with a lot of things on my plate, HR was invaluable in terms of organizing interviews, working papers, bureaucracy, and other time-consuming stuff. That said... the developer is a highly specialized job and as a manager, you are supposed to understand that. You cannot get somebody in the HR department who has little technical knowledge to filter out potential candidates or be responsible for describing the job to post at forums or job sites.
If you are lucky to have an HR department, remember you are responsible for the job description, you are responsible for filtering our applications, you will be conducting interviews. Don't delegate this to the HR department.
There are hundreds of them. Your country probably has region-specific ones, even Google has started scraping for job offers and returns them as a search result. These sites fall in, basically two different categories:
- Pay to post Jobs - These are sites where you, as a company, pay to post a job (it can be a monthly fee or by job posting). These tend to have a higher number of responses since developers don't have to spend money to search the jobs.
- Potential employees paid sites - These sites are open for you to post job offers, it's the people looking for jobs that pay a fee to be eligible to look at the jobs. These sites tend to have lower response rates.
In my experience, both have reasonable results and there is no real difference in terms of the quality of the people sending in applications.
Finding developers on Social Media can be a daunting task. Each social media has its own particular way of working and I'll try to skim over the basics of what I do on each. Even with these pointers, this is something that works best over a longer period of time. You find developers that spike your interest, follow what they have to say, and when you think the time is near, talk to them. It's usually a bit frustrating since a large part of the developers you seek will wither not be interested, but, they might point you to other equally qualified people.
Twitter has a harder search curve. I usually search for hashtags, look at peoples comments and so forth. The same rules apply. Avoid people who troll others, avoid people who ask questions that seem too far from the profiles you are searching.
Some argue it's not a Social Media, some may argue it's a job posting site. I feel that depending on the way you use it, it can be both. Looking from a social site perspective, you can find people usually by searching developers you know. Find 2nd and 3rd-degree developers, search their history, see if they are active on other networks and so on. Some have recommendations, and those might be helpful, but it is important to check who has left them.
I seldom use Github as a form of judging a developer. I myself have almost my entire work history on wither private GitLabs or private BitBucket repositories. I have a handful of things on GitHub I haven't updated in ages.
If a developer I am looking at has an active Github account, I will skim through the code to see if I can spot anything out of the box. That being said, I will rarely use Github as a deciding factor for calling a developer for an interview, I would rather use anything I find there worthwhile mentioning as part of the interview process.
At least here in Brazil, there are tech-oriented consulting firms, that will "lease" you developers for a period of time, or allow you to hire them at a fee. This does eliminate a part of the work of searching for developers, but, does come at a premium. You'll still be faced with hours of Resumee reading and interviews. I've had experiences that were both great and horrible with companies like these; I once interviewed over fifty candidates for a senior java backend position, spent several days in interviews where most of the developers knew less about java than I did.
I eventually found a developer through an acquaintance on LinkedIn. I also found a couple of gems in rough through companies like this. People who showed huge potential and eventually got hired by the company.
Having "Careers at [office name]" or "Come work for us" on your site and social networks can be a way of attracting in developers. Have them send in resumeés and fill out updated contact details (you'd be amazed at how many developers don't update their CVs after they've changed phones and emails). If you've got a good inflow, you can sort out who to keep an eye on.
All in all, the process for searching candidates is time-consuming. To find the correct people for the job requires patience, hard work, and some luck. If all goes well, you'll have a list of candidates that are worthwhile calling for interviews and that's the topic of my next post, how I like to conduct interviews.