
I interviewed at six top companies in Silicon Valley in six days - voroninman
https://blog.usejournal.com/i-interviewed-at-six-top-companies-in-silicon-valley-in-six-days-and-stumbled-into-six-job-offers-fe9cc7bbc996
======
rossdavidh
When I was a new college grad, I felt trapped by the fact that everywhere I
looked they wanted several years of experience, and I had none yet. How can I
get experience if it's required to get the job?

Now that I am 51, I feel annoyed that all of these stories of interviews
involve asking questions about algorithms that rarely come up in real coding,
and if they do you should NOT be rolling your own code, you should use the
established, battle-tested solution that is out there on the internet if you
spend 60 seconds looking for it. Much more important is to have the experience
of how code complexity accumulates, and how to mitigate that. I cannot spend
hours and hours studying up on these algorithms, there are much more important
things (real coding-related things) which I need to learn about, to the extent
I have time to do that. What should I choose, pytorch or keras? React or Vue?
Go? Kubernetes? Spark? All much more important questions than how to do a
breadth-first search.

So, was I wrong then? Or am I wrong now? Perhaps both.

~~~
acpetrov
I just graduated, so I'm not dealing with constant internship interviews
anymore, but at the time I absolutely hated it.

My frustration isn't exactly like yours (my time is probably a lot less
valuable). I feel that the questions are all geared at puzzle solvers.

If you're a puzzle solver, you love answers. You love digging into the
details. You love finding out the basic components of a system. I think these
are the people who excel in academics.

Almost every other intern I met once I got to the bay area was a puzzle
solver. They were also competitive and had amazing grades. And these people
LOVED algo questions. Over lunch, they could go through half a dozen
questions.

I slipped through the cracks I guess. I'm bored by puzzles, have awful grades
(and in a worse program), and not so competitive. What I do enjoy, however, is
building up. I like modeling and being about to think at greater and greater
levels of abstraction to solve problems that aren't puzzles, but instead open
ended questions.

Anyway, I think both of these types of people have a place is software, and
only one is given attention

~~~
jsmeaton
Honestly, it sounds like you may be geared more towards software architecture
rather than software development. If you like the sound of the bigger picture
more than the details, it might be something you could look into.

~~~
opportune
Is it possible to even get into software architecture without pretty
significant experience? From my experience in the workplace anybody making
purely architectural decisions without having to implement them is a team lead
or higher in the organizational architecture.

