Identify clearly what you really need

It is imperative that you list down the tasks that the candidate will be
required to perform. If you do not have a clear cut list of job responsibilities
in place, it only indicates that you are not clear of what you really need. On
the flip side, this also sends wrong signals to good candidates – a non-existent
JD is one indicator that roles are not clearly defined in the organization. A
good job role is one of the key incentives for attracting the right
candidate.

Write out a detailed job description

Perform this exercise by asking yourself “What work will the person actually
do?” An example is given below:

Candidate profile
(development)

Job responsibilities

Gather requirements from business users

Create business requirement specifications

Create system and database design documents

Write system use cases

Estimate requirements

Design and code system modules

Write stored procedures

Create reports

Technical skills

C#

ASP.Net

SQL Server 2000/2005

SQL Reporting services

Web services

Enterprise Application blocks

Enterprise architecture

Design patterns

Personality traits

Ability to handle tight deadlines

Ability to multitask

High degree of endurance / stamina

Good verbal and written communication skills

Responsible and is able to work independently

Positive attitude

Honest, sincere and a true professional

Make expectations clear to recruitment consultants

Share the job description created above with recruitment consultants. Ensure
that the profile of the person you are looking for is clearly understood by the
consultant. Often it is observed that consultants either do not fully understand
or are left groping in the dark about client requirements. Remember, your aim is
to funnel out the best talent suitable for the job from the available resumes
floating in the market. Much of the initial filtration work is tedious and time
consuming and is best left to full time consultants. Your job begins only after
the initial rounds of testing and verification have been completed and the
number of potential candidates has been rationalized.

Do a detailed study of the short listed resumes

Scan the résumés of the short listed candidates carefully. Analyze the
projects which the candidate has worked on. List down scenario specific
questions based on the work already done by the candidate.At times the
projects in which the candidate has worked may be good but the candidate himself
may have had a limited role in the project.

For example: Let’s say a candidate has worked in a core banking project and
his role was to create reports. The résumé should ideally indicate “project
details” and “role” under separate headers. If this is not happening, provide
feedback to the consultant and have it rectified. The following scenario
specific questions can be asked:

How many reports did you create?

Did you use SQL reporting services?

Could you provide details of the most difficult report you worked on? Why do
you consider it the most difficult?

What kind of stored procedures did you need to create for the reporting
requirement?

What was the maximum row count of the tables you were querying? What
measures did you take to ensure that the queries were optimized and would not
fail as the tables became populated with more data?

What kind of indexing strategy did you use? Did you need to create covering
indexes?

What are the stored procedure creation standards which you follow in your
project?

The responses to above questions will tell you a lot about the skill levels
of the candidate. It is difficult to bluff on this type of questions. Remember,
if a candidate has already done the kind of work which you need to implement in
your project he will be productive from day 1. This is precisely what you are
trying to determine. You will find a lot of candidates who “know” a lot about a
specific technology i.e. theoretical knowledge but you need to give preference
to the candidates who have already “done” some work in an area. Give preference
to on the job skill over bookish knowledge, this will reap rich dividends during
execution of the project.

Equating the candidate’s responses against the JD created earlier will help
you to come towards a more informed decision.

Prepare a ready reckoner of scenario based questions based on the scenarios
faced in your current project

Following the questions identified in the previous section, you now need to
throw scenarios at the candidate from your current project and see what
solutions he can suggest for the same. The important thing here is not how many
precise solutions he comes up with but to get a feel on how much the candidate
is capable of thinking. Software development is a 24X 7 thinking job and this is
a vital skill.

For example, continuing with the previous section’s core banking solution the
question could be as below:

Consider this scenario – We have the following entities in a bank branch –
the customer, the cashier, the teller, the personal banker, the branch manager.
Suggest an object model to capture this scenario.

The candidate’s answer would automatically tell you how much of object
oriented analysis and development he is actually using or is capable of figuring
out.For a production support role, the scenario could be – Consider the event
wherein 2 highest priority support calls are raised within 2 minutes of each
other and you are the only team member supporting the application in the night
shift. How would you handle this situation?

The candidate’s answer will tell you how he would actually handle the
situation in real life and whether he is suited to the role. Trouble shooting
and providing permanent or workaround solutions under pressure is a key quality
required in production support.

Asking scenario based questions is mandatory if you wish to select the
right candidates – asking questions which only test the subject knowledge of
candidates is not enough.

Assess the technical competency of the candidate

Finally, also have a ready reckoner of technical questions ready to assess
the technical knowledge of the candidate. Almost everyone does this – in fact
most interviews commence and end with technical subject knowledge questions.

The disadvantage of this approach is that almost every candidate is prepared
for such questions. For example, questions like:

What is the difference between overloading and overriding?

What is multiple inheritance? Is it possible in C#?

Explain the event model in .Net? What is a delegate?

evoke standard responses and only tell you that the candidate has some degree
of technical knowledge. It does not tell you how effective he will be on the
job. Nevertheless, it is important that this analysis is also done as part of
your recruitment process.

Do not always recruit the best candidate

By now you have finalized some candidates who are suitable for the job.
Before making the final offer consider the following:

Every employee goes through 3 stages in any organization:

Initial stage – the employee is new and is on the learning curve.

Middle stage – the employee has become an integral part of the team and is
contributing in his role

Late Stage – in this stage the employee has mastered his job
responsibilities and is looking for new challenges. If he is not presented with
new challenges or a role revision there is a very high chance that the employee
may move on in search of greater responsibilities.

This is the normal cycle for all employees who are career oriented and are
looking to progress in their careers.

Put yourself into the candidate’s shoes and answer the following
questions:

Does the new job provide me with growth opportunities?

Is it a logical next step in my career path?

If the answer to any of the above questions is in the negative, then it might
be difficult to retain the candidate in the long run. Of course, if the
candidate is comfort driven than all he may be looking for is a better
remuneration. But most of the better candidates do not think in this
fashion.

One of the ways of identifying a good candidate is that he will usually ask
many probing questions – to the point of being offensive. He will do his
homework properly when trying to assess a potential employer. Such candidates
usually turn out to be very good in their jobs.

The best candidate is the one for whom the offer you are making places him in
the 1st stage in the employee life cycle as mentioned previously. This obviously
means that the candidate will be required to stretch and grow in his new role.
This also turns out to be one of the best retention strategies for the right
employees.

Find people who are better than you

This is a tricky piece of advice. The average, insecure person always
recruits people whom he considers to be weaker than him in ability or skill to
ensure that they never rise to challenge him. But the true leader is usually
strong and secure – he intentionally recruits people who are better than him in
at least 1 area. He knows that his job as a leader is to integrate diverse
abilities of people for the common good and achieve synergy. An insecure leader
can never achieve big results.

“Here lies a man who was able to surround himself with men far cleverer
than himself”

- Andrew Carnegie

Post recruitment activities

Make sure you have an induction plan in place for the new employee

If the employee is coming onboard midway through the project then ensure
that a proper knowledge transition plan is in place to integrate him with the
team within the shortest possible time.

Capitalize on the initial excitement of a newcomer – ensure that some
productive work gets done.

Ensure that the 1st assignment given will provide an opportunity for
‘controlled stretch’. And watch the response of the candidate closely.

Final thoughts

Never be hasty in your recruitment decisions – better to leave a position
open rather than recruit a wrong person and repent later.

Despite your best efforts quite a few of your recruitment efforts will
inevitably go wrong. If you achieve a 50% success rate in your recruitment
efforts – consider yourself doing a good job.