Thursday, May 31, 2012

Wrong recruitment is murder.

I've been a programmer for as long as I can remember. From TC++ to Obj-C, from AceSpy to Tank-O-Mania, this is what I crave to do. It might not be an adventurous job for many yet the different kind have their fun in it. But very few in their childhood will reply and say gosh, I wanna be a coder and write codes all my life. They would rather say I would be a pilot or a doctor and save some lives, but heck no, what does these Dennis Ritchie do?

Sadly when we decided to turn a home/hostel business to a corporate, we needed more programmers. Like money, programmers do not grow on trees. Nor does they are sold in big bazaar. No, the guy who is calling your HR twice a day to propose his next "Employment Agency" has no clue about it.

Finding good programmer is a nightmare, hiring bad programmer is a suicide.

The blogs and articles we read on Joel on Software have little effect in India. America and India is different. No? Try calling your boss with his name. However I like the ideas proposed by Joel in his book: Smart and Get Things Done.

So here are my points when hiring software programmers:

1. Are they a programmer by choice or interest?

Here, we chose a degree before what we want to do in life. Given the population and unemployment its no fault of the generation. Not going to change, so well adapt. If not early enough are there signs of interest in technology right from the beginning? Has he being doing the college projects and internship for, well, the letter or was that seriously done?

2. Experience

Experience is the best disguise to wear. The veil the anti-performers wear to trade on their year wise growth to performance growth. For bigger MNC, funded by public or big investors keeping "x" number of employees is a target to meet to show to their investors. Given the low salary in India, its no problem with them to satisfy this number, on the neck of the students hired. Hence, experience of a candidate only depends on the "kind of" projects he has been doing and contribution in the team.

3. Resume is False, no exceptions.

We have arranged marriage in our subcontinents, the matrimonial services takes the "bio-data" of boys and girls to share with each other family. The family then filter on this "bio-data" to schedule the family visit to the "boy/girl lookout" trip. Will there be surprise if the girl turn out to be a 5 foot instead of 5.4? or if the boy is bald? Will you arrange a marriage on the bio data and telephonic conversation?

4. Emotional

While interviewing the candidates, dive deep in the way he has done his project. Especially the contributions, the logic, the code design, the tools and how he got it done. The false candidates will stick to "what the project is" no matter how much you will stretch. The good one will get emotional and go on talking, drawing diagrams with their fingers or trying to actually show you his work online. Only programmers should interview other programmers, so that they just can give the candidate the support of being a good listener and understanding that what he is saying is not words in any order but meaningful.

5. Write Code

A computer based test will help in judging a good programmer, give him the tools, the internet and the tools and ask him to make a small project. (Use Net Spy Pro to ensure he's not cheating). Why do we have written exams at every semester end and not before switching a job?

Hiring a bad programmer is a suicide for a software company. Make mistakes in not recruiting the right person, but don't recruit the wrong person.