~~~
phrh8
Not sure it would happen that way out of choice, but the role can get
unexpectedly thrust upon someone, experienced or not (Think startups,
desperate to make ends meet with a handful of inexperienced engineers...or
even at medium sized companies, remember back when Google had "20%
projects"?). At startups especially though: they don't have money to go out of
their way to hire an overpriced "experienced software architect"...

It goes something like: "Hey, new Engineer, I need you to work on experimental
feature X". - Then the engineer builds system Y to provide feature X, probably
poorly architected and not scalable, not expecting it to go anywhere. Some
months later, app containing feature X gets distributed to thousands of users,
or goes viral and hits millions of users.

Congratulations, like it or not, you have now become the lead architect of the
now-widely-deployed "experimental" system Y, and you are going to either crash
and burn or become a damn good software architect by maintaining it out of
sheer necessity. Later, you find yourself putting "Lead Software Designer" on
your resume, having earned that role and title.

A lot of successful software was originally designed "by mistake" and grows
far, far greater than its original purpose. And in contrast, you get the well-
designed software that was properly architected, but never goes anywhere
because it never saw the light of a successful deployment at scale.

~~~
bmiller2
I think you’ve accurately described the vast, vast majority of production code
that’s hasn’t been through a second wave of engineers/management and
rewritten. If it works, and requirements aren’t changing, then your MVP has
become the gold standard

------
guessmyname
> _If it’s of any use: I was interviewing for my second job out of college
> with about two and a half years of experience without any particularly
> notable internships or employers on my resume; I went to a very small school
> that had zero known software companies at their “career fair”; I started
> preparing in late April and started applying in June /July; and, lastly, a
> few months in, my job is everything I could have possibly dreamed of._

Wow, that’s amazing! Congratulations to the author because this demonstrates
they have genuine talent.

In contrast, I’ve been a programmer for 10+ years, and I cannot pass the
technical interviews in the companies mentioned above. At first, I thought the
reason behind my failures was a lack of formal education in Computer Science,
so I started reading more books. Then I thought, maybe it’s the fact that I
spend more of my “productive” hours in my job just doing lumberjack web
development, so I started participating in competitive programming _(LeetCode,
Code Golf, HackerRank, Code Wars, among many others)_.

Finally, I realized my brain needs more time than the average programmer to
find patterns in this type of problems.

I gave up on my goal to land a job in one of these big corporations.

However, I don’t feel bad about giving up, in fact, thanks to all these books
and competitive coding exercises, I was able to find two of the most exciting
jobs I ever thought I would have, for 4+ years I worked in the software
security industry doing Malware Research and building infrastructure tools for
other security researchers. Most recently, I entered the game industry, and
finally, I can use my algorithms and data structures for non-trivial projects.

Interestingly, I’ve been recently getting more messages by recruiters who want
me to work for some of these companies. I politely decline the invitations
because I know I cannot pass the technical interviews, but I promptly refer to
some of my colleagues because I can see my younger self reflected in them, and
I want them to have the experience that I couldn’t have to work for one of
these companies. Even if they work only for a few months, as many people burn
out, having the company’s name in their resume will grant them dozens of new
opportunities.

~~~
odorousrex
I cannot help but think that these big tech companies (FAANG, et. al) are
missing out on diversifying and increasing their engineering expertise by
passing over developers like you.

I often think what would Google/Facebook would be like if they hired in some
experienced engineers that may not be able to whiteboard a BFS tree or can
tell you Djikstra's algorithm, but have proven business track records of
getting projects done, on budget, and on time. Real, pragmatic, get-it-done
types of engineers. (That's not to say whiteboard expert engineers can't also
be this way - it's just that whiteboard interviews don't hire for this in
particular - technical expertise comes first)

There was an excellent comment on another thread yesterday (that I can't find)
that basically said something along the lines of "If I'm asked about BFS trees
in an interview I'm going to tell them I'm just going to google a library that
can handle it - I've got more important work to get done"

~~~
andrewla
The technical interviewing scheme is not great, but I haven't seen another
system that works.

> I cannot help but think that these big tech companies (FAANG, et. al) are
> missing out on diversifying and increasing their engineering expertise by
> passing over developers like you.

I think this is certainly true.

> I often think what would Google/Facebook would be like if they hired in some
> experienced engineers that may not be able to whiteboard a BFS tree or can
> tell you Djikstra's algorithm, but have proven business track records of
> getting projects done, on budget, and on time.

Well... how do we find these people? By looking at their resumes where they
claim this? By contacting references who will attest to it? By trusting the
intuition of subjective evaluators of the candidates?

Practically speaking, FAANG companies do hire such individuals, they just do
it through acqui-hires. If a person works at a company that is good enough to
be worth acquiring, then we have a good signal that they are effective
employees even absent a direct evaluation of their technical abilities.

~~~
dom96
> Well... how do we find these people? By looking at their resumes where they
> claim this? By contacting references who will attest to it? By trusting the
> intuition of subjective evaluators of the candidates?

While not perfect I wonder if a person's projects are a good signal for this.
There certainly are those who have developed a significant open source project
but who get rejected by the FAANG companies, the author of Homebrew being a
recent infamous example.

~~~
jd20
One unfortunate side effect of being at a FAANG company is that most of your
best work is probably proprietary and you will never have the chance to show
it to anyone outside the company, nor will you have much free time for
personal projects.

As an interviewer, I can definitely say that GitHub has become a bigger part
of helping to evaluate people.

~~~
saagarjha
> As an interviewer, I can definitely say that GitHub has become a bigger part
> of helping to evaluate people.

Many people can’t work on open source, either due to a lack of time or
corporate policy.

------
Cookingboy
As someone who has interviewed with 3 of those 6 companies and gotten offers
from all 3, I think the best way to approach these interviews is to not walk
in with the mentality that it's a one sided "test" where you are put on a spot
to defend yourself.

In reality it's more often than not a role-playing exercise where you are
pretending to be coworkers trying to solve problems together. Sure you'd be
the one leading the problem solving, but being capable to explain your thought
process effectively, having the ability to exchange ideas with the
interviewer, and just being able to come across as a good teammate is probably
more important than getting that last 5% of optimization.

This is especially more true for senior level position interviews where there
are more design/architecture problems with relatively open answers. Out of
these companies Google felt most impersonal and "test like", which I guess is
not a surprise considering they mostly don't hire for any specific
teams/positions (and we can debate the pros/cons of that all we want), and
they try to eliminate human factors by the way of having hiring committees
(which leads to other pros/cons).

In the end even though most still comes down to the technical skills, walking
in with the right mentality and attitude actually really helps one to
emphasize one's strengths.

Oh one last thing, showing confidence is also super important. But too many
people mistake arrogance for confidence. In my personal experience there is no
better way to demonstrate confidence than being comfortable (not to be
confused with complacency) with what you _don 't_ know, and showing
intellectual curiosity/eagerness to learn.

~~~
docker_up
Except it's well known that Facebook asks you 2 coding questions in 45 mins
and if you don't solve them it's an automatic fail.

~~~
ehsankia
How is it "well known"? Do you have a source with concrete data? Have you
asked both people who were hired and not hired if they completed/not completed
their question, over a big enough sample?

Obviously, people who can't finish a problem correlate with people who aren't
good candidates in general. But that's not necessary. You can have someone who
shows very good problem solving and reasoning, but just doesn't make it to the
end.

------
ForrestN
I find it shocking that Facebook would still be considered as a peer to these
other companies in terms of desirability as an employer.

I would only accept a position at Facebook, which seems to be building a
fundamentally destructive product while going out of its way to behave
unethically in many dimensions, if it was an absolutely last resort to pay the
medical bills of some dying loved one or something.

Why would anyone be willing to work there if they had offers from companies
that make products that help people and don't treat society with contempt?

EDIT: for a good primer on this subject, read this essay by Matthew Yglesias
called "The case against Facebook": [https://www.vox.com/policy-and-
politics/2018/3/21/17144748/c...](https://www.vox.com/policy-and-
politics/2018/3/21/17144748/case-against-facebook)

~~~
gamblor956
There are plenty of people who feel the same way about all the useless
startups in SV that exist solely to take VC money.

At least Facebook actually provides something of value to the hundreds of
millions people who use it.

~~~
ForrestN
There is a robust debate about whether or not facebook provides negative value
to its users. In my opinion, it's charitable to say that the question of
whether Facebook harms its users is open to debate. There seems to be a clear
correlation between use of facebook and negative mental health outcomes. The
fact that people use a product is absolutely not evidence that it provides
value to its consumers, especially when addiction is involved. Whatever
"value" someone got out of cigarettes when they first started smoking, most
addicts wouldn't say they smoke because they get something out of it beyond
the assuaging of cravings.

~~~
citrablue
This assumes that FB is harmful to everyone, instead of a subset of people. I
don't think that's very well proven. The mental health studies also have a bit
of a correlation issue, similar to drug use.

I think sugar is a more apt analogy than smoking. Facebook, like sugars,
provides a source of a required human input. (Calories/human connection).
Overdone, both are harmful.

Tobacco is a much more charged analogy, and is more extreme in terms of
positive/negative balance. I think it reveals more about the biases of the
person making the statement than it does about social media.

~~~
ForrestN
The degree of harm is correlated with the degree of use, just like cigarettes.
If you smoke a handful of cigarettes a year, it probably won't affect you much
at all. But if you use cigarettes multiple times a day for years, you'll do
real harm to yourself. That's exactly true of Facebook. Yes, if you
occasionally check in and are diligent about how you use facebook, you might
escape harm. But unlike sugar, this slight-of-hand language they use of "human
connection" doesn't prove that any facebook use is beneficial.

Sure, candy technically has calories. But the fact that human beings need
calories isn't a good argument for eating candy. You can also get calories
from healthy foods, and you can get "human connection" from, you know, talking
to people, or sending text messages, or reading reputable news sources. Not
coincidentally, the idea of a "social connection" was and is also a big part
of apologizing for smoking as a habit.

~~~
throwawaymath
_> The degree of harm is correlated with the degree of use, just like
cigarettes. If you smoke a handful of cigarettes a year, it probably won't
affect you much at all. But if you use cigarettes multiple times a day for
years, you'll do real harm to yourself. That's exactly true of Facebook._

That's also true of just about anything humans can consume. For example,
sugar.

------
rdtsc
> Leetcode Medium, Leetcode Hard, Cracking the Coding Interview ...

I feel like there is something wrong with the industry. Here is a person
applying to do mobile development and they need to spend weeks and weeks
drilling binary tree inversions and trapping rain water
([https://leetcode.com/problems/trapping-rain-
water/](https://leetcode.com/problems/trapping-rain-water/)) etc.

I was interviewing at AWS and I don't think most of the people I talked to
even looked at my resume and asked about the projects I worked on, happy
customers etc. It was mostly palindromes, buckets of water and various trees,
and parroting back Jeff's 14 leadership principles. Now obviously these
companies are around and lots of smart people are working there and delivering
great products but it just seems so strange.

~~~
kcmastrpc
No, these tests are carefully devised to target young college graduates who
will excel at these types of interviews because the material is still fresh
and they have the free time to study.

This is age discrimination disguised as "technical proficiency" exercises.

~~~
bytematic
News to me students have the free time to study considering the hiring season
is mid-semester during some of the hardest classes. Not to mention if they are
working too

~~~
kkarakk
haha guess what, the second piece of the puzzle is that you have to be rich
enough to have time to study AND a place that is close enough that commuting
to college and work doesn't mentally wipe you out everyday. why do you think
silicon valley isn't seen as a place with actual opportunity for everyone even
though everyone inside it thinks it's wonderful?

~~~
kcmastrpc
good point, it's also disadvantageous to both women and under-represented
groups in this industry.

------
markdoubleyou
"After about a month of consistently practicing problems each day (maybe 2–3
hours/day, more on weekends)..."

I'm reading this as a guy with a wife, kids, full-time job, and rusty
whiteboarding skills. My inability to make this kind of time investment makes
me feel trapped at my current position.

~~~
decebalus1
> I'm reading this as a guy with a wife, kids, full-time job, and rusty
> whiteboarding skills

yeah, well these companies don't want you. I mean they do but they need to
make sure you have the same availability as a college hire. One way of
checking that is to have you block time like that for a while.

~~~
x220
Not sure why you're being downvoted. You're right. These companies like
workers who have no other responsibilities in their lives except their jobs.

Edit: single men and exceptions to the rule, please keep downvoting me.

~~~
lhorie
Eh, that's borderline conspiratory. I work at one of those companies and know
for a fact that many coworkers have kids and sometimes have to leave early or
get in late due to kids' doctor appointments and whatnot.

Besides, in addition for it being illegal to discriminate candidates based on
marital status, in my experience nobody that does interviews ever thinks of
considering that as a hiring criteria.

~~~
huebnerob
It happens all over the place all the time, if you don't stay late you're "not
a team player". Of course your employer isn't going to say you're fired
because you're a parent, unless their attorneys are bored. That doesn't make
it any more moral to discriminate based on proxy metrics, like how much of
your life you're willing to donate to an entity that cares about you only to
the extent you're making them profit.

~~~
lhorie
I mean, nobody goes to an interview and asks "hey how late do you work in your
current job?", so I don't understand how it is possible to discriminate by
proxy metrics at that point in the process.

Maybe you're arguing that people leave their jobs after the fact due to thinly
disguised rationalizations of these proxy metrics affecting raises, but that's
a huge stretch. I've seen plenty of cases of bosses and coworkers being
understanding of personal circumstances (and I'd go as far as saying that is
more so here in SF than at previous jobs in Canada) and I've yet to see these
alleged backstabbing evil brogrammers. Saying that a company likes this or
that is also anthropomorphizing something that isn't sentient and strikes me
as a strawman.

~~~
kkarakk
they don't need to - your github/ side projects tell them all they need to
know & you're probably required to submit them to even be considered. you
think someone with a full time family is going to have the same output in code
as a single person with nothing but their career going on?

discriminating is trivial if they just have your name

~~~
lhorie
No offense but there's a lot wrong with this comment...

While having a github presence can help recruiters find you, you aren't
required to have such presence at all; the vast majority of people I interview
don't (and the same goes for coworkers).

Measuring lines of code written is another fallacy that gets thrown around
easily, but that any engineer worth their salt knows is a stupid metric (1MLOC
of shit code is a pile of shit). One only needs to look at their most recent
perf evaluation to realize that absolute code output doesn't actually factor
in - it's high level impact perception that does, if anything.

Being single doesn't in any way correlate to more dedication; plenty of
singles clock 9-5 and spend free time on non-coding activities (games, TV,
exercise, etc), and plenty of family people work late by choice. It's not even
an either-or proposition either: there are married people w/ no kids, single
people that need to pick up their dogs at daycare, people that work so late so
often that they become unproductive due to fatigue, etc.

The idea that someone will take your name and go dig up all your personal info
and discriminate you and cackle maniacally is just flat out absurd. As someone
who's been both an outsider and an insider to bay area tech, I honestly don't
see evidence of discrimination, deliberate or otherwise. I feel like the
occam's razor in this discussion is that armchair speculators seal themselves
in an echo chamber of delusional conspiracy theory out of self pity or to feel
smug. I also noticed that there are people who have had asshat
bosses/coworkers at companies w/ dysfunctional cultures and think that
experience translates to there being asshats everywhere.

~~~
vehementi
Yeah there is a huge amount of armchair conspiracy invention in this thread.

------
hunter23
The candidate's experience shows how flawed Bay Area recruiting is. This
candidate was clearly strong, as they had a 100% offer rate on companies that
they interviewed at and almost all of those companies are top tier(Apple,
LinkedIn, Amazon, Facebook, Google).

Yet 70% of the companies didn't even give the candidate a chance to interview.
It's incredibly sad that a candidate that is able to get offers at Google,
Facebook, and Apple can't even get 70% of the companies to let them in the
door to interview. Interviewing is clearly broken.

~~~
gok
It's possible the candidate was overqualified and some of those 70% knew it
wasn't worth their time if there was a 99% chance they were going to Google or
similar.

~~~
learc83
The article said they went to a small no name school, had no impressive
companies on their resume, and had only a few years of experience. I don't
know what would make them think they were overqualified.

Also almost all of the companies were top tier.

------
whiddershins
I see so many people talking about how irrelevant algorithm skills are for
real world coding, and lots of allegations of age discrimination.

I see the validity of both points, and I’m sure they are true.

But people, please, some perspective.

The author spent a couple of months studying and practicing material in their
spare time and got offers from top companies in the comfortable 6 figures.

That happens in no other industry, ever.

Look at what lawyers, structural engineers, accountants, and most especially
architects ... not to mention the obvious one: doctors, go through to be
qualified to make good money.

The author presumably graduated with a bs, worked for pay for 2.5 years, did
some online learning, and makes a great living?

A doctor would still be in (very expensive) school.

I suspect there’s an element of IQ-ish testing with these puzzles and it sucks
if your brain doesn’t work that way and you are permanently excluded as a
result of that.

But if you have the capacity but can’t be bothered to learn a bunch of
material over a fairly short time frame to handle an interview, why should
these companies want you? You obviously just don’t care that much, because the
investment is tiny.

~~~
vehementi
It's more that the unfortunate reality is that programming is so amazingly
powerful and relatively easy to do (i.e. compared to becoming a doctor or
lawyer) and is so scalable that companies make so much money off developers
that it's not a big deal to pay them six figures.

------
drugme
_It is critical, in my opinion, to either whiteboard problems with someone or
mock a phone interview with someone. Not critical as in “very important”, but
critical as in you should consider it an absolute requirement when studying._

Which would seem to further substantiate the observation that the modern
interview process seems to be (strongly) calibrated not towards finding folks
who are good at real-life problem-solving and engineering and long-term
collaboration in a team environment, but rather folks who are good at ...

... killing it at the whiteboard and on phone screens.

~~~
deegles
Isn't the author doing the rational thing though? If I knew ahead of time that
BigTechCo's final interview would be a test of my juggling skills, I would
definitely spend hours honing my juggling. Whether or not it's an appropriate
measure of my skill as an engineer is irrelevant to my goal of "getting a job
at BigTechCo"

~~~
gbear605
The author’s doing the rational thing, but BigTechCo that requires juggling
certainly isn’t. It is left to the reader to decide whether this is relevant
to the industry’s interviewing practices.

------
jahaja
It's interesting that software interviews have degenerated into literal
auditions. Just as with auditions, you need to train specifically for them.

Is there really a reason why software jobs can't hire in a blue-collar fashion
where there's a background/experience + sanity check and a subsequent trial
period? Even looking beyond that, is there any similar profession where
interviews like these take place?

I'm starting to think this may be in part be related to the phenomenon of
bullshit jobs. Basically that people in administrative roles need to have
something to do, and as such, the interviews themselves have over time
expanded to as much as multiple days.

~~~
zeroonetwothree
Why would anyone with an existing job ever take another job with a "trial
period"? You are basically excluding your most desirable hires with this
system.

~~~
lucb1e
If I were looking to leave my job, I'd not sign with another employer if I
wasn't quite sure I'd want to stay with them, trial period or not.

Is it different outside of western Europe in terms of trial periods? We
(afaik) always have a trial period: in the Netherlands it's typically 1-2
months, in Germany it's typically 3-6 months; either way, there is always a
period where both parties can fire the other with zero to two weeks notice. It
is not the norm to be fired in that time, but it happens (from my limited
anecdotal evidence, I'd estimate one in 10-30 hires, and most of the time both
parties agree it's not a good fit).

------
pmalynin
I would say, that out of all the companies I've interviewed with so far, Apple
was the best, no bullshit interview experience I've ever had. Very to the
point, incredibly specific to the type of work you'll be doing. Most of the
interviews are with two people, that are from team you'll be working with.
Also very refreshing was a lack of competitive programming type questions...

------
honkycat
I've always been curious about working at one of these companies.

I believe if I set the goal of getting hired at one of these places, I would
probably be able to get a job:

\- 10 years professional programming experience

\- half-life, Quake, Starcraft, Warcraft II modding experience growing up

\- Avid reader ( ~50+ books/yr )

\- tons of self practice and continuing education. I just like learning new
things and find programming fun

\- Have had success in most of the roles I have occupied

\- have a personality people make friends with

\- edit: Also a computer science degree from a good college!

But anymore I just do not want to work that hard. I've been doing the start-up
thing for a few years now. I am TIRED. I am BURNED OUT. I am not particularly
interested in writing GoLang or Python to sell ads. Lately I have been trying
to think of a part-time or EASIER job I can phone in on with my programming
chops so I can go home and hack on my side projects.[0]

I want to go home, read, work out, cook dinner with my partner, hack on toys
and open source stuff. I do not want to empty my tank every day working for
the man. How hard do these places work you? What do I actually get out of it,
other than learning how to write websites and a good salary and perks? Where
do these jobs fall in the reward/bullshit ratio?

0: Which are probably better career development than fullstack/devops work
anyway...

~~~
abledon
we all have time and energy. Time passes us by equally for everyone but its
our choice how we spend our energy.

------
apo
Implied but not explicitly stated in the post is the idea that these
interviews are mainly about solving puzzles given during interviews.

How depressing. A big part of software development is knowing how to get
things done with people you don't agree with or like. A good chunk of the rest
is about communication. You know, organizing thoughts into something coherent
and actionable, speaking, writing, and most of all listening.

Is big tech hiring that broken that a person's past history of shipping
quality software under severe business constraints matters so little?

Or is it perhaps that too few people at large tech companies are capable of
evaluating candidates on any other basis than cooked-up on-the-spot brain
teasers?

~~~
chooseaname
No, it's a hazing ritual to see if you'd be a good member of their fraternity.

------
avitzurel
I really dislike the fact that you need to study for weeks with specific
questions that really have no hold in real life.

I've been doing this for 16+ years and I have never asked the type of
questions you encounter in these books. Not even once.

~~~
40acres
The specific questions don't have a hold in real life but the patterns behind
them do. Most problems to be solved in computer science, with enough
abstraction, have already been solved. I joined a new software development
scrum at work and have been helping optimize how long our application takes
(it can be thought of as an encoding engine) we've seen huge leaps in
improvement with very simple solutions, 75% of the time the way we're seeing
that the best way to solve a problem is via a hash table. That's also an
incredibly common core solution to most interview problems.

~~~
yowlingcat
The patterns _can_ have a hold. It's always fun to optimize slow engines, but
it always feel more to me like rote/busy work than actually building the
system from scratch and engaging in product engineering. But, I guess that's
kinda your point -- very simple solutions that revolve around simple, common
core structures can lead to huge leaps in improvement. But this kind of real
world optimization has medium breadth and depth. It's got a lot more breadth
than many algo interviews I've gotten, and yet less depth. I've found that's
been the real structural weakness in weak algo interviews I've had -- they
just overindex on deep knowledge of algo optimization and underindex on
communication, reading and design ability. I'm drawing from a pretty small and
outdated sample, though; the last time I had the patience to interview with a
BigCo was more than five years ago.

------
40acres
I'm working on preparing for an interview gauntlet but in no way would I do 6
interviews in 6 days. A full day of interviewing is such a draining experience
mentally and physically, after interviewing with Google in 2014 I just wanted
to get a glass of water for my parched throat and go to sleep.

Congratulations to the OP, I have EPI as well and it's certainly a challenging
book.

~~~
otras
After my full day of interviewing at Google, when my recruiter asked what I
was planning to do for the rest of the day I let him know I would probably
just be sitting at the park with my dog looking at the trees.

I would bet that with time and repeated practice the process becomes less
stressful and draining, but I have no intention of testing my hypothesis any
time soon.

------
sigfubar
Whenever I read job search war stories such as this article, I keep wondering
if these are sent from a parallel universe of some kind. Six job offers?
That's incredible! I mean that literally: I have a very difficult time
believing such stories because they never jive with my own experience.

The below is taken directly from my "Job search - 2017" Trello board. (I
always use Trello to organize a job search because without it there's no way I
could keep track of every company I've applied to.)

Companies I've decided not to pursue due to obvious red flags: 15

Companies that have rejected me explicitly (without regard for stage of
process): 15

Companies that have ignored my application entirely: 25 (including all of the
so-called "top companies")

Companies that have invited me for an onsite interview: 8 (of which one was a
remote-mostly team that did a video conference interview in lieu of onsite)

Offers received: 4

Of the 4 offers, one was laughably low; another was for a management position
that would have precluded any programming (bad for my career); and the
remaining two were both attractive and presented a difficult choice. This was
the first time in my career of 15+ years when I had more than one offer to
choose from.

This job search took place after I got laid off unexpectedly, and took two
months of job searching on a full time basis. The various phone calls,
meetings, interviews, etc. took place in a solid chunk of time from 9am to
5pm, sometimes seeping into the 7-9pm time frame whenever I was doing a call
with a busy person on the West Coast. Somehow I also managed to do half a
dozen of take-home projects, the longest of which took me two weeks of all-
nighters to complete.

To summarize: I wish someone would show me which bus to take to the parallel
universe where folks get to choose from six different offers. Here and now, I
feel incredibly lucky to have my current job, and dread the day when I might
be forced to seek another.

~~~
nfRfqX5n
this person is clearly very smart and capable, but i think the role of iOS
developer contributed to the take rate. super high demand.

------
CydeWeys
Would love to see specific numeric information on offer packages,
negotiations, counter-offers, and final accepted offer, if the author feels
comfortable disclosing such information.

I bet you can get a really nice offer when you get six big tech companies to
bid over you.

~~~
Vadoff
You can probably negotiate toward the top of each pay band, but that's about
it. I'm assuming the OP was an L4, you can research the pay bands for that
level.

~~~
CydeWeys
Salary is restricted to pay band, but RSUs are not, at least not at my company
anyway. I've heard of some pretty insane RSU grants well beyond what would be
typical for a given pay band (absent negotiation).

------
Johnny555
I was surprised that he got an offer from Google after a single interview
during his 6 days of interviews - it took 3 months and several interviews
before I got an offer from them.

Turns out that he didn't:

"It’s a very loooooong process relative to the rest of the companies I spoke
with, so I definitely had to keep everyone updated on where Google was. I also
had to let Google know where I was with everyone else."

~~~
telotortium
Probably means a single on-site day (with 5 interviews). The hiring process
can be slow for factors outside the candidate's control, due both to general
coordination delays and the need to have a hiring committee evaluate the
candidate after receiving interview scores.

------
habosa
These big companies (including Google where I work) have so little idea of
where they're going that they go way too general with interviews. If you want
a good iOS engineer then ask them all questions about the platform and have
platform experts interview them.

The concern is that priorities shift and this person might end up on a C++
backend in a year and you want to make sure they're good enough in general.
The inability to forecast the existence of a role a few years down the road is
a sign of incompetent planning. And having software generalists everywhere
instead of domain experts is a great way to get good but not great software.

~~~
Vadoff
A lot of big companies (FAANG) do test platform domain knowledge, many also do
platform-specific coding sessions. The reason why interviews aren't solely
composed of platform questions, is that they want some measure of how good
you'll be overall too.

Many engineers at big companies end up changing roles entirely (android ->
iOS, iOS -> backend, engineer -> engineer manager, engineer -> PM, backend ->
ML, etc).

Big companies don't just want someone who's knowledgeable about a single
platform, they want someone who's also a skilled critical thinker and are able
to break down hard/complex problems.

------
anonymousiam
It would be nice to know which offer the author decided to accept...

~~~
maximp
This is a total guess, but the author does seem to hint a preference for
LinkedIn:

> I was very impressed throughout the entire interview process with LinkedIn
> from both a culture perspective and an engineering perspective. They rose
> the highest on my mental list of iOS Prestige™ from the start of the process
> until the end.

------
azhenley
The heart rate info that he provides for the onsite interviews is a funny and
interesting thing to include (around 100-122 during interviews, with a resting
of 60).

Does an elevated heart rate during an interview count towards one's daily
fitness goals? :)

~~~
lozaning
I started an 'exercise' on my fitbit right before my last onsight started.
Fitbit claimed that I burned ~6K calories that day. My 3 week running average
is somewhere around 4K.

~~~
telotortium
4K daily average? What do you do, pull sleds all day when you're not working?

~~~
lozaning
Im a recovering chunk monster. Im down 80lbs in 6 months and now I've got
pretty decent cardio (6 miles in an hour on the treadmill 5 times a week), but
still weigh 250lbs. If you're fat but move a lot you can burn some massive
calories, or at least my fitbit says so.

------
michael_leachim
The way I see it, there are several reasons for such an interview process:

1) [Leverage]. The interviewer can negotiate down salary expectations based on
the performance of the interview. You can ramp up requirements until the
candidate breaks. Then, you get the upper hand in the negotiation process.

2) [Responsibility]. Nobody wants to take responsibility for the bad decision.
In the formalized interview you can blame the metric. If the metric is
external (Google/Facebook/Amazon do it), then there is nobody to assign the
blame, so, no responsibility gets redistributed.

3) [Effort]. Treating people as they are different is hard. Reading their CV
or learning more about their projects requires time effort and expertise in
the field. This is expensive. Much easier is assessing people through a
generic process.

4) [Loyality]. Someone, who spends their free time for a year preparing for
the interview is bound to be more loyal than somebody who prepares only for a
week.

