
How I got a job at Stack Overflow - mjibson
http://blog.mattjibson.com/2012/04/How-I-got-a-job-at-Stack-Overflow-8
======
kjleftin2
"I figured getting a job at Stack Exchange is at least as difficult at getting
a job at Google (to which I did not apply, because I thought I wasn't smart
enough)"

As a Google engineer who has spent lots of time interviewing and recruiting,
this is an attitude that potential candidates need to get over. Google's a
software company that will ask you software questions during the interview.
There's no magic aptitude test. There are no riddles. Just read Steve Yegge's
great blog post on interview preparation and apply! ([http://steve-
yegge.blogspot.com/2008/03/get-that-job-at-goog...](http://steve-
yegge.blogspot.com/2008/03/get-that-job-at-google.html)). If you can code and
solve problems, you might get hired.

~~~
mkopinsky
As someone who can code well but has never taken a formal data
structures/algorithms course, I have so far assumed that I wouldn't be able to
pass a Google interview which, from what I've heard, tend to be pretty
algorithm-focused. (Once I get around to taking an algorithms course, this
will change, of course.) Do you think I'm wrong in that assumption?

~~~
bartonfink
Note that I do not work for Google and have never even applied. I have no
knowledge of their interviewing process and can only speak to my own
experiences and prejudices.

I can't say that you wouldn't pass a Google interview, but right now, you
likely wouldn't pass an interview I gave without knowledge of data structures.
Algorithms are problem-specific, but data structures (arrays/lists, trees,
hashtables, graphs) are universal. If you get your data structured properly,
in many cases it's of trivial importance which algorithm you use to operate on
that data. I don't care about big-O performance beyond a back-of-the-envelope
calculation. I don't care about someone knowing the ins-and-outs of A* search,
but I do care if they've never heard of a graph. I care very much if I'm going
to have to explain to you the difference between a hashtable and a list (as I
did on Friday to one of our front-end engineers who thought he'd do some work
on our API...).It's not a difficult gap in knowledge to fill, but it's an
important one.

~~~
mkopinsky
OK, definitely agreed. I honestly could not tell you about the different kinds
of tree structures, but of course I know the difference between a list, linked
list, tree, graph, (hash)map, and so on.

I find it hard to believe that someone could even competently do front-end
work without some level of understanding of this. Last week I came across an
issue where performance for $(".foo") selectors was problematic in IE<=8,
which don't have a native document.getElementsByClassName() so jquery had to
search the whole DOM. Solution was to select as $("div.foo"). Without knowing
about the algorithmic complexity in searching a tree and the corresponding
algorithmic simplicity in searching an indexed hashtable (such as {"div":
[list of divs]} which I'm sure the browser keeps internally) this solution
would have been non-intuitive.

------
lazerwalker
"Let's compare: the first three declined offers took two weeks to respond to
me. Stack Exchange took two minutes."

I was job-hunting recently (also looking to move to NYC, no less), and
experienced a similar phenomenon: a few of the places I interviewed seemed
like they were good matches (smart people working on cool things, my
interviews went fairly well), but they took weeks to respond to anything. The
team I ended up joining made me an offer less than a day after my on-site
interview.

~~~
kylec
Indeed. I, too, was recently job hunting and accepted a job offer a few days
ago. I had met the hiring manager before so I was automatically moved along to
the phone interview step once I expressed interest in the position, and I had
an on-site interview followed by a job offer just over a week later. Because
it was generous, I decided to immediately accept.

Meanwhile, other companies I had submitted stuff to around the same time were
just getting around to asking me to do phone interviews, and I had to tell
them that I had already accepted an offer at another company. It's possible
that I would have liked some of these companies even more than the one I'm
going to be working at, or their offers might have been even more generous,
but they missed out because they didn't act quickly enough.

------
mythz
We also liked Matt's Open Source stuff, he hacked on just cause he wanted to
learn (keen, winning attitude :) - <https://github.com/mjibson>

~~~
mwsherman
Also notable is that Matt had no experience with our particular technology
stack. He won us over with problem solving skills and curiosity.

~~~
JasonPunyon
Word. Jibby is awesome and I'm glad to have him on the team.

------
jtheory
Neat followup: ask the companies who declined for a little insight.

Particularly now that you've found a position and they know you're not going
to argue with them about their conclusions (that'd be my worry, as the
interviewer, if someone was asking this kind of question), many of the
interviewers might be able to shed some light on that decision.

There might have been cultural differences (though that's sometimes really
hard to gauge in a short time...), or maybe random errors you made that
concerned them (but nervous people make odd mistakes...), or they may have
found another good developer who didn't need to relocate (the need to relocate
probably _would_ count against you by default, even though you were dying to
move).

If this is possible, I'd be curious to hear what they say.

~~~
irahul
> Neat followup: ask the companies who declined for a little insight.

The main reason you aren't going to be getting any answers is anything the
companies say can be extrapolated to prove discrimination. No one is going to
invite lawsuits by giving you constructive feedback. The reasoning that you
already have a position doesn't matter.

~~~
gnosis
_"The main reason you aren't going to be getting any answers is anything the
companies say can be extrapolated to prove discrimination."_

That might be part of it. Another part of it is that many people are loathe to
criticize anyone, and would find it uncomfortable to give a negative, but
honest evaluation of someone to their face (or even through email).

Another reason for not giving evaluations to rejected applicants is that
people are busy, and feel like their own time would be wasted for the benefit
of someone who's not a part of their company.

