
Why I Don't Prepare for Job Interviews - yoandy
https://dev.to/pbeekums/why-i-dont-prepare-for-job-interviews
======
dogma1138
>Cramming may get a candidate a job. But they won’t succeed at the job if they
don’t have the skills and experience needed.

This is a fallacy, you'll encounter things that you are not "qualified" to do
on the job all the time, not to mention that if you are applying for an
engineering job, or any other job that effectively requires you to solve
problems; then learning new things, performing studies and research and
finding a solution to the problem is your job description.

If the role is such that a candidate can have 100% of the experience and
knowledge needed to perform that role during it's entire lifetime than that
role is effectively the burger flipping of the tech world. This role is also
the easiest to automate since apparently all the answers and knowledge needed
to fulfil are known.

~~~
zzbzq
That objection could be seen as compatible with the original thesis in the
title, though. Equate the need to work with unexpected things on the job, with
improvising a job interview. In both cases, you need to expand beyond your
knowledge, but you also need a baseline of knowledge and ability to even get
started.

~~~
geofft
At a job interview you're typically not allowed to use the web and also
typically expected to answer a question within seconds instead of within days,
so the environment is very different from working with unexpected things on
the job. You _could_ design an interview process where neither of these were
true, but I think it's pretty hard and comes with its own downsides.

~~~
icedchai
I have done live coding exercises with candidates, allowing them to use the
web, etc. This is actually even more enlightening... you should see some of
the things people google, copy-and-paste, etc.

------
nunez
Good article, but I disagree.

When interviewers ask you all sorts of minutiae that are outside of your
experience and also _not at all required_ for your job, and when those
companies have extremely lucrative compensation and benefits package with
"dream" work cultures (for most), not preparing for that interview puts you at
a disadvantage for someone who has.

If you're trying for stretch roles that your experience doesn't cover for
whatever reason, not preparing for those interviews will put you at a
significant disadvantage.

Most interviews are set up to be an unnatural setting that is, unfortunately,
often set to work against you. This is changing slowly, but it is what it is.
Not having the skills to navigate that environment isn't bad per se but does
worsen your position against someone who has.

An example: if I'm a Rails developer that wants to become a SRE at Google, and
my current workplace is too small to give me the experience I need to coast
through their notoriously tricky interview, what do I do? Do I take this
author's advice and go in blind and wait for the beating that is about to
come? Or do I learn what I need to learn to get through it, fail once or twice
and iterate?

I would not be where I am today without having prepped for my interviews. I
also won't ever ding someone for prepping for an interview. Quite the
contrary, prepping shows that they care at least somewhat.

~~~
user5994461
> if I'm a Rails developer that wants to become a SRE at Google

Of course, you're probably not qualified for the position. Thus it's normal to
have troubles in the interview.

This sort of transition used to be done by joining a "junior" position and
getting trained on the job, without having to pretend to be a wizard.

Unfortunately it's hard to accept for one's ego that he has to continue as a
not senior when changing fields, and it probably makes no sense on a financial
perspective since an experienced ruby dev might earn more in his niche.

------
micheljansen
Good piece, but misleading title. There is a big difference between "cramming"
and preparing. Like the author says: "Preparing by learning about a company
and its product makes sense. But preparing for an interview by
cramming/studying material that is supposedly needed for the job makes no
sense."

When I get a candidate who has no sense of the job they are applying for and
is not able to ask meaningful questions, it tells me they don't care or don't
understand.

If you are completely unqualified for the job, you will be found out, but if
the difference in skill/experience is small enough, it's probably best to be
honest about the gap. In that case, "studying up" may be a risky investment of
your time, but at best it may show your commitment and at worst you will have
picked up some new skills :)

~~~
stale2002
The issue is that companies like Google EXPECT you to cram on algorithms
before the interview.

They will even give you a study guide!

Being really good at programming on a whiteboard is the name of the game. And
studying for this is absolutely useful, and not "cheating" because everyone
does it and is expected to do it.