5) [Initiation]. People who go through a difficult initiation process tend to
value their group more. That builds tightly knit teams.

Overall, I think that the process is difficult, somewhat irrational and
inhumane. But I have no idea how to really fix it.

------
LearnerHerzog
> _It was exhausting and it meant that most of my lunch breaks were just
> interviews for multiple weeks. I had to start going into work very early so
> I could leave earlier to take calls at home. Making sure I was still meeting
> all of my commitments at work was a challenge, too, but I made sure to
> prioritize that over interviewing, rescheduling when necessary. I wouldn’t
> phone it in for the purposes of interviewing. It makes you look bad, it’s
> unethical, and if you don’t get a job, you’re now a lower performer._

I'm impressed with this person's ability to write a blog that BOTH:

— feeds people's curiosity via the current interview experience at several of
the worlds biggest companies all in one read

— Incorporates (advertises) his own personal work ethic and credibility
throughout, to where I would bet he's getting all sorts of significantly
higher paying offers around the area.

The latter was likely the motivation to write it, which is great. I'm
surprised more people with similar stories don't use their ultra-blog-worthy
experience as an opportunity to humble brag and display their value. Might as
well, right? Small risk/big reward

------
yowlingcat
Paraphrasing a comment I left elsewhere in this thread, but I've been seeing
actual improvement on the state of the art on the much maligned and polarizing
algo brain teaser interview. I'm not sure if Karat is the best in this area
but I did have a good experience with a company that used them and interviewed
me well, but I like that companies are actually incentivized to minimize false
positives and negatives rather than just one. I try to tell other engineers
that they'd be surprised at how much better a good technical interviewer can
be than an average strong engineer, but that goes in roughly two directions:
one group can see why the dominant mode exists but is curious about a better
way that remedies the shortcoming of the dominant mode; one group defends the
dominant mode and gets fairly defensive about criticisms of it.

