Why developers need interviews?

Short introduction
Just a year ago I couldn’t imagine writing this blog-post, but since I passed some experiences I’m really convinced for what I am writing here. If you are employed (self | corporate | startup | freelance | other type 😀 ) don’t just say: ou this post isn’t for me?! but please read till to the end because you’ll find something interesting even for your profile. I just want to show you here my two past interview experiences shortly and lessons I learned from them.

Job interview

Some days ago a friend of mine referred me to a mobile company in Switzerland, and after scheduling our skype conversation I had an interview with their CTO. That guy was incredibly calm, skilled, well-informed, great programmer (in past) and good manager (now). In his shoulders he has carrier years equally to my age. But beyond these facts we did a great conversation. I went in that interview without reading anything or preparing little bit and some questions just surprised me, but I managed somehow (because of my experience). I applied there for Windows Phone developer but since he has reviewed my CV I was asked for a whole application lifecycle and all-techs from top to bottom, required to build an application, from UI techs to databases. And, after two and half hours conversation I was tired but I learned a lot. I learned things I didn’t know before, and I couldn’t imagine without happening to me.

Lessons learned

Don’t go in interview without preparing, even if you call yourself genius. Repeat things because repetition is mother of learning and remembering I can say!

Don’t expect to be asked just for tasks related to position you are applying!

Know position you are applying!

Read about company, you want to be part of, their (work) culture, and their expectations for you!

Fun part

I tried to cheat (leave topics he asked me, and start talking for something related) in some parts (even for fun and even for small memory delays ) but he was very crafty and educated person and let me finished my explanation and just repeated question I avoided 😀 .

Interview questions

Second interesting experience (in this story) was with a US company I applied online. After receiving my application they contacted me to confirm my data and they sent me a test (technical test). I was out for café with friends and I received email in my phone with technical test. I opened and saw just three questions / tasks :D. Huh, easy task I thought, and I closed to continue with friends. But when I started to answer in that test in next day (because I neglected for a day ) I found all hard and super-tricky questions that took me already a day to answer. Write code, do explanations and make prove as they required.

Lessons learned

Don’t neglect even easiest interview / test (you think so)!

Don’t lose time in answering questions you received!

Don’t wait for an easy process in earning something big!

And, why developers need interviews?
I learned that if you‘re part of interviews, as developer, you will:

re-learn (re-remember) all basic concepts of technical things

prove you knowledge in front of a person who is well-prepared for you

feel adrenaline that tests / interviews offer

test yourself in controlling your emotions, reactions and behaviors

train your brain with totally unexpected things

prove (to yourself at least) you’re on right track in advancing you career

learn new things about other entities (companies)

So, what about future, for me?! Personally, I’m continuing to learn new things! I am continuing to be interviewed because I am seeing interviews as a process to stay up-to-date and well-prepared all the time. What about your opinion? Post in comments …

12 thoughts on “Why developers need interviews?”

Hi Betim,
I’m very proud to have such an friend and brother that shares experience (world wide :D), of every ‘action – work’ we finish (or start at least), we learn something new (at least most of them), from each work we expect good ‘end results’ that actually gives us an ‘kick’ to move forward, from time to time even developers want to achieve the best of himself/herself about knowledge and of course after that they want something new to learn. One of human weakness is ‘underrating things’ and without that we wouldn’t be considered ‘normal human’.
Thanks for those great-full tips
Muli

Nice post. I just don’t agree with these learned lesson:
“Don’t lose time in answering questions you received!” I think that you should help people. By answering questions made to you you can learn better what you were asked for.

I must say that some companies they do not require a code sample before even precede to the interview stage they doing wrong. It’s bed to begin interviewing a programmer without looking at their code first. They hiring with one interview maybe not test and if applier knows some tricks (and I’m sure you can find a lot of questions in internet for interviews) applier can pass that interview. SO in my opinion they should (companies ) change method how they hunt good programmers (Like Google, Microsoft and other big companies do it). By the way good post.

Being in both sides of the table (interviewee and interviewer), I can tell you that, in my own experience, the best results in finding the proper programmers for the positions we advertised were when we actually got the people onsite and asked them to sit in front of the computer and write a small application that covers the key points for the job advertised.

One concrete example I can give you is that while ago we were looking for a WPF programmer with an in-depth MVVM knowledge who also had experience in a multi-threaded UI apps. So we decided to that to test for MVVM we needed to ask the candidate to write a small UI application that would have 2 different user controls on the screen and make them talk to each other. By crafting the requirements in such a way and creating a project with a skeleton code (just enough to keep the candidate in the right track), we were looking for the candidate to use Dependency Injection for object creation; data binding and Data Templates, styles, triggers and converters for displaying the data; Event Aggregatior for passing messages between user controls. This would be absolute minimum requirements before we would consider the candidate. The next set of requirements would be for the candidate to use dependency and attached properties to extend functionality of existing UI controls, use different threads and tasks to run long-running tasks on the background, and create a custom control from scratch.

If the candidate finished and after looking at his code, we decided if we would call the candidate for the next round of interviews which would be technical questions about the code that he wrote on the first interview, and then the last interview would be with HR department.

To our surprise a lot of candidates who claimed to be expert WPF developers failed on the first interview (writing the application) especially on data templates and event aggregator.

The whole process of interviewing was very tiresome (we interviewed about 60 candidates in total), but we finally did find a few very good candidates which we hired. So in the end even though the process was long and tiresome, it proved to be quite successful and the company decided to use it as a template for recruiting new developers.