~~~
bla2
I used to work at Google. I didn't study for the interviews, I just showed up.
It went well enough to be hired. I did study CS and know my algorithms and
data structures though.

~~~
marssaxman
Yeah, same here - this "cramming for the Google interview" concept is strange.
It's not like the interviewers asked lots of exotic trick questions; they were
just making sure I understood CS fundamentals and knew how to solve problems.
The interviews did add up to a solid, tiring day of engineering work, but it
all seemed like reasonable stuff - they were questions about concepts anyone
working at Google ought to be comfortable with.

~~~
stale2002
And some people don't have to cram for there intro to data structures CS
class.

Other people do though.

Perhaps you are one of those people who could just walk in and Ace the final
exam for an intermediate data structures and algorithms class taught at
colleges.

------
neogodless
> A candidate should have the experience to do the job well.

I feel like this is the least true statement in the article. A candidate
should have the willingness and ability to learn the skills required to
perform the job duties, and improve those skills over time. They should have
some basic building block skills required in advance, like understanding how
code languages work, and how to learn them, or how to communicate with
teammates and get difficult questions answered. But experience is probably not
what they need, unless only experience can build a specific skill (i.e.
product/market vision based on intimate domain knowledge.)

~~~
Jedd
I tend to agree. The article resonated with my experiences for the most part,
but some lines felt out of place, such as:

> Taking one of them would have set me back in my career since I would not
> have the skills I would have needed to do the job well.

There's a massive disparity in most jobs between experience demanded for, and
(potential) experience on offer to be gained from, the particular role.

When I've sat on the recruiter side of the desk I've always been a bit wary
about people who have a superset of the skills required for a job -- they're
going to be very bored, very quickly. When I've sat on the other side of the
desk I've had trouble verbalising, to the panel, the benefits of considering a
candidate who has 70-90% of the skills or experience they're looking for.

------
solutionyogi
His main argument seems to be:

>But preparing for an interview by cramming/studying material that is
supposedly needed for the job makes no sense. A candidate should have the
experience to do the job well.

I think it is a good ideological stance. However, what about the scenario when
you are applying for a junior position and don't have that much experience?

Moreover, as it has been demonstrated time and again, technical hiring is
broken. Some folks like to talk about high-level concepts; some folks like to
ask trivia and some others like to ask you to whiteboard the algorithms. If a
company expects you to use a whiteboard and you are not used to it, you are
not going to do well even if it is a topic you are familiar with (We don't
realize how much we rely on editor/autocomplete).

I am happy that he was able to find another job without preparing, but this
advice will not work for the majority of people.

~~~
Bartweiss
> technical hiring is broken

This was my first thought also. There are two issues here: One is: do you need
to cram to prepare for the job? But the other is: does the interview measure
your job preparation?

Most technical interviews don't. Even good ones that discern strong candidates
often depend on knowledge and memorization way outside the actual job scope.
(Often, way _below_ the job scope. O(N) palindrome search is not a
professional skill.)

So it's great to say that you should know what you need for the _job_ , but
conflating that with what you need for the _interview_ is an unproven leap.

------
monster_group
The author is giving way too much credit to the interview process and way
undermining his abilities. Interviewers are humans just like the interviewee
and the process can be (and is in fact) screwed up. Interview performance has
little correlation with actual job performance. You do whatever you have to do
get in the door and learn new skills on the job. He is missing out on some
great opportunities (and most likely salary) by having this attitude.

------
mamon
Cramming for an interview, especially in the early stages of one's career is
actually a great advice that helps you grow your technical skills.

If you can learn over the weekend just enough about some technology to pass
the interview , then, after you get accepted you'll have another month before
you actually join (standard notice period)

After that month of learning and another month of "onboarding" in the new
workplace no one would be able to tell the difference between you and someone
that has 1 year of actual experience in the given technology.

"Fake it untill you make it" \- that's how I got my first 3 or 4 jobs :)