Can you guess which group is better at technical interviewing and I've found
more capable of handling the responsibility of screening talent in the past?

------
hellofunk
Just goes to show you that software interviewing exactly captures the entire
experience of being a working software engineer and always tests you on the
things that all of us reading this right now already know.

Right?

------
ClassyHacker
It seems that LeetCode and HackerRank have become the SAT and ACT of the SV
Big Techs, and FAANG et al are becoming the workplace Ivy Leagues. If so then
where are the Khan Academy, Coursera, Udacity, and local coding boot camps of
the world?

------
torgian
I can’t help but wonder how I would do in these interviews.

Honestly, I think I’m a horrible programmer. My current gig is developing an
api for a survey app, as well as an environmental sensor data app (which me
and my partner built from the ground up).

It’s tough though. I don’t know many algorithms, and I have to do a lot of
research. That said, I still get shit done and deliver.

I have no formal education and have taught myself.I would most likely fail
these kinds of interviews.

How I got my current gig? No idea. Maybe my honesty won them over. Yes, I can
do front end development. No I don’t know that, but I can learn.

Seems to have worked out so far.

------
gmatbarua
Though I empathize with senior people of the software industry, I will like to
add some other perspective to this discussion. I am from the Oil and Gas
industry in Operations domain, nothing to do with software. Previously I have
worked for IBM as a software engineer. Hence, I have the perspective of both
industries. From this discussion thread, it seems that senior people are
looking for exclusivity and immunity. I can correlate it with seniors of my
industry. My company is government owned. Here, seniors people (by age, not by
rank / +1 rank but the same job responsibility) command juniors (by age, not
by rank / -1 rank but the same job responsibility) and seldom do any work.
They come to office late, leave office early citing family issues everyday.
When I bring up the topic to my boss, he says I need to understand they are
like that, can't help. Sometimes he says "Learn from them, how to get work
done by others". Those others are younger people like us - 22 to 40 age
groups.

