Whiteboard interviews suck, you don’t need to be told why.
Data Structures aren’t everything.
I was just asked to balance a Binary Search Tree by JFK’s airport immigration. Welcome to America.
— Celestine Omin (@cyberomin) February 26, 2017
Since the Omin incident has happened, many senior developers from reputed organizations are confessing about their usage of the internet on a daily basis to refer CS fundamentals.You can refer this article by the outline to find all the major mentions from twitter. Truth is, there is no shame in doing that. Knowledge of data structures is important, yes. But then, it is not going to be part of your day job to write out programs for trees on a whiteboard. We are humans, and there is a reason documentation exists. Unless there was an apocalypse which destroyed all documentation and every developer’s hard drive, I do not see any reason why developers have to know the codes of all data structures by heart.
Not only is it archaic, it also reduces the diversity of the people you hire. Whiteboard interviews are favoured towards young college graduates with CS background. It only helps you get one kind of tech talent, and for the success of any firm, that is not beneficial. The most creative people (the problem solvers) are the ones who come up with new things. They can look algorithms and structures up because they are trivial to them. And these are the kind of people you want to hire. When you worry about the more important things, you can choose the ignore the simpler ones. But unfortunately, major companies do not seem to agree.
A quick peek at what A1 developers think
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
— Max Howell (@mxcl) June 10, 2015
So what are the alternatives?
Well, this is something that companies are experimenting with. More and more companies are willingly trying new and different things out.
As a testament to this fact, it is clear that there are more than a few alternatives to the rigged whiteboard interview on the table.
The following alternatives should give you good enough idea on how to proceed:
Give candidates work relevant to their actual role
Include things that the developers would be doing on the job. As mentioned before, there is nothing better than getting an idea of the person like having him do the actual work. Under correct supervision, you will more often than not find out if the person is worth taking in, and if he/she is a team player and can fit right in. This investment is much better and fairer for you as well as them.
Take this example, if I want to hire a web developer for my team, and I have a project that requires some attention from a developer. It would be great to find out how this person would be working with my developer to come up with a solution. This also gives me a more than brief estimate of how well they gel with my existing team members. I get a ready project code to test them on, and I also find out if they are actually interested in the work we offer. Because it is never a one-way street, it is always important to know if the person likes what we have to offer as well. And in many cases, it may be too late before you find out things for the worse. It’s better to be safe than sorry. And in case of critical hires, it’s 100 times more important to not be sorry.
Give them Take-home Assignments.
The thing with Take-home assignments is you give the candidates the comfort of their home to work at. Many might consider this a bummer because they eventually have to work at your workplace. That is true, but nervousness hits the best of the developers, and especially when it is an important interview, I’d be willing to bet it is just about normal.
The other great part about this entire thing is you can choose to provide assignments that reflect what the job will entail. So what info this provides you, is when the developers get comfortable, how much of a contribution can he/she make to your team. Because the initial few days might not be the absolute factor to decide either. When you give time to work on something that actually relates to the job, and gives them the familiarity of their home to get it done, the results are usually much better.
Try to keep these things in mind though.
- Ensure a fixed timeline. Ask what time they want the assignment handed to them. Share the assignment a good ten to fifteen minutes post that time.
- Send something that gives a clear idea of what the work will involve.
- Make the deadlines clear. Ensure that you give sufficient time, but not too much time for them to slack off either.
You might, however, run out of take-home assignments to give to prospective hires. Xobin has an arsenal of over 10,000 readymade questions that will suit each one of your needs. Click here and try Xobin now to revamp your hiring.
Extension of Interviewee’s Past Projects
Interviews typically involve putting the applicant through multiple rounds of grinding tests. Applicants often underperform in such stressful situations. A good way to conduct the interview process is to keep applicants in their comfort zone. This is something I have not seen a lot of companies adopt. The idea is to take an existing project of the applicant(let’s take an android developer in this case) and remove a couple of functionalities from this project. Get developers to code back the functionalities to complete the project again.
A quick code review can give a good idea about the Quality of coding, naming conventions, unit tests and ability to write scalable and extensible code. The interviewee owns the entire previous codebase hence they are in their comfort zone as well. This enables the interviewer to get a first-hand idea of their working style.
The fact of the matter is, there is no one clear way of finding the best match. If there was, everyone would be using that. So it falls to us to keep working on new and more radical methods in order to discover the one that works best for us. Remember, what works for me does not necessarily have to work for you. And that is why you need to figure out your own sweet spot.
All things considered, Whiteboard interviews maybe were a good idea back in the day. But now their use is more than questionable. With many alternative options in recruitment technology that allow pair-programming and video interviewing, there is barely a need to fly a person in from a thousand miles away for a whiteboard test.
Xobin offers a complete suite, which tests developers based on actual take-home assignments and product based questions that assess them to the best of their abilities. It also lets you interview while testing developers at the same time.
And for developers who have to go ahead and face the dreaded whiteboard anyway, please refer this blog by Patrick Collins of Google.