------
bowlich
I held a similar attitude through college. An exam exists to test my knowledge
and abilities, give me a solid idea of what I learned and where my deficits
lay. It is not a test of short-term memory. If I didn't learn the material
good enough the first time, then it was a waste of my efforts to cram for
today.

Likewise with the interview. Sure, I look into the company, the requirements.
If they use libraries that I am unfamiliar with, I will review the
documentation so I have a general idea of what it does and how I can map my
existing skills against those libraries. But I can't become an expert in that
short of a time, and I wouldn't purport to be one in the interview either.

I have yet to do an interview that asked me to white board. I've been asked to
solve some fairly basic problems (of the fubar variety). But then again, I've
never applied to a business that was large enough that my resume and interview
wasn't handled by my future direct supervisor. I've no interest in jumping
through the hoops of a large bureaucratic corporation.

------
psyc
I think most devs would not be doing themselves a favor if they didn't "cram"
before a Google / Amazon / Microsoft style interview, even if they are quite
senior and very qualified to succeed in those companies. Assuming of course
they want such a job.

------
geebee
There's a big difference between software development job interviews and job
entrance exams that is often not evident on people who aren't deeply immersed
in software culture.

Interviews happen in every industry. An interviewer asks about your interest
in the company, your background, your leadership skills. Your technical skills
may be investigated here, but in a discussion format. You may be asked
questions about your knowledge of a database or perhaps a programming
language, but you won't be tested specifically on that language.

Then there's the technical "interview" that is really an exam. Google's
interview is a good example of this. You go up to a whiteboard, and the
interviewer says "write a method to convert an integer to binary. Now add and
subtract in binary. How would you square a binary number". You should be
writing code on the white board, in either a real language or very tight
pseudocode, to do this. Alternatively, the interviewer might ask you to find
your way out of a maze, probably through some kind of graph traversal
algorithm. Again, you really do need to write code that solves the problem.

This style of interview is indistinguishable from an exam. I think it exists
because programmers don't have an actual exam in their field. It might be
similar to asking a senior actuary to find the linear span of a vector space.
There was almost certainly a time when the actuary could do this, since the
actuary took an entrance exam on vector calc and linear algebra, but it isn't
something a senior actuary most likely walks around ready to do. It would
require re-studying.

As a few others have pointed out on this thread, there's a difference between
studying for an exam and prepping for an interview. I've resolved not to do
the latter anymore, but I really may simply not have that choice. The practice
is deeply entrenched. But the former, of course I'd prep for an interview.

And also, you know, I actually think it's a good thing that lawyers take the
bar, that actuaries take math exams. I don't think it's outrageous that people
who hire programmers would want to know that these programmers have, at one
time, passed an entrance exam on data structures and algorithms, binary
operations, and so forth. The problem is that because we don't have such an
exam in our field, we have to take a random and often unexpected version of
it, under conditions of secrecy, with no feed back, evaluated by people who
may not be qualified and who can be captious and arbitrary in their
assessments.

~~~
46Bit
I've had software engineering interviews that started with a written exam on
general math, linear algebra, pseudocode and a little system design. It was
quite enjoyable and refreshing compared to most verbal interviews.

~~~
magic_beans
It's amazing how what can be "enjoyable and refreshing" to one can be the
zenith of horror to another...

~~~
46Bit
Yeah! Ask me in a few years and I'm sure feel equally horrified. This stuff is
very fresh in my mind at the minute, but it'll fade :-)

------
stale2002
What world does this guy live in where he is being asked relevant questions to
the stuff that he would be doing at work?

Sure, if we live in this fantasy world, where the person who passes the
interview is by definition going to be good at the job, then his advice makes
sense.

Unfortunately, the world we live in is one where you have to program
algorithms on a whiteboard to get a job in web dev.

And for THAT world, it absolutely makes sense to study this material that you
don't use in your job, but are being judged on.