------
Supermancho
> Although every company loved telling me that “it really feels like a
> startup!”, it rang the truest at Amazon.

That made me laugh. I have to wonder if the author is somehow so naive that
they don't understand what they observe or what to ask. It's also possible
that the sentiment is the only lip service they could pay that hellhole, with
a straight face.

------
nathan_f77
This is really impressive! I will keep this in mind if I ever apply to any of
these big tech companies. I've sent a few applications over the years, but I
never got past a phone screening, and I didn't realize how completely
unprepared I would have been.

Maybe these whiteboard interviews also filter out people who don't really want
the job enough. If someone spends a lot of time brushing up on algorithms and
practicing interviews, then it shows that they really want the job, so they're
more likely to be a high performer.

I'm surprised they were able to get job offers from Google and Facebook, while
their application was just rejected by Stripe. I also got rejected by Stripe
without a phone call. I have some really talented friends who were also
rejected after an interview. I'm starting to think that Stripe's hiring bar is
just much higher than Google or Facebook.

------
alexanderscott
PROTIP:

1) Write blog article on interviewing 2) Promote on hackernews 3) Use as
leverage for salary/equity negotiations

------
seanwilson
> After about a month of consistently practicing problems each day (maybe 2–3
> hours/day, more on weekends) I moved on to doing primarily Leetcode’s “Top
> Interview Questions”

