Hey, what's up, John Sonmez from simpleprogrammer.com.
I got this question about online whiteboards.
I did a video on whiteboard coding interviews that you could check out here, but this one
is about online ones.
I thought I’d answer this.
Similar answer but I think it’s slightly different here.
I got this email and he says, “I hope you are well.
I want to know what are your thoughts on these that I call ‘online whiteboard sites’
like HackerRank or Codility.
Do you think they’re a solid and proper way to find good developers?
When I’m applying for some companies a lot of those companies send me these tests and
worse, you have little time to complete them.
One company sent me a HackerRank test with a timer of 40 minutes and 5 algorithm questions.
One of the algorithm questions was to implement a binary tree using X, Y and Z that’s nearly
impossible to solve if you don’t know the answer previously.
It’s not like that in the real world.
Why do companies insist in using this to approach to hire developers?
If you’re going to answer this question in a video please keep it anonymous.”
Okay, well, it’s anonymous.
Here’s the thing, the biggest fear that a company has is hiring a developer who actually
can’t code.
I know this sounds silly but a lot—I have sat at the interview table and trust me, I
have interviewed developers that actually had multiple jobs on their resume that you
could verify that they actually got paid as a software developer, some in the senior positions,
some in the architect positions and when I ask them a simple coding problem they couldn’t
code.
They could not write code.
I don’t know how they got by.
Maybe they’re just fixing bugs or whatever they did, but that’s the biggest fear that
you have hiring a developer because that’s an expensive hire and sometimes it’s hard
to get rid of people.
Sometimes you don’t even know because they could bring down the whole entire team.
There are some people that are such a negative asset especially a developer who can’t code.
That’s one of the reasons why I’m actually for doing these online coding tests because
I think it’s a good filter.
Now, here’s the problem.
This is what people get upset about.
They’re like, “Oh, it’s not like the real world.
We don’t have to solve these coding problems on a whiteboard and a time test in the real
world.
That’s not how it works.”
True.
But it’s a filter.
If you can do that, if you’re the kind of developer that can actually pass those tests
then you’re probably really good.
When you get a thousand people apply for a job, if you can have a really good filter
you’re going to lose some of the good people, but that’s fine, you don’t care because
you have enough to choose from and you never want to make a mistake.
The worst thing as an entrepreneur, I can tell you right now, the worst possible mistake
that you can make as an entrepreneur is to hire the wrong person.
That’s the worst possible mistake.
It will sink you like nothing else.
So if you’re risk adverse, if you’re trying to not make the worst mistake possible which
is hiring the wrong person and you have a lot of people trying to come over through
a really good filter, a really hard test is a good one because you know—like I said,
some of the people that you’re going to filter out that can’t pass the interview,
the coding test, they might be good developers and might have actually been good on your
team, but you know that the people that do pass it that they actually can code and they’re
skilled developers and they probably have invested time in honing their craft and learning
about these kinds of tests and actually enjoyed maybe even doing this type of thing.
It doesn’t mean that they’re an instant hire, but it’s a really good filter.
At that point you’ll still have to interview them.
Here’s my advice to you, get good at this stuff.
It’s not very hard.
There’s a book that I always recommend even though it does better than my book on Amazon,
Cracking The Coding Interview that’s a good book.
Before then I talked about—I became a good developer when I started doing Top Coder competitions
learning these algorithms.
Just go through that book and learn how to do those.
There’s a handful of different algorithms.
There’s a set of different algorithms and if you understand the data structures, the
set of data structures and there’s combinations of them and there’s only so many types of
problems.
If you can solve these kinds of algorithm problems not only will you become a better
developer, you’ll interview better and you’ll always pass those tests and you’ll never
be nervous about them, so why not do this?
Devote a couple of months of your life to gaining this skill and it’s going to benefit
you for the rest of your career so do this.
If you’re not willing to do this and you’re like, “Well, screw you.
I don’t have to prove anything to you.
I’m a good developer.
I’m not going to do your test.”
Well then you’re exactly the kind of developer I wouldn’t hire.
I want to hire people that are eager, that will do what it takes, that are willing to
go above and beyond and so maybe that’s the filter that they’re filtering against.
Anyway, no offense to you.
I don’t mean to offend you but I’m just telling you the truth.
This is how it is.
This is what reality is.
I have this video about looking in the mirror and facing reality.
It’s important that we face reality.
The reality of the situation is companies are doing this.
You might not like it.
You might not think it’s valuable but they’re doing it.
You can either get angry about it and fold your arms and be like, “Screw you guys”
or you could actually conform to reality and actually be able to pass these tests and be
the best at these tests.
To some degree it’s a good thing because it means that if you are willing to devote
the time to get good at this kind of thing you have less competition.
They’ve weeded out the competition for you so why would you not get good at this?
It doesn’t make sense to me why someone would fight this.
Anyway, hopefully that sort of explains the situation for you and gives you something
that you can do.
If you have a question for me, email me at john@simpleprogrammer.com.
If you like this video, subscribe to the channel.
I'll talk to you next time.
Take care.