You can code it, I can help!

Modern Hiring

Lately I been hearing many companies complain about how hard is to find developers.

I do agree, finding good people is extremely complicated.

But not only because perhaps there’s a shortage in the city. Also hiring processes are out of date, driven by the wrong people and produce poor results.

I have done my share of interviews trying to find the right candidate for a position. Let me share a bit of what I learned…

The resume

Having a HR (non technical) person dedicated to match resumes against a list of required skills is a waste of time.

Why? Because more often than not, the candidate will list subjects just to match what are you looking for, or read an article about, played a bit with, found in a fortune cookie, etc….

I tend to ask candidates to be honest with me and tell me in which “skills” of the list are truly proficient. Just to make sure I ask the right questions.

Out of 20 skills they may choose two or three.

Using resumes as a main option to try to find good potential aspirants does not work as expected, we need to change that.

Years of experience

I don’t care how many years a developer has been sitting on a chair, participating on one or more projects.

Experience measured in year does not mean a thing. Experience in general is questionable.

Why? Because smart developers will catch up with others that claim to have 10 years of experience in a matter of months.

Find someone bright that has a really good basis in computer science, I’m sure he will be able to catch up and go beyond your expectations.

Some of the key factors are potential and seniority.

How to measure seniority

What is the difference between a Sr., Intermediate and Jr. developer? We just ruled out years of experience so think of something else… how would you identify them?

I usually ask the candidates to identify themselves, and of course explain why. It’s a great exercise.

I think that seniority in software comes with the kind of responsibility that a person can accept and produce high quality results without full time coaching.

High Quality results, not any kind of results. Last week someone asked me about what happens when a so called “Sr.” produces poor results, well, that falls into the “need more coaching” category.

There’s nothing wrong with coaching. Is just that most companies don’t consider that part of the job. If it happens at all is usually by accident.

That’s another excellent question for an interview: How do you ensure quality?

s## The recipe

First of all find someone (an expert, coach, someone you respect and can make accountable) to help you out and stay with you during the hiring process.

In order to invest wisely, don’t try to optimize the equation. If you don’t have budget to hire a Sr. please, don’t try to see what you can get for less… it’s not a grocery store!

If you want to hire Jr. developers make sure you have someone to coach them and teach them the right lessons otherwise is a waste of money.

Seek potential, not a perfect match.

In order to produce great interviews, make sure you have technical people filtering candidates and helping with the process.

Avoid endless meetings, that does not help to show how cool you are.

Use twitter and similar media to reach your target.

Follow up with your interviewee. No matter what’s your response don’t make them wait or forget about them.

Show ahead what kind of questions you may have. Send practice questionnaires if you want to. What? What happens if they learn/google all the answers? Awesome! You should hire him on the spot!

Sponsor IT events and user groups. Reach out (respectfully) to the community to find candidates. Even generate events like code competitions or code retreats.

Money is important (very important) however there are other factors that will attract other developers to work for you. How cool your projects are, who works for your company, real training plans, etc.

Encourage your employees to write OSS tools, frameworks, etc. Best personal card ever!

Trust proven concrete projects over theoretical experience. There’s lots of ways of sharing code today and the right candidate should have some examples of projects that can be shared in order to demonstrate his abilities.

What? No projects to show off? Easy fix, give him a month to build something :)

The perfect match

Sometimes is quite complicated to find the person that you are looking for due to the particular set of skills that you need at that moment.

Instead of starting a lengthy (and costly) search consider to build the position your need. That’s why you have your trustworthy coach to help you out and help you plan the process.

The right team will make things happen. Make sure you are adding value with each new member.

The most important asset that you have is your team. Let them shine.

Care for your team and help them grow, that alone will put the word out there and bring the best to your doorstep.