I'm completely fine with interviewers expecting you to solve some problems in
front of them and knowing basic algorithms + data structures, but if it's
becoming standard to dedicate this much time to studying and applying for jobs
something is really, really wrong.

I think a day or two to refresh your knowledge you haven't used for a while
and practice a few problems to get you warmed up is reasonable but when you're
talking weeks of preparation then the interview is testing the wrong thing. I
can't see in the article how much preparation was done but it sounds like
months of work.

~~~
Vadoff
If the OP was already good at algorithms, then a day or two of refresher is
probably all that'd be needed. It's made clear that he didn't have a
fundamental grasp at doing harder algorithm questions, hence why he needed so
much studying + practice.

------
bradlys
Done this whole process as well. Every year, in fact. I've interviewed with
quite a few top Bay area companies with quite a few going to onsite.

I never got an offer though and the only thing I can say that differentiates
me from this person in terms of how we studied is the part where you practice
with other peers. I've done this maybe once or twice a few years ago. I think
in order to get to these companies you need to practice with peers. Preferably
with ones who have made it through. Unfortunately, in my experience, it can be
hard to find peers willing to do such things. I'll continue to make half (or
less) of what I could be making if I was at some top public company. And this
area will continue to be out of my reach financially because of that.

------
eximius
So people are complaining that whiteboarding is the wrong way to interview.
That we don't discover if they can write and maintain complex software system,
instead focusing on 'trivia'. I don't disagree (I think that the trivia being
tested can be important - a team with _no one_ that has deep knowledge of data
structures of algorithms is lost), but I also don't know a _good_ way to
interview that finds out what we need to know.

How do you find out if someone can make good long term decisions in a short
amount of time? It seems inherently contradictory. Some people say by giving
homework problems. They're not wrong, that might give valuable insight, but I
know that I would hate that, so others might too.

Can there be a good answer?

------
kstenerud
One big problem is that the people interviewing are rarely "big picture"
people, because in general there are few "big picture" people as a percentage
of any population.

So, when "small picture" people think "competence", they think in minutiae,
which in software development means the smallest distinct units: algorithms.

I've been in the industry long enough to see it everywhere, and it's not
necessarily a bad thing. Most people prefer tactics to strategy, and you only
actually want a small percentage to be strategists anyway; too many chiefs and
whatnot.

