Earlier today, I posted a long list of things that I, (and I very much suspect, other developers) hate - about recruiters, interviews, employers and jobs. There was over 50 that I came up with in the course of a couple of hours, with some help from members of the TechLondon Slack community. From that conversation, there was also a spin-off about dumb sh*t recruiters say!
It’s a long list, and so I’ll not be able to quickly get to everything and add additional comments, but I’ll do what I can, as I can. A number of them will be deserving of a whole blog post on their own - and so I’ll spin them off, linked from here. Everything will be tagged “on-developers”, so they can be found easily.
If you would like to guest-post on one of these topics, or something similar (as an in-line response, or a fuller post), then please drop me an email! There's plenty of choice, and heck, more than one response to a point is fine too.
There are some additional points added after the original post, as suggested by other people.
There is also a new comment on Someone that will tell you the truth… by Andrew Avantgardian.
Before you start reading, I should warn you, I rolled a very high number for Snarking on my character sheet.
Think of many of them as a ‘what not to do’.
- There isn't a shortage of developers (good developers: yes). There's a shortage that will work for you. That's about pay and conditions
- Not replying to us. We are expected to follow up to your emails in <48hrs. We expect the same from you. Not weeks
- 98.5% of developers are employed. The rest either choose not to be working, OR, they aren't worth employing. We know the difference
- A good developer could talk for 5 minutes, ask 6 questions, and figure out if another dev is, or is not worth hiring. You can't.
- You aren't hiring the top 1% - your CV pool is mostly the 1% unemployable - Everyone thinks they're hiring the top 1%
- Asking developers to use old tech. In PHP? CakePHP is old. Laravel and Symfony are still good. Race-drivers can't win in a Trabant
- Subversion: Old tech. Painful to use. We don't want that pain - so we'll find somewhere else, using Git, probably on Github
- Make sure the project is setup to at least *allow* for a decent possibility of a win. When we see it turning to the loss, we leave.
- If in doubt, point us in the right direction with everything we'll need available to us, and then get the hell out of our way #YeeHah
- I had a 1st chat with HR for a job - no external work at all. No deal possible. So, they keep looking for devs - like the last 6 months
- Pain in the ass to get to? I'll pass. I've personally got a limit of ~1hr travel time, maybe a little more for interesting.
- Remote - If my commute is 10 seconds, We both win! Want to talk to me? Well, there's this newfangled thing called the internet!
- Want to make sure we are working while remote? Get a lead dev you trust, and let us show them what we get up to - via the code, and IM
- Git for code, Slack for conversations, and there's video chat too! I might even shave. Nah - who am I kidding. :-)
- Accept that we are experts in our fields, narrow but deep -literate in many, but don't expect expertise in everything #WeKnowOurLimits
- Don't take too long to interview us. There are other people that make faster decisions than you. Maybe give a heads-up of interest
- Codebases - you love them old, and you love them new. But most of all, you love them new. Legacy code is painful to do anything with.
- It doesn't mean old/legacy code is bad code - it can be perfectly fine. It has to be good quality - tests help to prove it
- You can pay us more to accept more pain - but then someone will come along with the same pay, and less pain. Goodbye!
- Someone that will tell you the truth, even if you don't like it - is worth more than someone that will ride the fail all the way down
- You have uncomfortable chairs. Do you also have uncomfortable toilet paper? I spent money for my own Aeron at home. #LoveYourButt
- Ever wonder why your developers wear headphones? THE OFFICE IS TOO DAMNED LOUD! They are *trying* to concentrate - and still failing
- If spending £200 is hard, then you've probably already lost tens of thousands of pounds worth of productivity #SimpleThingsToImprove
- Do your developer go to meetups or conferences? Do your devs care about learning? It's a red flag if they aren't trying to improve
- "What happens if we spend money training our people and then they leave?" "What happens if we don't and they stay?"
- If we tell you that something is a dumb idea - don't be surprised when it turns out to be true #HaHaByNelson
- Sometimes you've got to spend some money, to succeed, and to avoid losing lots and lots of money and time.
- If I start work and have to spend 3 days just getting the dev site running locally - we know the live site is also a pile of crap
- Deploying a new copy of the site should be a <5 minute job. I saw one that took 90 minutes. I don't work there any more. #NoPain
- If I can see user passwords in 5 mins of effort before the 2nd interview, you'd better hope I also have a sense of humour. And morals
- You want me to write a little code test - OK. That might be fun. Oh, wait. You want me to rewrite Facebook? Goodbye!
- "Bad code make tests hard." <-> "hard tests make code Bad". Good code makes for easier tests. It's a virtuous circle
- I know you said you do Agile Scrum, but I've read the Agile Manifesto and you *really* have no idea what it is
- Friday Beers? OK, but bear in mind, some people don't like drinking booze, not even on your bill #SoftDrinksPlease #NoBroZone
- Oh, you have a bar, pool table and a ball pit? I don't care. I just want to write good code. We aren't there just for the perks.
- Recruiter: How many years of Rails experience do you have?
DHH: ALL OF THEM.
Imagine getting 30 job offers a month, it isn't as awesome as you might think.
- You need to get the basics right first - a good environment to work & think and enough pay to not worry about money - Maslows hierarchy of needs
- Ever wonder what are all the phone calls for the first 6 months of a new job? It's recruiters trying to hire us #NiceToBeWanted
- Hey recruiters quit calling us when we've started a new job. If the CV is more than a month old, maybe we ain't looking ... Stop calling maybe?
- If you contact us and tell us 'someone gave us your name' - until you name them, we already *know* you are lying to us
- If someone did give you our name - *they* want *us* to know about it. That is also how we know you are lying to us. And we'll check
- Recruiters - if you don't email us about a job, it didn't happen. We don't remember that crap 5 mins later. We are busy thinking here
- I know I called you yesterday, and you weren't looking for new developers, I just wondered if anything had changed since then?
- So, you develop all your code in Python - but have you considered this guy who has 25 years Cobol experience?
- Oh, you are looking for a new developer? Great - here's 200 CVs to look at! And if you hire any of them, that's my 20% fee #KaChing
- OK, You're a PHP contractor with 6 years experience. [20 mins talking later] How about this fab permanent job for £7k in Azerbaijan?
- REAL EMAIL: "Would you be interested in a new DevOps role in Glasgow?" (is that on the Northern Line? 'Cos that's a long way away)
- [Ring Ring] Have you had a chance to read the email I sent you, seven seconds ago?
- To: You@BigCompany.com When would be a good time to talk to you about a new senior position at OthermegaCorp? Let me know a time.
- I really like your extensive Github profile. One quick question first - have you ever used a revision control system?
- REAL CONVERSATION: So you've got 15 years Linux, Apache, Mysql and PHP experience. Do you have any LAMP? #dev4rec-1, the LAMP stack
- We are looking for a Rock Star Developer! [So, the pay is $25M ?] No, but they are paying £25k (Hey! That's how much my rent costs!)
- Sometimes the code we write and systems we develop is *really* bloody hard. Sometimes, that is *why* we want to do it.
There is a shortage of good everything. Sturgeon's law
applies in all things, after all. BUT - There are developers out there that might love to work for you - but there are some things stopping them:
1/ They don't know you exist
2/ You don't pay enough to want them to move
3/ They won't work for you, no matter how much you pay them. Maybe they have already seen, or heard, how you manage your projects, or your people. And they don't like it.
I'll add my own thoughts about why I'm not applying to companies that I know are desperately looking for developers, in later points.
As usual, it's far more complicated than that, and there's many, many other potential reasons as well, there are a lot of them listed below.
I've had jobs that looked interesting, and I've applied - sometimes just with an initial email, others through a specific application system. All too ofter it's a black hole. I've even chased them up, had promises of a follow-up, and still nothing happens. That is just rude.. Why ignore people that want to work for you? And still, you wonder why the jobs go unfilled.
'Full Employment' has been defined as around 3% or less of working-able persons being not in current employment. Developers have half that rate. Some of us choose not to work for periods between what would be full time, or contract jobs. There's even a term for that - 'Funemployment'. Do you know what we do then? Relax, go to conferences - and write more code.
This is what you are up against when you are trying to find new developers - 99%+ of all the good ones are already employed. Its why there is so much effort put into finding 'passive candidates' - developers that might be looking to move on from their current jobs. You have to be better than their current job though. Better conditions, more interesting work, and probably better pay. If none of those would be an improvement though - why would we bother?
Want your pick of the best developers in the world, that would work for you? Well, don't limit your search to someone that just lives within a reasonably commutable distance. There are more people that live more than an hour or two away, than live closer. It's just physical fact.
by Andrew Avantgardian, Monday Aug. 31, This one, got me fired once, best thing that's ever happened to me in that company.
Programming is a serious mental effort. We have to keep many things in our head at a time to be able to do good work. It's all too easy to just drop all those thoughts right on the floor when we are disturbed. It won't take a few seconds to pick up from where we left off - it can 15 minutes or more before we have a hope of properly continuing. A few interruptions an hour, and we can end up achieving almost nothing, despite our best efforts otherwise.
When developers are wearing headphones, they've already lost most hope of undisturbed work. The music might be blocking out the noises around them, but the human brain isn't built to be able to concentrate on multiple things at once, and so we are still working at well below our potential abilities.
It's a classic line. For a very good reason.
We don't have a problem to prove we know what we are doing - that's why we write software, to achieve something. Many times, you can look at code we've previously written - maybe a website, or a repository on Github, for example. It's very useful to see. There can be good results as well from setting a small task - but sizing that work is important.
You can prove a lot in a little as 15 minutes of work required - one such test I was set was perfectly sized. Take an existing simple class, and clean it up - adding some caching. I enjoyed doing that! At the same time, it demonstrated a lot of very useful day to day skills.
What do you call a quiet, pleasant environment, maybe even with a door between me and the rest of the office, but without an open plan sales-floor next to the developers? Answer: My potential next employer.
When the developer of Ruby On Rails, David Heinemeier Hansson, gets an email from a Groupon recruiter, amusement ensues.
In the last few years or so, I've had one single email, that started "We're currently hiring our Lead Developer and NAMED-PERSON recommended you for the role". Just One Person - a startup founder. On the other hand, I've had four or five that didn't name anyone, just 'a friend of yours'. Nope.
Same goes about you. Ten seconds after I put down the phone, your name is just gone. Heck, usually, I've forgotten it ten seconds after you start talking. Email me your details, and maybe a very quick summary - at least then, you'll have a chance of being found and contacted again.
by Chris Reed (@CanadianCreed), Monday Aug. 31
Here’s one that I just went through recently. Recruiter calls me up, tells me about a job in the US with a client he’s got. Job particulars sound awesome, so I say sure let’s do it. So get a preliminary call, ace that. Get a tech interview, ace that.
So after four weeks of this, get a call with the CEO of the company again, hour goes by, and I’m nailing it, can tell by the tone of the guys voice. So not even ten minutes after the call, I get an email back from the recruiter saying I’ve been rejected because I’m not American. After five weeks, he only now just realized that all the references to Canada on my resume meant I wasn’t an American citizen and this recruiter that had such a “great relationship with his client” didn’t know such a basic fact.