Open Letter To Recruiters In The Software Engineering Field

(Version in Russian)

As a new day was starting, checking my e-mail, browsing the web to learn about the latest miseries that afflict our poor world, I saw it in my inbox: another e-mail from yet another recruiter.

I guess part of the job description of being a software developer is to be harassed by recruiters. Every week I get three or four e-mails, phone calls or even mail (you know, the old kind, papers, envelopes, stamps and such) with job opportunities, in average, from all over Europe.

My skills are in demand, so I guess I should be happy about that. The problem is that 99% of all the contacts I get from recruiters is botched in one way or another. And in my 19 years of experience as a developer I have had the bad idea of following up on some of these “opportunities,” only to be disappointed once and again by the recruiting “industry” and its associated (mal)practices.

So please, ladies and gentlemen, honouring the style of your preferred Medium posts, please find below a Top Five List™®© of wrong communication patterns from recruiters talking to software developers.

1. Manners

There is form and content in every communication. Let us begin by the basics. If you, dear recruiter, start your contact with a “I have great opportunities for you, please call back to know more” you have already lost a customer. You know why? Because everyone is doing the same. Do you think you are so special that I am going to personally call you to know that you have yet another shitty position to offer? Guess what, I am not. I am actually annoyed that you consider yourself so special. Why not stating your opportunity right away? Why do you want me to do your job? If you think I am worthy of any attention, just e-mail me, say openly what you want, and that is it.

Do not use a “bait and switch” strategy to contact me; be clear and describe the opportunity straight up: “Hi, I have a SAP consultant position to fill in London, the salary would be 50’000 to 70’000 pounds a year, valid working permit required, minimum 5 years experience with SAP, remote not possible, here are the requirements, here is my e-mail and phone if you are interested, thanks.” As you can see, your e-mail must contain the salary, the location, the requirements and other expectations. The name of the company would be a nice to have, but that is OK, maybe you cannot give that information out just yet. Also remove the word “senior” from the job description: it just does not mean anything. Just state how many years of experience with the technology are required. End of the story.

Very important as well, do not call me on the phone. Seriously. I hate phone calls. Do you know why? Because it is a synchronous method of communication, that blocks me from doing anything else just to pay attention to you. And I know that in 99% of cases I will not be interested by what you have to say to me. E-mail or even paper mail is fine. Do not call by phone. Do not send messages of any other kind (yes, I have got WhatsApp messages from some of your peers and seriously, what were you thinking.)

Finally, please refrain from useless praise; “I have seen your Github profile and your contributions to the field (sic) and I think you would be a perfect fit…” Do not do this. This does not work. It sounds fake — actually, it is fake, but that is another problem — and you are undermining your position even further.

2. Read My LinkedIn Profile Before Asking

I used to work as a Microsoft developer (ASP, IIS, .NET, C#, VB & VB.NET) from 1997 to 2006. And then I stopped. And then iOS and other things related to mobile entered my professional life (Objective-C, mobile web, Swift, even Android.)

So when I read your e-mail telling me about a .NET architect position, you have already lost my patience. Because you have not even had the decency to actually read my LinkedIn profile, which is totally and absolutely open and accessible to everyone, just to know whether I fit in the description of what you are looking for.

What I read in that case is: “I just do not give a shit about you.” That is what I hear.

3. Technology

I understand that the technology field is a great opportunity for a recruiter, but it is also a complex and ever-changing medium. I am pretty sure that you can easily reach your bonus goals every year with a couple of developers here and there. Good for you! I hope the Porsche that Santa will bring you this year will be fast and furious and that you will drive it responsibly.

But you know what? You should pay more attention to that same field that feeds you. It is not even about the spelling of words (xCode, anyone?) but even more important about the age and the interrelationships between those technologies.

In terms of ages, if your e-mail includes the words “five years experience with Swift” you have already blown it. Because Swift has been released only two years ago (at the time of this writing, of course) — and I see this mistake over and over again. In 2002 I saw job postings for C# developers with five years of experience. In 2010 it was iOS developers with five years of experience. See the pattern? Please pay attention to this detail. You might be (heck, I am sure you are) losing candidates just because of this.

Pay attention to the fact that technologies die: looking for WebObjects, COM+, J++ or Delphi developers is not only going to be hard, it might be downright impossible in some markets.

The hardest bit, however, is buzzword soups. Make sure to have your job offers proofread by a software developer before publishing them, to avoid including weird or simply nonsensical name combinations in the mix. For example, if you are looking for a backend .NET web developer, it might make sense to include a database engine in the mix (like Oracle or some NoSQL engine) but it might not make any sense at all to add the words CoreBluetooth, GCC or Gradle in the same text.

Also, sprinkling your job offer with the “Agile” word does not help anyone.

I understand that you are looking for the mythical “360º developer,” with a “T” shaped profile, able to know lots of little things and specialised in some other big thing, but sometimes your technology combinations do not make sense at all, they are sometimes even really funny, and that drives us away.

The best approach? In my opinion, do not add any “related” technologies to your text. Good developers can learn anything faster than you can eat your breakfast, so you should just concentrate on the basic technology required by your customer, and leave the rest for a phone screening or a person-to-person conversation.

4. The Checkbox Approach

This brings me to the core of the problem: we have the impression that, as you talk to us, you are just ticking items on a to-do list. And you know what? We hate that. Deeply. We are not machines to be defined, discarded and sought after solely by our skills; we have passion, we have personal drive, and we chose this craft because we love it. We learn fast. We move fast. And we could use your help, if we could just see that you are actually trying to listen.

We know that you are pushing us to accept jobs that do not totally fit our skills, just because you want your end-of-the-year bonus. We know it. Let us not pretend that we cannot figure out how this industry works. Of course you are making a lot of money on our back.

The only thing I am asking you, is not to be hypocrite. State your goals upfront. We will trust you more, and you are going to end up building a good relationship with us, which could bring many, many bonuses and Porsches to you over the years.

5. No Long Term

Finally, the biggest problem I see with your approach to recruiting developers is that you are not helping anyone in the long term.

You are not helping out businesses, because you are not finding the right people. You simply are not. You just tick checkboxes, and you move on to your next victim. Want a proof? The fact that big companies end up building internal recruitment teams shows how botched and dysfunctional your method is.

You are not helping out developers, because we end up working in the wrong places: open spaces, dysfunctional teams, hypocrite management uttering the “agile” word every three seconds, lack of career prospects, contempt and refusal of quality management techniques, you name it.

But even worse, you are not helping the industry as a whole: you are not helping increase the abysmally low levels of inclusion in our field, because you perpetuate the false belief that this is a young white man’s industry. You leave women out of the process. You leave disabled developers out of the process. You leave older developers out of the process. You leave other ethnic groups than caucasians out of the process. And you are even aware of that, and I have heard recruiters telling me in the middle of a phone interview that young white men are better developers, and I just wanted to puke.


Dear recruiters, you are not helping. You are a core element in this industry, whether we like it or not, and one that we all make fun of, for that matter.

I am writing to you today, hoping that some of you will read this article and maybe, just maybe, react and change your attitudes and your techniques. Your field is ripe for disruption and innovation, to use words that will probably resonate in you. There are huge opportunities in this field, you can still get your Porsche for Christmas, but seriously, you are creating a mess in the meantime.

I fear, however, that it might be already too late.