A related reason is that the employers feel it would not benefit them in any
way to give a rejected applicant an evaluation. It would only benefit the
applicant.

Finally, I think a lot of people just don't really care much about others.
This goes double for people who they barely know, have no business
relationship with, and will probably never see or hear from again.

~~~
jtheory
I thought of both of these things -- but look at the places he interviewed.
They spent a lot of time with him (sometimes several days!) and he was largely
dealing with technical folk, not HR people.

I'll bet if he asked them all in the right tone -- and without demanding a lot
of time -- he'd get at least a few responses.

I know it's possible, because I've read several posts in the past from people
both saying they've done this (and providing some details), plus others on the
hiring side saying they'll generally give useful feedback if _asked_ at the
end of the interview process.

------
exim
While Joel's articles are interesting and, as a user, I like their products,
from an outsider's point of view, I have an impression that their internal
engineering is, as we call it - "yet another CRUD job", but "packed" in a
shiny way.

It would be great to hear insider opinions.

------
chrisaycock
I'm glad to hear this worked-out in the end for you. I got my current job
through SO Careers as well. Of the firms I applied to on there, most asked me
for an interview, and most of those were pretty good companies. The one I
chose in the end was love at first sight. And they too told me during the on-
site they were going to make an offer. I've been happy ever since.

------
prophetjohn
How did you go about coordinating the move to New York? I'm strongly
considering moving to Brooklyn when I graduate in December, but the logistics
of getting there and finding an apartment seems pretty difficult. I don't know
if I should field offers first or just have 10 grand in the bank and head
there unemployed to look for a job.

~~~
cletus
Let me help you with this.

New York can be a very expensive place to live. It can also be a cheap place
to live. 10 grand, done right, will last you a long time in New York.

My advice would be:

\- If you have a car, get rid of it. Do not, under any circumstances, bring it
to the city. This alone will save you a ton of grief (parking, tickets, rules
about which side of the street you can park on and when and so on) and money
(insurance in the city I believe is higher) and you simply don't need it;

\- Get rid of your stuff. You need a suitcase of clothes, a computer and,
well, that's about it. The more of the rest you can get rid of the better;

\- There are decent parks of Brooklyn and Queens you can find a room for
$1000/month or less. Ideally you want to find a room and not sign a lease
right away. It's more flexible;

\- You can live out of the city and commute in for job interviews. This will
save even more money.

I live in New York and love it. New York is the kind of place where attitude
matters. You have to decide to like it. If you do you'll love all the great
things: the energy, the proximity, things going on, etc. If you decide to hate
it you'll notice the bad things.

Good luck.

~~~
prophetjohn

        If you have a car, get rid of it. Do not, under any circumstances, bring it to the city.
    

Ah, I have a small truck and wanted to drive it there, so I could bring my
bed, and then sell it when I get there. I guess I need to decide if I can sell
a small truck in the Austin area for enough more than in New York to cover the
cost of a new bed.

~~~
memset
I talked to my insurance company; insurance is more than 3x what it was in NC.
Ditch the car.

And yeah, it is fairly easy (and fun!) to pick up inexpensive furniture here.
And, of course, the size of bed (desk/chair/sofa/etc) will depend on the
apartment you get.

(Someone else mentioned $500 bucks for a nice bed. That is some one-percenter
bedding right there, if you ask me!)

I had packed six boxes, and my parents shipped them to me when I finally found
a place to live. Turns out those boxes are still unpacked (and taking up space
in my room!)

~~~
mnutt
It may be obvious, but don't buy a used mattress from someone you don't know
in NYC. The bed bug risk means that it isn't worth it.

And I don't think that $500 for mattress + bed frame is ridiculous, given that
you spend roughly 1/3 of your life on it.

~~~
gnosis
Some unconventional alternatives to a mattress and bed frame:

\- if your floor is warm enough, a sleeping bag on the floor (or perhaps on a
foam mat -- the kind used for camping) might work

\- try a hammock (some are sold with special suspension intended to be used
indoors)

\- a couch or futon

------
rpicard
I started an internship at what I'd consider a "dream company" a little over a
month ago. I found that technical experience really isn't the most important
thing (I'm a freshman in college without a ton of previous experience) as
well. It seems to me that unless you're talking about a real computer science
job (e.g. advanced algorithms), if you have the fundamentals of programming
down you can learn the details of what you'll be doing on the job. I don't
have enough experience to judge how broadly that applies but it has been the
case for me. You can see my submissions to read about how I got my internship
(not sure of the etiquette for posting your own link).

Great post!

------
maz29
Thoughtful story. Its posts like these that keep me going and give me the
motivation to pursue my outlandish ideas.

------
msutherl
Similar thing happened to me. Applied for a few jobs in NYC. Nobody got back
to me except for my dream company, who made me an offer shortly after a single
phone interview. Shows that good employers are looking for people who are
passionate about their product above anything else.

------
jackmaney
Thank you for sharing these lessons. It's good to know that you can get a job
at an awesome company without being a God/dess of Software Engineering that
spoke in bits before the universe made its way out of the dark, lifeless
void...

------
appleaintbad
I have a lot of respect for Joel and Fog Creek, and those that work for them.
Good job getting a position there. That said though, if I were working for
Joel, I'd not be writing blog posts about getting a job, I'd be doing my job.

------
lhnz
This guy's passion and love for the product are worthy replacements of any
rockstar technical ability.

------
jesseclay
Awesome article. Nicely written and engaging!

------
biller
I mean almost any city in better than NYC. Nice article but it sucks that
you're now living with such a low std of living.

