How to Recruit from a Developer’s Perspective
Also available in Czech: https://medium.com/@jvaclavik/jak-delat-recruitment-z-pohledu-vyvojare-171c205a341d
How do you make sure your ads are interesting enough for developers to respond to them? While it may not seem like it, recruitment is not a job that everyone can do. Since I am a developer, and I do not respond to 19 out of 20 ads from recruiters, I believe it must be very difficult for them. If only a few people respond to them, they tend to bombard more and more people with non-personalized messages, and if 95% of the people do not reply, they draw the conclusion that programmers are a very tough sell. They are right, of course, since the tech market has determined the high value of this work. If the programmer is overwhelmed with bids, you need to find smarter ways to get their attention. I’ll tell you how.
Do you speak programmer?
The best job advertisements are written by senior people who understand what the job requires. Of course, not every programmer is gifted with words. However, it may take a programmer who won’t mistake Java with JavaScript to highlight why the work is interesting or what super new technology the future team member will use. If the programmer argues that there aren’t any positions available for working with interesting technologies, something is wrong, because unless you’re a big, slow corporation, you should follow new trends and implement the newest technologies. Otherwise, forget about getting a good programmer for reasonable money. Good programmers want to improve and evolve with new trends. Working with uninteresting technologies can be detrimental for you.
Show work that makes sense
One of the best motivations is when your product can help people, and the developer team identifies with it and feels it’s something they can put their heart into.
The developer may prefer to code a startup for sharing coffee cup lids instead of an information system for improving executive efficiency.
Occasionally, I see ads where corporate dinosaurs try to speak the language of the young and look cool. Then, after a young person gets seduced by said corporation (usually through the promise of much money), they force him to wear a tie, sit in a confined box in the middle of an open space, and create tickets in SAP. After a while, the employee feels burned out. But then he has that mortgage to pay each month, so he stays with it. Try to think of a better motivation than just money or personal benefit. Show developers that you offer inspiring, rewarding work where they’ll improve the lives of others.
As an example of great motivation, I present the following excerpt from Walter Isaacson’s Steve Jobs biography:
One day Jobs came into the cubicle of Larry Kenyon, an engineer who was working on the Macintosh operating system, and complained that it was taking too long to boot up. Kenyon started to explain, but Jobs cut him off. “If it could save a person’s life, would you find a way to shave ten seconds off the boot time?” he asked. Kenyon allowed that he probably could. Jobs went to a whiteboard and showed that if there were five million people using the Mac, and it took ten seconds extra to turn it on every day, that added up to three hundred million or so hours per year that people would save, which was the equivalent of at least one hundred lifetimes saved per year. “Larry was suitably impressed, and a few weeks later he came back and it booted up twenty-eight seconds faster,” Atkinson recalled. “Steve had a way of motivating by looking at the bigger picture.”
Simple logical reasoning can be quite powerful. Which programmer wouldn’t want to save lives at work?
Often, it is not clear at first sight how big of an impact this job can have on society. It is good to try to show any benefits you can. Even though you might not be saving lives, you can help and influence big groups of people through your work.
Look for people in the right places
You can’t usually find good programmers through public employment services or web ads. Capable developers are probably already employed and too lazy to search for a new job if they are already satisfied in their current job. If their employer pampers them, you are probably out of luck. But if you can locate some underrated talent in a large corporation, you may have a future colleague on your hands.
Look for good developers in their social communities — Courses, lectures, conferences, special Facebook groups, or referrals from colleagues and friends. Generally, it’s good recruitment if you are doing technology lectures to network with the developer community (this approach has proven to be very good). It is also a good idea to give rewards for recommending new colleagues. People like to work with their friends, so they will try to convince them to work for the company.
Universities are good for recruiting — If you have a master’s degree, you can be a thesis advisor or an external supervisor or directly negotiate with the university management for cooperation. However, you should choose the students carefully and not to be afraid to reject types who don’t really like the work and are just in it for the degree. I understand that a recruiter cannot consult on a diploma thesis, but some of the programmers could. It is also interesting to teach at the university a few hours a week. You can find capable students and approach them with job offers. Most of these students will feel honored and enthusiastically agree and be happy working even at a very low wage. Maybe the student thinks that a friendly relationship with the teacher will make their exams easier. However, it is not good to exploit them like some “student companies” do because these students will realize their own value soon enough.
On LinkedIn you can also find very interesting people. However, it’s not a good idea to call them immediately and try to push them to make a decision or arrange a meeting with you. Capable people are contacted daily by more than ten recruiters, five of whom write personal messages, and three of whom try to call them directly because they think what they have to offer is irresistible and unrivalled. Calling is a bit much, because you’re disturbing people from their current activities. Also, developers are often a little bit shy and may not always be able to communicate smoothly, especially at first, in anything other than programming languages.
I often get calls people from different HR agencies just to ask if I’m looking for a job, if I’d like to hear a few irrelevant offers. I then add them in the directory under a special contact: “HR — do not pick up”.
Another thing to be careful of is personalized text. It doesn’t make sense to write a message that tries to looks personalized when it’s not. It is pretty much clear from the offer that it’s generic and not intended just for one person. Sometimes, an even bigger blunder can happen, for example, if you leave the wrong name in the greeting. One recruiter contacted my colleague with a great offer “just for him”, except she called him Peter, even though his name is actually Daniel. He answered her politely that he is not really interested and called her Matt. After that she probably didn’t bother contacting him again.
How to do it right? It’s important to scope out potential profiles and act on them outside of LinkedIn. It takes a lot of time, but the results may be worth it. One day I was approached by a recruiter who read an article about my trip to India on my blog and invited me to her favorite Indian restaurant (since I mentioned in the article a few times that I like Indian cuisine). Even though I wasn’t looking for a new job at that time, I didn’t say no, and spent three hours talking about everything possible at lunch. It was a great demonstration of how to give personal attention, and I quite enjoyed it. Another company took me to a Rammstein concert. I hadn’t listened to them for ten years, but it was a great surprise and I had a blast.
What to engage
Money isn’t everything, but it’s important. Don’t save money on good employees, because it is they who can attract other capable colleagues. I know a lot of companies that invest a lot of money in beautiful offices, spend a lot on benefits, but whose employees are paid much worse than their equally experienced colleagues. Of course it is logical: their salaries are lower because of the benefits, but it’s not exactly the right approach. Offices should be good, developers should have peace and space for work, summers in the office should be experienced without sweaty armpits, but it doesn’t make sense to focus only on benefits. Many people will admit they’d rather have more money on their account than a “free” multisport card (after all, it’s not actually free, see Henry Hazlitt's Economics in one lesson).
Don’t be afraid to say what the company drawbacks are and what the company needs help with. You should not hide anything because it will always come out later and the probation period is long enough to reveal it anyway (with freelance there is no probation period, but also no commitment). On the contrary, honesty is really important and a connection is created when, for example, a new employee can help you when you need to do good devstack and no one knows how to do it.
Point out colleagues that your new employee can learn from, if there are such people. Capable people would rather join a company with other capable people and interesting colleagues. It’s even perhaps best if this person contacts the candidate herself and offers him/her to meet over a cup of coffee and talk about their future cooperation. I know a lot of people who had meetings like that.
Keep it informal. Feel free to invite the candidate for a beer, be friendly, speak casually, and be genuine. I personally think it’s good to try it at a neutral place. Offices are perhaps too formal, and personally I prefer to get to know people on more casual terms before visiting the workspace.
Benefits
Words (more like buzzwords) like “sick days”, “young dynamic collective”, “opportunity to participate in decisions”, and “competitive salary”, are nowadays offered by every IT company or startup. And if not, they will still write it in their job offer. For your company these buzzwords should be givens, and it doesn’t make sense to mention them as an extra advantage. You have to think up something more unique about why this specific position is interesting.
Mention interesting benefits that are not offered by every company, such as:
- Freedom in work and the possibility to work remotely. Supporting digital nomadism is a big plus.
- Work-life balance. Show people that you will not keep them at work against their will. Don’t force them to work on weekends. If the deadline is really close, don’t be afraid to offer them a bigger salary if they work in their free time. In my opinion this works really great.
- Sports and fitness. Do you offer yoga, climbing, or running? Show off with these and invite the candidate to an activity before hiring.
- Games. Programmers are still just people and even they have to procrastinate sometimes, so it’s good to have some entertainment for them. Personally, I sometimes go to work even though I could have home office, just because I’m looking forward to a match in NHL 2018.
- Food. The old Romans knew well (as our current politicians do) that bread and circuses are a great way to gain popularity. It’s not that different with programmers. Do you offer free fruit and breakfast in the office? This is becoming a delightful standard in tech offices. In addition, you can encourage programmers to be at work earlier.
- Personal development. It’s great if people can still improve themselves in something. Participation in language courses, conferences, company cooking courses or anything else is a welcome benefit, definitely worth mentioning.
- Collective events. Do you organize trips, wine tastings, climbing, canoeing, or team buildings where you eat organic goat cheese on a scenic farm? Personally, I can’t resist such things.
- Free hardware. If you offer Macs or PCs to employees according to their preference, it’s a great thing to show off.
- Phone tariff. Many companies still do not provide mobile tariffs to their employees, which is a pity because the company is able to negotiate significantly better conditions than an individual, and it’s another perk that could keep employees in the company (at least in the Czech Republic, where no one wants to look for better conditions in the overpriced market of Czech mobile operators).
- Coffee is a fuel that programmers transform into source code. It’s maybe a bit literal of a statement, but I believe it’s true. So, if you have a La Marzocco coffee machine and beans from Doubleshot, you should certainly be proud of it. Tea is an underestimated fuel as well. It is definitely worth investing money in good tea and its equipment. You could get a tea subscription for your office or find a tea guru. A great example is one company that has a tea room right in their office and uses it as a place for recruitment at conferences.
I hope that after reading this article the motivation and ways to find and hire good programmers is a bit clearer.
If you have other thoughts on this topic, I would be very happy if you share them in the comments.
Sources
Isaacson, Walter. Steve Jobs. New York, Simon and Schuster, October 24, 2011.