I recently changed my job after being offered a VR option at my last job. In finding my latest job I am glad to tell you the following despite the economic downturn across the western world in 2012:-
There are lots of Software Developer roles out there!!!!
It seems that the IT industry is kind of in a boom period – probably because of all the changes that organisations have to implement due to new regulations, and possibly because of the need to stay competitive and up-to date with current tech. That is good news for us people in IT given the current economic climate. Now in looking for a job I had a number of interviews, and can describe the type of interviewers into the following three category types:-
- Type 1 – the VERY TECHNICAL people who are geeky by nature and will ask the very difficult and hard questions. In most cases I have always failed such interviews, as the questions are usually unrelated to any type of technical work I have done in the past.
- Type 2 – the NICE people, they just want to talk about your CV if its detailed enough and go over what you have done, and then they will throw in the odd general type of technical questions to find out if you understand the basic fundamentals – OR they could give you a simple problem to solve without being technology specific. Generally what these types are looking for is someone who is NOT a geek but is able to communicate with people without upsetting them, and also be able to do a technical job.
- Type 3 – the NASTY people, they have an obsession with themselves, and seem to just want to know if you can do a job for them. They are usually looking for certain characteristics which are alien to you (or me), and probably never read your CV before giving you the interview (they may have delegated that matter to someone else in their team or HR).There is nothing wrong with any of the above types of people but my own preference is Type 2, as they are usually looking for that person who will fit into their organisation and not have character flaws to upset the existing staff on joining.
Multitudes of Technologies Equals Multitudes of Interviewers (The Nightmare Scenario)
To give you an example of what I had to go through in one interview which was initially described by the agent as a little short ‘meet and greet’ with the main architect, I was on arrival surprised to find three people waiting for me – each a subject matter expert in their various technology areas which included C#/ASP.Net, SQL Server/SSIS/SSRS, and SharePoint. During the interview I was asked by each one a series of questions they had ready for me – the first technical person wanted to probe my knowledge on SharePoint, the second one on C#/ASP.Net, and then the third person wanted to ask me about SQL Server/SSIS/SSRS. The whole ordeal (as I felt it then) lasted one hour, and then to end this first stage interview, I was given a multiple choice set of questions to complete in 15-20 minutes. The strange thing about this interview was that I really liked the people and I would describe them all as type 2 interviewers from above. What was even stranger was that I did very well at the interview despite it being the first time in my life where I have had to face up to three people in an interview. So I was invited for a second stage interview where I had to meet the main man who I would be working for. Unfortunately he turned out to be a type 1 from my category listing above and by the end of the second interview I did not want the job and the person interviewing me did not want me – so it worked out well in a perverted kind of way.
The thing to note from this experience I have just disclosed is that there is this chance that you may be interviewed in ALL the major areas that you have put down on your CV, if the organisation you are applying for the job uses those technologies.
The Modern Practical Tests (The Blood Suckers)
Now one of the trends I have noticed while I was looking for a job (year 2012) is that for a few employers the technical interview where questions are asked from a clipboard or asking a problem solving task is NOT enough for some employers. These days there are organisations that have laptops setup and ready for you to solve a problem where you must demonstrate your ability to code in whatever area they want to test you on (e.g. SharePoint, ASP.Net, Winforms, SQL Server). These type of tests need to be done in a timeframe just to spice it up. In my case I was asked to this practical test after I had done an online C#/SQL IKM multiple choice test, and also the main interview. In another interview after being initially interviewed by the main technical leader, and Web Architect (both I would classify as Type 1 from above), I was later asked to come for a second interview to do a task which involved doing a practical technical test using SharePoint.
What I found annoying about both of the above interviews (even though I managed to complete the practical tests) was that I had already completed technical tests in the first stage of the interviews through a question/answer session and doing an online assessment. As one former colleague described to me – they seem to want your blood these days. I have even heard that the English Football Association on recruiting developers – they setup a 3 hour practical test using ASP.Net.
Personally I don’t think that these practical tests prove anything – as they never actually test the required fundamental skill of the programmer which is problem solving. The practical tests are just a load of instructions which test really if you know the syntax to write the web page, and make it do X and Y. Yes the syntax part is important but these days I have to question is there any value in learning the syntax as the languages and tools we use seem to change so quickly – and Google is at hand to save the day. Also the very fact that the potential employer wants to test you through a practical test is somewhat insulting as it means they don’t really believe what you have said you can do on your CV, and in some ways also demonstrates the stupidity of the employer because if you have been in a job for 2+ years and in that time you have stated on your CV that you have used a particular tool (e.g. SharePoint), then it stands to reason that you DO know something about the product otherwise you would not have lasted that long. Incidentally – both the employers who decided to give me these practical tests were paying less than the ones that were not giving thier interviewees such a grilling – lets face it, its not like we are being interviewed for the Apprentice or expecting to earn more than £100K as a basic rate salary !!!
The other type of interview experience I had to go through (the organisation in this case was a large software consultancy) was a ‘get-to-know-you’ session with someone who had no idea what job I was applying for, and then the second stage was going to be a 2-hour session in which I had to give a 15 minute presentation on a project I had done in the past. Doing a presentation for an interview is nothing new – it is in fact a way in which organisations can avoid recruiting the type of developer who turns out to be the interviewer described as Type 1 above (i.e. total Geek in a closed room). These types of interviews actually allow the potential employer to check if you can communicate effectively about the subject matter, and in many ways it can be easier as the onus is on you to demonstrate your knowledge by deciding what ‘you’ want to present.
The On Line Tests
There are many interviews that take place now that require you to complete some kind of on line test in a specific subject area. Usually the tests are done in your time and act as an indicator that you are able to demonstrate some type of expertise/knowledge of the subject matter. These tests are usually selected by the potential employer in terms of the subject matter and the types of questions in that subject matter. The main thing that potential look out for when you complete these tests is a score that is average or above and that the test was done within a set time frame. Usually the questions presented must be done within a set time (e.g. 3 minutes), or you may be given unlimited time but it will count against you in the final score if you took too long.
Before going to one interview I had to complete two online tests – one was in ASP.Net 3.5, and the other was based on SharePoint. Now I remember going through the ASP.Net questions very quickly, but the SharePoint test was a nightmare – the questions that were selected were all based around Workflows, and SharePoint Designer. I managed to answer some questions but with little confidence. However, don’t be saddened by my experience as I was after doing the SharePoint questions, because I did get the interview with the main boss, which was a total surprise to me. As it turned out the interview went well and I was invited for a second interview a few days later BUT by then I had decided to take up a job offer.
What’s worth noting from this experience is that in the interview I did have, I actually told the interviewer that I was surprised because I had felt that I got most of SharePoint questions wrong. But he re-assured me that my SharePoint test was an ‘Ok’ score and the fact that I had gone through both tests very quickly was a deciding factor in granting me the interview opportunity. So there you have it – speed is essential when doing these tests, and he went on further by saying that he would be reluctant to give an interview to someone who got most of the questions right but spent 2 hours on answering the 47 questions.
Having now landed the job, which admittedly had everything I was looking for (short of being located 50 metres down the road from where I live), I can say that there is nothing standard about any of the job interviews for developers other than to say that if you are going for a C# programming role then expect to get a question on what ‘immutable’ means in relation to the string and StringBuilder classes. However, do not be fazed or held back by my experiences – if anything when I felt good after doing an interview, I went into the next interview with more confidence, and any bad experience in an interview should be put to the back your mind as either ‘lessons learnt’, OR ‘that job is definitely not for me’.
For those of you who are nervous about interviews, or just don’t feel good about attending them – remember one thing that I was recently told by a Change Management course tutor, which is that someone is going to give YOU their TOTAL undivided attention for at least 45 minutes, and that it is an opportunity to interact with another human being, and that not many people during a normal day give their undivided attention to anyone for that length of time. So think of it as a privilege, and being a developer also think of it as a problem to be solved. So what if the person interviewing turns out to be a total a**hole? Afterwards you can think of it him/her as if they are a software bug that cannot be fixed because they have a virus infection.