The Five Stages of Interviewing Offshore Software Engineers

The following describes some strategies that I use while interviewing candidates for Software Engineering positions in offshore locations. I actually have brought those techniques together into five degrees:

Logic and Problem Solving Ability
Computing Knowledge
Specific Skills
Spoken and Written English Ability
Communication Skills and Personality

engineers
1. Logic and Problem Solving Ability

When I first commenced out interviewing offshore software engineering candidates in Malaysia, I wasted loads of time looking at their CVs and the use of those as the premise for the primary degrees of interviews. This resulted in the candidates doing quite a few talking approximately initiatives they (claimed) that they had performed and competencies they (concept) they had earlier than I even began measuring their technical capacity. Some CVs appeared very superb certainly, their authors claiming almost countless lists of abilities acquired, many of “superior” standards. Now, returned to the UK, for the maximum element when speaking about tremendously professional jobs there’s an unspoken rule with regards to CVs, candidates simplest list capabilities which can be sincerely well worth listing and definitely being organized to lower back up any claims of “superior” ranges of proficiency in any of these claimed capabilities. It is no wonder that upon receiving such remarkable CVs in Malaysia I assumed the candidates had been very high high-quality indeed and determined that the primary hour of the interview ought to be about them speak about their enjoy (to assist them in loosening up into the interview) and me doing a piece of a promotion on the function and agency. Only after that would we dive into the technical questions, which gave the impression of they might a breeze for them. Unfortunately, the aforementioned CV “rule” that applies in the UK does now not practice in Malaysia, nor does it at another offshore location that I have interviewed candidates from to this point. I ought to consequently pretty effortlessly waste the primary hour of an interview speaking to a candidate approximately their CV, and perhaps spending some time speak approximately the position and the employer, before even considering getting their palms grimy with some technical questions. When the technical phase started, many applicants have been becoming down because it fast became obvious that the character I had talked to for the preceding hour or so become not the person who turned into at the piece of paper (the CV) in the front of me; they had exaggerated wildly and in some instances blatantly lied on their CV.

When most effective recruiting for one or two positions, losing an hour right here and there talking to a candidate who has intentionally fabricated their CV isn’t a massive deal. Indeed, many applicants I talked to have been sincere and I finally employed them. However, while recruiting on a bigger scale offshore, the numbers cross against you and such a method may be highly inefficient. Given that I become recruiting on a bigger scale, I needed to find a way to decide as quickly as viable if a candidate I became interviewing became well worth speaking to similarly. I, therefore, positioned apart their CVs and lumps of certificates and jumped directly into a bunch of common sense and trouble fixing activities (which contain writing code) at the whiteboard; I changed into quietly surprised with the consequences.

The questions had been short and simple, regularly programmatic, along with:

Using the language of your choice (or maybe pseudocode for junior candidates), write a characteristic to reverse a string.
Using the language of your choice (or maybe pseudocode for junior candidates), write a function that prints all of the high numbers from 1 to n.
At the very start of the interview, earlier than asking those questions, I could I often ask a candidate to price themselves, 1-10 (1 being amateur, 10 being superior), in each of the programming languages they indexed on their CV, pretty some responding expectantly that they were eight,9, 10’s in languages which include C and Java. I might record these rankings at the whiteboard, in view of the candidate, for later reference. I then asked the candidate to finish

I now by no means begin an interview without asking similar inquiries to the above within the establishing 15-30 minutes, no matter what the extent of software program engineer I am interviewing for. Candidates do not proceed to other levels without first getting past this level. The degree of the role will merely decide how a whole lot leeway I give for wrong answers. For example, for a completely junior function, what I will look for isn’t always the proper answer, but how the candidate thinks approximately the answer. At the very least, they need to be capable of describing to me how their set of rules could remedy the trouble. In my view, even for this sort of junior candidate, if somebody has been thru college, achieved a Computer Science diploma, and can not even provide an explanation for a way to opposite a string or does now not realize what a prime wide variety is, they probably should not paintings for me. Likewise, if someone has been operating for 10 years and can’t reverse a string within the language of their choice, they truly should not be running for me. Importantly, very importantly, irrespective of what the level of the candidate is, I make certain that they in no way wager the answer to my problems and try to bluff their manner to a solution, talking approximately it as though it’s the proper solution to affect me. Anybody that has labored for me will know that I hate guessing in software engineering. A candidate who is willing to bet and attempt to bluff their manner via an interview is probably to do the same when they’re operating on a challenge for me or a person else. For instance, they’ll, no longer know-how a problem very well sufficient and therefore guessing, go off and write reams of code that they may be similarly uncertain of. I always inform my group of workers that if they are unsure of the paintings they’re doing, to prevent what they’re doing and are available and spot the team chief or me to discuss; in no way bet. So, I continually bounce onto any evidence of guessing at some point of this degree and discover why the candidate is doing it.