Anyone who is or has done some job has most probably gone through an interview, where the interviewer asks some questions to judge your capabilities. Before applying for a job one should do proper research about the company where you applied. It is not easy as sometimes there isn’t much information available as the only resource usually available is the company’s web site which as expected is nothing but a marketing band wagon.
In such situations the interview is the best possible source for information. Good interviewers always takes candidate’s question and answer these honestly. So one should not waste this opportunity, you must be 100% sure about the company you are applying for as you will be spending a part of your life there so never take these decisions light heartedly. I have compiled a set of questions that should always be asked in order to judge how good the company is. Since I am a developer (Technical Architect to be exact) these questions are mostly related to development processes.
Inquire if the company has presence in other countries? and if they have any development centers else where?
This tells if the company believes in offshore model or not. Off shoring is done to reduce cost and shows good business sense. But there are exceptions. Some company’s just have marketing offices in other countries, in any case you need to be sure that you are going to get constant work in future or in other words is there are any chance of your work getting off-shored or not.
If the company has more than one development centers and you happen to be applying for the one than make sure that you ask about the presence of the CTO or any of the owners at the place where you are applying.
The answer to this tells a lot about the amount and type of work you are going to get. If there is a presence of the CTO in your part then it shows that they are serious about developing/growing this offshore center. If there is no presence then you are done. Mark my words, no matter how good this job sounds you won’t have interesting work to do or in other words you won’t be involved in mission critical tasks. Most probably your job description will be (obviously not written on your offer letter – these things are written between the lines) a bug fixer or trash cleaner The main reason why I am saying this is because all the decisions will be made in other part of the world and since you are not there you won’t be part of these meetings and analysis sessions.
There are exceptions as properly managing the offshore model needs a lot of time from these decision makers. But most of these people are not that good at it. They start off with the offshore model to save cost but as soon as they have secured some good investment they don’t pay much attention to it and in the end the team at that center is orphaned and there is not much charm in that job.
Inquire about how much involved is CTO/Executives/Directors in the code i.e., do they actually write code?
The answer shows how much they trust the team. Just imagine that CTO/Executive/Director wrote some code which is based on some assumption which in the near future is not going to hold true or in short doesn’t qualify as good code. Just imagine how hard it will be to change that code. Sometimes the whole framework or basis of the product is written by them. These frameworks/code sometimes contain some basic flaws and it takes nerves of steel to propose changes in such pieces of code. First the code is written by the CTO and if you propose a change in his code that suggestion is taken personally (there are exceptions but usually that is not the case) and you cannot imagine at what level he is going to go to protect his code from getting wiped out. I usually call this as the married to code syndrome. So make sure that the CTO/CEO of company you are targeting are not affected by that syndrome.
How does the company manages the offshore development?
Do they have separate offshore managers? What about the meetings?
Are the developers in the offshore center involved in the analysis phase of the development?
Where are most of the customers situated?
It is not easy to get the answers right during the interview and most of the time you find the real answers only after joining and this is pretty late. In my opinion it is best to ask these questions straight away and you can come to the conclusion by comparing the answers with the answers of you previous questions. If the CTO is very much involved in coding phase then there is not much of the analysis phase in the offshore center. If the customers are also far away from the offshore center then also, you are not going to get much customer exposure. If there is a 12–hour time difference between the offshore center and where the owners are then there is very high chance that there aren’t going to many meetings. As the owners (CTO/managers) will have to take pain in staying up late for you so that you can understand the requirements and come up with a quality solution. Usually this never happens and the offshore center is merely a bug-fixing department and nothing else.
I think these are some of the most important questions that you should ask the interviewer and take your decision accordingly as you future depends on it.