
Ask HN: Are dev interviews hard or am I just incompetent? - muse900
Went to a few interviews. 1 was with amazon... ok I was expecting the interview to be quite hard.<p>Then went to some small companies and had the same complexity of technical tests with amazon. One of them asked me to code on a board.<p>Should I just look to change my occupation completely? Am I incompetent or people are asking way too much nowadays?
======
nickpeterson
I think it's cultural.

Many developers lack traditional credentials. Others have credentials but
didn't really learn the material. Companies know that hiring bad developers
can really hurt performance, morale, culture. So big tech firms that do lots
of hiring decided to invent tests to screen applicants. Smaller firms decided
to follow suit since large companies were doing it.

If you truly want the jobs on offer, you probably need to cram a bit to pass
interview tests. This is easier than it sounds, remember that it's likely
going to be tests about the basics of well-known structures and operations
(tree traversals, hashing, et cetera). I know it's annoying since it rarely
comes up day-to-day, but the worst case is you learn your craft better than
you need to.

Another route, go into parts of the field that don't have this requirement.
I've noticed that certain areas (ERP Development, SQL DBA, etc) don't tend to
focus on this and are more concept oriented in interviews. I think it's
because you don't really build the tooling, but rather use it solve problems.
Also, the job usually isn't for a company that makes its money from software.

No judgement (I'm a former ERP developer turned SQL DBA, so I'd probably fail
most of these interviews spectacularly).

------
telebone_man
I would say you need to incorporate a mix of honesty and ingenuity into your
response to these situations.

If you're asked to 'code a solution to this problem on the whiteboard', the
honest answer would probably be that you normally use google for reference,
old code etc. and the ingenuity would be for you to write some psuedo-code on
the board, anyway.

I think this applies to lots of questions.. "Can you tell me how you would
sort this data set?". "(honesty) I don't know how, off the top of my head but
(ingenuity) I know I could utilise an algorithm and I would probably
google/research which would be most appropriate".

I'll finish with an anecdote.. in my first IT interview (server builder) I was
asked to tell the interviewer what RAID stood for, and which type I would use
to ensure my data was safe if one drive blew up. In my inexperienced state of
mind, I murmured and was clearly distressed. The interview interrupted and
said "If you don't know the answer.. just tell me you don't know, and that
you'll find out and tell me later".

The lesson there is, sometimes there isn't one clear answer to an interviewers
question.

Good luck :)

------
davelnewton
So far all you've said is that they asked you to code on a board and that they
were "hard". Without knowing _why_ you found them hard it's impossible to
provide any meaningful input.

~~~
muse900
Sorry about that and the late response.

I was asked to balance a binary tree on a whiteboard!

I walked out of there instantly, but generally all the interviews I went to
had very similar questions.

~~~
davelnewton
But what's the specific issue with a question like that?

I agree that it's rare that we have to write low-level functionality like this
any more (I _have_ had to write such things, however). I argue that basic CS
knowledge isn't useless and actually _does_ matter in the long run.

------
svennek
I think that potential employers always wanna stress you a little to see, what
you really can and what is bravado.

Good companies might still press to hard (but not give you penalties for
failing way-too-hard questions).

Also it can be a tactic to see, how you handle stressful and unknown
situations (which might occur often depending of your specific line of work
and industry).

I have made interviews (as the employers' helper) with live coding exercises
on a computer, and even if they technically failed I recommended hiring them
anyways as I was obvious that their skills where okay but their performance
"issue" was stress-related..

That said, I know nothing of your skill level, so YMMV...

Btw. small companies have similar problems, often just on a much smaller scale
(not that it necessarily makes them easier to handle, especially because they
have much tighter ressource constraints (less money))

~~~
itamarst
Whiteboard coding is nothing at all like real work. In your real job you never
code on a whiteboard with an arbitrarily short timeline, without access to the
Internet while stressing about getting a job.

It's just a hazing ritual.

~~~
davelnewton
Whiteboard coding is one way to understand how a person thinks about a
problem.

Regarding arbitrarily-short deadlines--the only difference is that IRL it
wouldn't be on a whiteboard. Deadlines are still arbitrarily short, and people
will be watching you work.

I've never asked someone to code on a whiteboard (I tend towards paper anyway)
as anything remotely approaching hazing, which is specifically designed to
humiliate, demean, or over-stress.

------
dredmorbius
They're hard, quality assessment (on both sides of the table) is hard, there
are many incompetent managers (as there are many incompetant techies), and
it's a frequently-visited topic on HN.

[https://hn.algolia.com/?query=interviews&sort=byPopularity&p...](https://hn.algolia.com/?query=interviews&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

[https://hn.algolia.com/?query=recruiting&sort=byPopularity&p...](https://hn.algolia.com/?query=recruiting&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

More generally, quality assessments of tacit knowledge are intrinsically hard.

------
itamarst
Whiteboard coding puzzles, and interviewing in general, are a distinct skill
that usually has nothing to do with actual job performance. You can be bad at
interviewing and still be a great employee, and vice versa you can be a great
at interviewing and a bad employee.

You should treat it as a new skill to acquire, however annoying and pointless
that is... or figure out ways to get a job without going through that. Some
companies have better interview processes.

Re coding on a board, here's how I deal with those:
[https://codewithoutrules.com/2016/04/04/interview-
puzzles/](https://codewithoutrules.com/2016/04/04/interview-puzzles/)

~~~
sevilo
I very much second this. I remember I had so much trouble landing my first
internship that I was near the point of dropping out my CS degree to switch
major.

After a few internships and also landing full time positions, I realize
interviewing is really a distinct skill that's apart from your ability to
perform on the job. Especially with companies that make you do coding puzzles,
you have to treat it as a standardized test and put some effort into studying
for it.

With more interview iterations, you'll also become better at presenting
yourself and showing confidence (which I believe will have a major impact on
people's first impression on you).

------
bsvalley
Welcome to the job market :) you should run a quick search on HN people have
been talking about that a lot lately.

Long story short - all the tech companies have adopted the google model in
order to evaluate candidates. In other words, generalists are in high demand
right now and of course in early 2017 there's a higher supply than demand.
Companies, small, medium and large can pretty much do whathever the heck they
want.

------
Avalaxy
So... You couldn't get hired by a top company so now you think you're
incompetent...? I think I miss the logic here. You know, try interviewing at
companies that do not belong to the top 5%.

