My explanation:

The people making the hiring decisions have
two problems: (1) Ignorance about software,
programming, and the associated technology
and (2) resentment for the compensation level
of good software developers.

So, who are these hiring people? People
from CEO to HR to middle managers who
know less about the work than the
candidate employees do. This fact is
like a chicken bone stuck in their throat
because it is totally against the
100 year old norm, back to Henry Ford's
factory, of an hierarchical organization
where the supervisor knew more and the
subordinate knew less and was there to
add routine labor to the goals of the
supervisor.

So, with the resentment of (2), the hiring
people expect and very much want any
candidates to know basically everything,
including absurd details no one should
bother to remember.
Or the candidate needed five
years of experience with Java when
the language had been out for only three
years and likely only James Gosling
had that much experience with Java.
Or the hiring people want five years of
experience with MySQL and experience
with DB/2 and SQL Server don't count.
Or they want C# and Visual Basic .NET
(different from C# essentially only
in syntactic sugar) doesn't count.
Or they want C Python and Algol, Fortran,
PL/I, C, and assembler for several
processors don't count.

And with the ignorance of (1), the hiring
people don't know what's important and
what's trivial.

So, for

> When did working at your shit company have to be my passion instead of my job?

the hiring people, lacking any better criteria
for not making a hiring mistake,
basically want the candidate to
grab their ankles and swear everlasting,
life long fealty and commitment to
their six month project.

Moreover, such interview questions
are obviously a really bad joke
for someone with a lot of significant
software experience and/or a good
college degree in computing; that is,
the hiring people, based on near total
ignorance and incompetence,
are trying to
give oral exams in computer science,
to someone obviously long since
highly qualified.

Any competent professional or worker
of any kind needs to keep in mind that
it's super tough to build a good
career working for ignorant, resentful
people. So, try not to do that.

Keep in mind that only a tiny fraction of
jobs provide a stable career with
compensation sufficient for
a three bedroom, two bath house,
wife, kids, college for the kids,
and retirement for the parents.

Broadly the solution for someone in
computing is just to see the bright
side -- how much hard/software
can be had for $2000 -- and
use that to start and run a
successful business.

A good example is the Canadian
romantic matchmaking service
Plenty of Fish, long just
one guy, two old Dell servers,
ads just via Google, and
$10 million a year in revenue.

Other fields of high specialization
have seen and responded to much
the same problem: So, they have
a profession with, maybe government
licensing, legal liability,
professional peer-review,
meaningful, challenging certification,
code of ethics, etc. And, e.g.,
as I understand, the legal profession
says that in a business, a working
lawyer can report only to
another lawyer, never to
a generalist, line manager.

Really, old-line businesses, or
any business with old-line attitudes,
can be just terrified of software
developers and work hard trying
to minimize the power of the
developers, e.g., use
divide and conquer by making
sure no one programmer is essential
and, instead, the organization has
various cases of back-ups.

But the ignorance (1) and resentment
(2) go a long way to explain the
nonsense.

Finally many VCs like to see
technical CEOs -- good.