But when it comes to the technical interview, it's frustrating to deal with a
tactically minded rather than a strategically minded person.

------
rconti
> Companies don’t hire people based on the knowledge they were born with.

Yes, this, so much.

> Don’t get discouraged. There were multiple interviews I had where I didn’t
> know the solution and interviewers had to shepherd me towards a solution. I
> still got offers from everywhere I interviewed.

And this, so much, particularly for those with imposter syndrome. You miss all
the shots you don't take. If you're unhappy, and have done your best to find a
way to happiness in your present role, start looking. Don't keep telling
yourself "in another year I'll be ready" or "once I learn X and Y".

------
jay754
I get messages from recruiters from some of these companies time to time and I
always decline it. Because I know I can't get through the technical interviews
without spending at least a month preparing for them.

------
omouse
This only covers getting the interview and potentially succeeding at it.

It doesn't cover:

\- how many hours a week will be worked

\- how much stock options are on offer

\- what other benefits there are

\- what's the total compensation package like

\- what skills will be gained

\- what is the office environment like

Most of those "top" companies can be skipped over as places to interview at
because they aren't very good on the above topics.

For example, interviewing at Facebook in 2018? _After the Cambridge Analytica
scandal? (which was in March 2018 according to
Wikipedia[https://en.wikipedia.org/wiki/Cambridge_Analytica](https://en.wikipedia.org/wiki/Cambridge_Analytica)
)_ Even millions of dollars of compensation wouldn't be worth interviewing at
Facebook during that time, not until they get their house in order. Even
Google has privacy and ethical issues that make it a less-than-desirable place
to work at.

Amazon also has a culture of working _a lot_ , maybe that's fine for someone
just getting started in their software development career, but for most
people, it isn't great to be working so many hours.

So 3 of the interviews didn't even need to happen; he could have concentrated
on acing the other half of interviews (Apple, Yelp, LinkedIn)?

Also, fundamentally, he's interviewing for jobs where he will be told what to
do and will either have to job-hop to get better salaries and better positions
or spend 3-4 years _at minimum_ to work up the ladder. So selecting Apple,
Amazon, Google, etc. is actually a _tough_ choice because you have to kinda
plan for the next 5 years if you want to ensure you aren't wasting time and
are actually advancing in your career!

It's a great start for an article but feels like a dime a dozen at this point
(I've been reading about SV startups since highschool and Paul Graham's
essay): _if you want to work at a top SV company, no matter which is at the
top at the moment, you 'll have to jump through the algorithm interview
questions hoops._

~~~
Vadoff
\- how many hours a week will be worked

~40 hours, but most of those big companies only care you get your work done so
it can vary from person to person (less or more).

\- how much stock options are on offer

All companies mentioned are public, they're stock grants (RSUs) not options.
If OP was an L3 it would probably ~40k/year, L4: ~75k, L5: ~150k.

\- what's the total compensation package like

L3: ~180k, L4: ~250k, L5: ~350k

\- what other benefits there are

\- what skills will be gained

\- what is the office environment like

These are all easily researchable, and most big companies are actually
extremely good in these areas.

------
opportune
If I were giving a technical interview, after asking some basic fizzbuzz style
questions, I would just ask a candidate to bring a personal laptop and "do
something cool", i.e. show me what you're good at that is also valuable or
useful. Could be spinning up a website, could be some cool parallelized data
science or processing job, could be setting up a simple REST server
infrastructure, as long as it's done _de novo_. Has anybody ever been an
interviewer or candidate with this kind of interview?

------
wesleytodd
IMHO, this is the worst possible approach to finding a job. The opportunity
cost of doing this over working on interesting problems and letting that guide
you to pay seems extremely high.

Also, the focus on "top bay area companies" seems misguided at best. If you
work more on identifying what type of work you want to be doing you might find
there are GREAT opportunities in other regions or at smaller scale companies.

Maybe I am just not the type of person who resonates with this approach, but I
cant imagine this being healthy for most people.

~~~
Zimahl
I'm with you. I get that people chase the resume builder companies, even years
later it'll be a highlight on a resume that HR folks salivate over.

Outside of a handful of the big well-known bay area tech companies, I can't
really see what many of them do that other non-illustrious companies do as
well. If you are simply a web services developer I don't think I'd waste my
time - there's not much you are going to build at Facebook that you aren't
going to build at no-name company X.

------
pascalxus
Those are some awesome statistics: 6 out of 6 successes, practically unheard
of. But, it sounds like you know exactly how to study for it: that
whitebaording tip probably helped.

------
eyeareque
I had 4 onsite interviews in 5 days once. It was brutal, so exhausting. I felt
like a machine though. A lot of the questions were recycled (behavioral), and
so were some of the tech questions.

I don’t know how they managed to do 6 in 6 days, that’s almost hard to
believe. Most companies aren’t so flexible on the days they can host you.

It would have been very interesting to see how the offers compared and which
company they went with. I’d also be interested to see what the negotiations
did for their final TC.

------
imetatroll
The interviews are certainly difficult. I tried a few times years ago and
never made it anywhere in the process, which was frustrating to say the least.
I was working at a startup doing everything under the sun to keep the
technical side of things going, but found that I was using so many different
programming languages in my day to day job, that I couldn't whiteboard a
reasonable solution to anything. It was shocking.

Congrats to the author for their success!

------
pkteison
I interview programmers. I would love to see a candidate who prepared like
this, but it seems like everyone I talk to hasn’t done any practice at all.

------
leowoo91
Good to see Yelp being compared with giants :P

~~~
ceejayoz
It's a publicly traded company with a market cap of $3B. It's certainly not
tiny.

~~~
AimForTheBushes
Hard to say it's a top SV company when the list lacks intel, tesla, netflix...

~~~
ceejayoz
"I interviewed at six top companies" doesn't necessarily mean "these are _the_
six top companies". It means "these six are among the top".

~~~
AimForTheBushes
Oh, yeah touche.

------
stefek99
What was your portfolio, I'm talking the existing examples of work?

> I was interviewing for my second job out of college with about two and a
> half years of experience without any particularly notable internships or
> employers on my resume; I went to a very small school that had zero known
> software companies at their “career fair”;

------
sevensor
So the hiring procedure is to optimize for people who adhere to the advice of
a specific training manual that's not actually mentioned in the job posting?
You just have to want to work there so much that you find out about it? What
is it about that kind of candidate that makes them desirable? Obsequiousness?

------
jorblumesea
The problem is actually that due to the plethora of tools, languages, dev
stacks and other variability, it's hard to diagnose software engineering
skills effectively. So it makes sense to go back to basics and use things that
everyone should know like data structures.

The issue is that this is taken to the extreme.

------
ensiferum
Good effort. Personally after 20 years i simply have no motivatiob for this
kind of game anymore. Gah.

~~~
pnw_hazor
clearly a bad fit.

------
killjoywashere
If I subtracted <this article> \- <code> the vector would be almost exactly
equal to <what I did to study for pathology boards> \- <pathology>, except in
the path boards, there's no opportunity for "if you know more, show it."

------
nnd
The article is, unfortunately, lacking in substance. For example, the author
applied to 20 jobs and got interviews with 6. This is an incredible success
rate. I'm guessing he had referrals from hiring managers and didn't just apply
through a CTS.

------
z3t4
I wonder if it's possible to get a job at "FAANG" with just studying interview
questions !? It would however be a proof that you are dedicated and willing to
learn, kinda like a engineer degree, but one year instead of five.

------
martin1975
Way to go young'un! My advice would be, though it may seem attractive to work
at the large behemoths, I'd advise you to go to a startup or a medium size
company for greater satisfaction and less bureaucracy/politics.

~~~
toephu2
Except FANG on your resume will do wonders for your career down the road..

~~~
nvarsj
The sad truth. Even the most mediocre programmer can get good roles with FAANG
on their resume.

------
dawhizkid
That is still an impressive response rate given it sounds like the author cold
applied w/o a referral. Generally it is much easier to at least get to the
phone screen with a referral from someone within the company.

------
coupdejarnac
I wonder if he feels like he's a better programmer after all that studying.

------
chrischen
Seems like it would make a lot of sense to outsource hiring interviewing and
vetting. In this guy’s case if he could have just been interviewed once and it
probably wouls have suited all 6 companies.

------
feverzsj
the problem of interview in large companies is no one want to take
responsibility of recruiting the wrong guy. So they just use some "standard"
process to screen and test the candidates. If they still pick the wrong guy,
no one will be blamed, since other big companies use the same process.

And that is the main reason big companies like google, facebook can't make
good products. Instead, they pay billions to buy successful products made by
those who were rejected in their interview.

------
ccvannorman
Finally, a GOOD post about the tech interview process:

\- Upbeat and To the point \- Helpful relevant information \- Actionable
advice with multiple references

Thank you Bay Area Belletrist!

------
gamma-male
And I thought he would give out numbers.

------
rblion
Feels good to know I am on the right track. Mindset is a major difference
maker.

------
sidcool
Does studying CLRS improve odds of succeeding at these interviews?

------
nfRfqX5n
it really is a different skill that you need to invest time in and practice.
it sucks, but there are also plenty of high paying positions that have more
practical interviews

------
legohead
curious why the author _wants_ to work in the Bay area. does he actually enjoy
the area, or is he excited about all his career opportunities there?

------
codelake
I was preparing for a few months and interviewed at 0 of six top companies
bhahaha. It seems like they are very reluctant to hire guys from overseas even
if you are already in SV for interviews.

------
newnewpdro
TL;DR: [obvious] Preparation and practice works.

Some famous dead dude once said something along the lines of "by failing to
prepare you're preparing to fail".

------
farza
Nice

------
vinayms
When I see engineers in their late 40s, 50s etc being harsh on algorithm
interviews, I often wonder is it because they failed to keep up with changing
times and are now playing victims. I mean, IT industry is nothing like what it
was in the 70s and 80s when these people started out. Back then, it was still
rather nascent and almost all business problems could be solved by gluing
together existing tools (I was born in the 80s so I am only speculating based
on what I have read). May be that's how it is even now. They were all
essentially glue engineers doing some type of CRUD job. For them, the more
tools they knew the better they were at their jobs. It is a bit amusing how
this glue job is usually oversold as 'architecting' or 'system design'.

However, times have changed. Since late 1990s, the industry has become a lot
more aggressive. While the CRUD shops exist, there are more and more companies
who produce products that need engineering from ground up. Some of these are
truly innovative but many simply reinvent solutions. The kind of funding these
new age companies with NIH syndrome get allows them to afford quite a bit of
reinventing of the wheel, a wheel that suits their purpose specifically. In
this scenario, one needs to know fundamentals of CS, so having interviews of
this nature is justified. The candidate must be aware of the sort of company
they have applied to and know what to expect. There is no point ranting after
they fail.

That said, I do have my objections to these sort of interviews. I am in my mid
thirties and what I do is 50-50 in terms of over all architecture and low
level details. I am currently looking for a change and every time I see ds-
algo mentioned in the job description I feel disappointed.

Firstly, the cargo cult interviewing is quite enraging. I mean, just because a
mega corp with NIH syndrome does tough algo-ds interviews because they
arguably need it, the CRUD shops following suite is ridiculous. They are glue
job companies with CRUD jobs that need glue job engineers whose need to know
CS fundamentals will be limited to reading the label on the libraries they
use, if they advertise the ds and algo they use in their implementation.

Secondly, even if its a NIH mega corp, I dislike how the interviews
automatically filter out experienced good engineers. The sort of questions
asked can only be answered by three kinds of people - recent graduates, those
who have written ds-algo libraries at their job before, or those who study
them just for the interview. I feel the third kind is a sham as its worse form
of rote learning without applied knowledge. People like me who possess a lot
of knowledge through real world experience on a lot of things and can build a
lot of things from scratch, basically generalists, but can't write code to
balance a binary tree on whiteboard in 5 minutes feel almost discriminated.
Why can't where be a middle ground where we discuss the solution strictly
qualitatively without having to answer it as if it were a college exam? I
think this is how it ought to be for mid career engineers.

I have had my share of both kind of interviews that has left me extremely
disappointed. I have realized that people like me are best suited to work at
medium sized product companies whose name not many have heard of. I used to
work at one such and had tremendous success, and I am exclusively looking for
such now.

------
draw_down
At this point I've conducted dozens of screening interviews at a SV tech
company, which is in the ballpark of the ones mentioned here. Interviewees
choose the language they'd like to work in, and the questions are of the shape
"given a list of data and a simple criterion, find an element of the list".
This isn't exactly depth-first search: finding elements of collections that
meet some criteria is, like, extremely common in day-to-day work.

It's really surprising to see how hard people fall down on even the simplest
part of this exercise. People with lots of experience, people who work in big-
name companies (including the ones mentioned here), you name it.

This experience has really caused me to soften my erstwhile stance of "tech
hiring is broken and inhumane", because it really makes me suspect that no
matter how simple or common the problem is, many people will fall all over
themselves attempting to solve it. Even if the problem is nerves, how much can
you really ease someone's nerves over a video chat?

This is basically the lesson of FizzBuzz.