~~~
vinceguidry
I've interviewed for at least 10 web dev jobs in my career and have never been
asked to whiteboard anything.

------
spapas82
For me, preparing for an interview for weeks (or maybe months, I've even heard
of interview preparatory courses) by reading exam-like stuff that won't have
any effect to your job but are interview preparation only is an insult to my
personality. I would never do it and of course I don't want to work on
companies that don't respect me. The most important perk for a job (for me) is
to feel respected.

~~~
sdflkd
Can you retire on respect? :)

------
mannykannot
There is an important caveat in the last paragraph of the article:

"Granted, all of this implies that companies have actually created an
interview that actually tests the skills needed for the position they are
hiring for."

~~~
pkd
Yes, and I am surprised that this wasn't at the _start_ of the article
instead. Very few companies have interview processes that test for the actual
skills required on the job. Certainly not any of the big 4.

~~~
Markoff
what are the big 4 - amazon, facebook, google and microsoft? apple doesn't
qualify?

~~~
pkd
You can take your pick. I am not constraining anybody :)

------
groupuser
The author makes the implicit assumption that success in a software interview
means success in the workplace, and vice versa. This may be true for some
interview processes, but this idea can't be generalized across the industry.

------
sage76
>Cramming may get a candidate a job. But they won’t succeed at the job if they
don’t have the skills and experience needed.

Nothing any of us can do about it. It would mean avoiding all mid size/larger
tech companies. I am looking for a change, and I am preparing heavily. Algos,
data structures, design stuff.

>Granted, all of this implies that companies have actually created an
interview that actually tests the skills needed for the position they are
hiring for.

I think he meant "assumes" not implies, but this is the crux. They test what
they test, and if it possible to game it, people will do so.

~~~
gspetr
Can I ask you to share info on what you're using to study for the design
stuff?

~~~
sage76
Hi-scalability. That's all they seem to ask these days, "How would you design
twitter?" etc.

The only other resource is questions from actual interviews that people put
up. To be honest, I find it hard to prepare for this part too. Algos are easy,
once you do crack the coding interview and a few online questions.

------
abecedarius
The one time I crammed for an interview, it worked, but it was an unusual
case. The job was to work with Peter Norvig at the search startup where he was
chief scientist, back in the 90s. So the day before, I took his book AI: A
Modern Approach and reread the chapters on natural language. An upcoming
interview concentrates the mind, and I noticed several mistakes, including a
bug in the pseudocode.

(They did offer the job, but for not enough money after I naively answered the
salary history question. Oops.)

------
pm24601
If practice didn't work - how come every professional performer practices
regularly?

Quite simply it is because performers: sports stars, musicians don't have the
time to think about how to perform - it has to be "muscle memory".

In an interview, a candidate needs to have the muscle memory to do the work in
a timed manner. I have had candidates say they know Java and then not
_demonstrate_ their knowledge. (They might indeed know Java well - but have
been out of practice!)

I suspect the OP is a very smart person, who can "muscle" his way through most
interviews. Most developers are mere mortals and can not pull it off. This is
the danger of listening to exceptional people - their techniques do not apply.

\----

As for preparing the candidates by letting them know the questions, as an
interviewer, I want to judge the candidates based on their _best_ performance.
At my company we have a very practical approach to interviewing - it starts
with _no_ brainteasers.

And yes we are hiring for all levels! (reply if in the bay area)

------
ffn
Honestly, the best route IMO is to actually maintain an open-source portfolio
of work. This obviously isn't feasible or possible for everybody, but if you
can contribute to OSS, doing so is easily the best way continuously test your
mettle and prove to your future employers, partners, and the general community
that you're someone they want to (or don't want to) work with.

The true value of the face-to-face interview really should be getting a feel
for the person - is this person someone I want to work with? Or will this
person make me want to kill myself whenever I step into the office? - not to
gauge technical prowess or whiteboard prove-you-are-smart-and-took-an-algo-
class-in-college challenges

