Wednesday, February 3, 2016

Don't Think Like An HR, Don't Hire Experienced Programmers

6:56 AM Posted by Elie Obeid
Pretty much all the companies in my country want to hire experienced programmers, they want between 3 and years of experience. This is a great video showcasing why this is a bad idea.

And I'm going to give my own opinion on the subject highlighting why you shouldn't hire experienced programmers and how to treat junior programmers.
  • Firstly, you have to ask yourself, why would an experienced programmer want to join your firm?
Chances are he's been fired, if so then he might suck at his job or he had an argument with his boss or colleagues, in that case, you wouldn't know if he's the criminal or the victim, everyone lies to appear innocent.
  • Maybe he wants to join your firm because you offer more money.
In that case do you really want to hire someone who's sole motivation is money? Do you want to hire someone who's willing to quit if someone else pays him more? Can you trust on such person to take your company's secrets to the grave?
  • Experienced programmers are less likely to have the desire to learn something new. And they don't take risks.
I know a company who hired experienced programmers, and refuses to hire programmers with no experience, they specialize in content recommendation, they knew in no time that they need to switch to NoSQL, but who will do it? They'd rather spend more time trying to fix the problems in SQL servers, rather than switching to NoSQL. Furthermore Experienced programmers don't take risks implementing new technologies, that's good sometimes when you have a software to maintain, but maintenance is a bitch, sometimes it's easier to start new, and you get better performance too!

There's a company asking for a CodeIgniter programmer with at least 3 years of experience. Well first things first, CodeIgniter is outdated, it's wiser to dump your code and write it in Laravel, but who's going to do it? And how to find a CodeIgniter programmer with 3 years of experience? And again why would he want to join your firm?
Another company is looking for an experienced XMPP programmer, there are probably a handful of those! Some requirements are impossible to meet! You'll waste a lot of time until you find an applicant that fits your requirements.
  •  Sometimes, you don't even need experience! Why you ask for it?
A real company is asking for an engineer with 2 years of experience to work as a support team member, responding to their emails and fixing HTML, CSS and JavaScript bugs!
  • Experienced programmers, might get sloppy and ask to be paid more!
Yes! With experience comes sloppiness, sometimes, and refusal to give up on bad habits! I've seen it many times and I gave examples above!

  • Are you sidelining the junior programmers? 
 Is it another way for you to say "I don't want to hire junior programmers, I don't have time to teach them?" If so, were you ever a junior? Who taught you?

One of the most common ways for junior programmers to work in a company unfortunately, is to apply for internship, and then we give them useless or silly tasks, and we supervise them obsessively, some companies don't allow their employees to use internet, expecting that their employees know everything. This is bad for the employees and the interns, and a waste of time, at the end of the day, the interns learn nothing, because we didn't trust them enough to give them real tasks.


  • Don't ask the employees "Do you like this company?" Because the answer will obviously be "I love this company and I want to grow with it", they are lying, you know that they are lying, but that's the answer you expect to hear, why do you ask the question?

 - Dilbert by Scott Adams

I have taught many junior programmers and learned that they enjoy learning and they will try so hard to prove themselves and will consider you a mentor and will work sometimes for free, just to prove that they can accomplish the task you gave them and to gain your trust.

So stop asking for an experienced programmer, unless you really, really, really have to, and stop looking for a shiny CV, or for a student with a high GPA from a well known college, many programmers dropped out of college or perhaps they never went to one, because programming is a hobby at its essence!

Take a look at the Github and Stackoverflow account, give applicants a free trial, encourage him to take his own decisions, make sure he's excited about the job, then and only then, you know you have hired the right person for the right job.