------
smnscu
I agree, some years ago I prepared for a month for a Google SWE interview and
still failed. I haven't prepared for interviews since, nor asked to write
code. Last time I interviewed at Google for a SRE-TPM position I was asked
Python trivia during the phone screen, which left quite a bad taste in my
mouth.

[Shameless plug, feel free to skip] However, if you do want to prepare for a
Google-style interview, I maintain a list of resources here:
[https://github.com/andreis/interview](https://github.com/andreis/interview)

------
dlwdlw
This disadvantages you for IC roles, everyone else is sprucing up their
plummage.

It's an advantage is you want to self-select out of code-monkey work. Like if
you want to be an "architect" or "strategist"

------
warcher
If you have to whiteboard code, I would strongly advise practicing. It's
pretty loosely related to your day to day workflow, but some places are
committed to it. You can get burned with a false negative just because you're
not familiar with the paradigm.

It's like the SAT. You can't study but you can absolutely practice, and
practice _will_ improve your score.

But if you gotta spend time doing anything job hunting, spend time talking to
people in your network.

------
UK-AL
Unfortunately I don't think interviews are a good tool for working out
someones suitability.

Interviewers have so many biases and pet interests. If you happen start
talking about something technical(Some side project using x technology) you
both enjoy, you instantly get on, and its great.

If start talking about a side project the interviewer has no interest or
knowledge in, not so great. It becomes hard work.

There is an element of luck about who is interviewing you.

------
ungzd
> But preparing for an interview by cramming/studying material that is
> supposedly needed for the job makes no sense.

Usually people prepare for job interviews by cramming sorting algorithms,
balanced trees, answers to questions like "why are manhole covers round?", and
similar things unrelated to job.

------
loukrazy
I feel like part of preparing candidates for interviews is so that they feel
calmer during the interview and know what to expect. I doubt you get a very
clear picture of someone's capabilities in a short interview if they freeze up
from stress.

------
icedchai
I don't prepare, either. I figure if I can't get hired on my natural
abilities, what's the point?

I did make it to an in-person at Google. I failed the interview. The recruiter
did encourage me to prepare, though.

------
joshstrange
I always "prepare" for interviews, I learn about the company, what they do,
their stack if it's public, etc. I don't bone up on my knowledge of
programming or how to implement an N(x) sort or anything like that. If I don't
know it then I don't know it and cramming to try and show off that yes I
listened in my CS classes back in college seem disingenuous and misleading. I
will succeed or fail on my own merits and I will not pretend I'm something I'm
not. I know what I know and if that is not the person they need then it's
better for both of us to walk away and look for something that better fits our
needs.

~~~
jhgjklj
Not practical for a guy who depends on salary.

~~~
joshstrange
What do you mean by that?

~~~
Markoff
people who depend on salary have to pretend to get the salary. if you can
afford not to have job, then you can take more idealistic approach

imagine you have low savings and you support your wife and small child at
home, can you afford to sit at home for months until you find good match
without pretending and cramming when it obviously work for some companies?

------
lemonsqueeze
I don't prepare either, except to learn about their product and vision.

Why? Because I am the prize.

They should be happy talking to me, let alone kicking ass for them (and
getting owned on taxes, working in some shitty open office, and regularly
dealing with deadbeats).

Man I love remote consulting.

All results focused, much higher pay, tax savings (I'm incorporated), and can
tell any client to fuck off whenever I want.

Working as an employee is like having a parent dictate your life.

Catered lunches, hackathons, useless toys and shit in the office, telling me
how often I can go out, telling me how many "days off" I get.

I had a mother do that stuff for me as a child, which was lovely at the time.

You're a 30+ year old man, and you still need/want someone to feed you, dry
clean, and bless you with X days vacation that you have to communicate
upfront. Please.

I don't need anyone's permission to fly to an all-inclusive resort to swim in
the ocean, eat great food, and kick ass everyday on my commitments.

