Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How I got a job at Stack Overflow (mattjibson.com)
128 points by mjibson on April 28, 2012 | hide | past | favorite | 60 comments


"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...). If you can code and solve problems, you might get hired.


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?


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.


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.


I interviewed at Google 5 years ago, and they asked me tons of puzzles and math questions (game theory and theorem proving!!). I was being interviewed for a programming job. Looks like the process has changed.


I came to this same conclusion. Knowing what I know now, I would have applied to Google.


"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.


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.


Smart companies understand that good candidates are rarely on the job market for more than a few weeks (if at all). The recruiting speed of a company is usually indicative of their overall speed.


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


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


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


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.


> 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.


"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.


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.


What are the laws and/or precedents which establish the risks you're claiming here? Why does giving a candidate general feedback on their interview presentation expose a company to accusations of discrimination?

I have received straight-up feedback on job applications in the past, so I don't think every employer sees it the way you do.


Here in the UK they do it all the time. If you use a (good) agent, you get feedback on what the company liked/disliked during the interview and why they declined. Help you prepare for the next interview (if you gave a wrong impression).


I guess the things are much easier in Europe than in USA in this regard. Not facing a huge risk of being sued by a candidate you've turned down due to their lack of skills is liberating both for the employer and the potential employee. I personally have been frustrated on more than one occasion with the complete lack of feedback and transparency from USA (or multinational) companies.

Working in Europe, on the other hand, I've tried to be open and honest to the candidates about their chances. I've personally called all the candidates I've had an interview with and told them if they've been rejected. I still think it was better for them to be updated so they could make informed decisions regarding their strengths and weaknesses, and their upcoming interviews.


If you use a (good) agent, you get feedback on what the company liked/disliked during the interview and why they declined

I guess the things are much easier in Europe than in USA in this regard

Unfortunately my experience is not the same: i've done several job interviews in the past months here in Italy and I had difficulties also having negative replies (they just dont tell you anything and after weeks/months you're supposed to know that you're not ok for them)

I can sometimes understand it when they "process" tons of candidates (for one position a firm got 500 applications on a well known job site, they interviewed 2-300 persons and during the interview they said "if we dont call you by the next week, w're sorry you're not going to the next step") but it happened to me also a couple of times when i was first interviewed by an head hunter, and then send to talk to the employer (in one occasion i did 2 or 3 interviews with the employer). And then.. nothing, I tried to ask the HH if she had news.. vague responses, from which you cant understand if they've decided not to hire anyone, wait some months and evaluate other candidates, or they've just hired someone else.

Maybe it's just an italian problem, but I think it's quite sad, generally you lose hours/days of your current job to go to this interviews, it would be just a sign of correctness to give at least a negative reply (a feedback probably would be asking too much)


Unfortunately my experience is not the same: i've done several job interviews in the past months here in Italy and I had difficulties also having negative replies (they just dont tell you anything and after weeks/months you're supposed to know that you're not ok for them)

By saying that the things are easier in Europe I don't mean they're perfect, and my experience is limited to two countries - Bulgaria and Spain. What I was trying to say is that I was allowed, and didn't worry too much about possible problems, to give feedback to the candidates. By the comments on HN I'm left with the impression that in USA this would be a big no-no and the company risks being sued for doing it.

On the other hand, the lack of feedback is not uncommon in Europe either. I think that eventually, it's about being more human and less a resource than anything. And since I've been in the position waiting in vain for feedback I know it doesn't feel good. So I try to treat fellow human beings the way I want to be treated - nicely.

Put in another perspective, we're not infallible and the person could apply for another position or at a later time, where/when his (possibly) improved abilities could be appreciated. You don't build reputation as a good place to work by gaining bad karma :).


Maybe they should able to do that to anybody. Nobody wants to work for racists, assholes, or sexists.


> Maybe they should able to do that to anybody. Nobody wants to work for racists, assholes, or sexists.

I don't follow.

It's not that the employers are racist, sexists or assholes(they might or might not be; that's not what that matters here). It's just that anything they say can be used as a basis for a lawsuit.


One of the possible reasons it took the companies two or more weeks to give a negative answer to Matt (OP) would be that usually the candidates are "ordered" by preference. When you get several strong candidates you propose to the one you consider the best fit (culturally, as specific strengths needed for the team, or professional abilities). Unfortunately, after you make the offer it usually takes some time for the person to consider the conditions you propose (salary, equity, bonuses, perks, etc.). One has to keep in mind that there is additional time involved in signing the contract. During this time it's a tough call closing the door on the other strong candidates in the backlog. Because of this, if you're not the primary candidate it could take some time before they give you a "no" or make you an offer, if the negotiations with the alpha candidate fell through.

That's an unfortunate side effect of trying to recruit the best talent. On the one occasion I had to interview and select candidates I informed two of the people that I liked that there is another candidate that we're currently talking with, but if the things don't work out with him I might get back to them in the next 15 days after the interview. Luckily we managed to reach an agreement with the guy that I considered the best fit, so I called the backups and told them that $COMPANY will not be able to hire them. They sounded grateful for the extra information and not being kept in the dark, but I'm still not 100% sure that it was the best decision, given the circumstances. What would have happened if I had to call one of the guys and tell them that we didn't reach an agreement with the primary candidate?

Have any of you guys and girls handled and solved this problem?


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.


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.


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.


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.


>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;

Don't deal with the hassle of selling it on craigslist, just take it all to Goodwill and make a large tax deductible charitable donation.


If you have any electronics, books or video games you want to get rid of, you can try Amazon's trade in program.


Just one tip about finding rooms on Craigslist. Listings usually get ~50 responses within the first couple hours of going up, so there's fierce competition. What this means is you'll need to stand out somehow as a good choice in the email, but primarily that you'll need to respond to them as soon as possible after they go up. So prioritize brand new entries over ones that look nicer but are a couple days old.

Try to line up a ton of them because most are going to "interview" a bunch of people and choose one among them.


    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.


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!)


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.


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


Another New Yorker here. Just sell the car in Austin. You can get a bed & mattress at the Ikea in Brooklyn for $500 or less and they'll deliver it. You're not going to want the added hassle of trying to sell a car in a new and huge city while you're trying to get settled. Plus, you will get parking tickets. It's almost unavoidable.


You can also get a bed from somewhere cheaper - all these places deliver. I don't remember how much I paid, but I'm pretty confident it was <$200.


It depends how much stuff you have other than the bed. Renting a vehicle one-way is crazy expensive. So is flying with more than one or two suitcases.

My hunch is, driving the small truck ALMOST all the way with your stuff, then ditching it before you get there would be the most cost-effective approach.

If necessary, get a storage locker (way outside the city) for the first month (Public Storage has "first month free" offers) until you get settled in.


I would recommend looking at rooms/shares and finding a furnished sublet. There are a lot of those at a reasonable price, and that's a much better option when you know you'll be moving in a few months. I tried this and it worked really well for me.


Lots of people decide to just pick up and move to NY, but I myself wanted to have a job in hand first. Maybe it isn't true in tech, but I know lots of folks who "just moved to NY," worked at a restaurant for a couple of years, and ended up moving back home. All depends on your risk tolerance and confidence in being able to find gainful employment!

I was so eager to leave my previous gig that I stayed at a youth hostel for the first two weeks while working and finding an apartment.

It was hard, but not completely unmanageable. The biggest blocker for me were price expectations; I had a 600 ft^2 1br for $650/month in NC, whereas I'm paying $850/month for a 4br share in Harlem. If you decide to live in Williamsburg (or a 'nice' part of Brooklyn) then you'll pay a lot more; $1500-$2000 per month in rent is fairly common for a newly-minted young professional who's decided that they want to live in a shoebox in midtown.


Yeah, the rent is definitely (too damn) high. I've also considered western Queens (LIC, Astoria, Sunnyside). But I don't think I could share an apartment several people I don't know, so I'm preparing myself to pay something in the $1500 range.

I think my best idea so far is to just find a 1-month arrangement on AirBnB where I can get settled to find a job and apartment.


Sunnyside is beautiful and green and convenient (my in-laws live there), but it is more family-oriented. LIC is very pricey these days, but is much more hip. Astoria is right between the other two in terms of price and atmosphere.


I live in Europe and I pay €250 in rent. So I can't relate to this at all. How much of your salary goes into rent if you pay $1500 and you're a senior web developer in NYC?


I'm going to guess you don't live in Paris/London/Copenhagen/Rome then! I live in Europe and there aren't any €250 rents that I know of near me. About 35% of my after-tax salary goes to rent.


I live in Berlin and pay 750 euros for a two-floor 90 m^2 (~970 ft^2) apartment with a nice view. It's nothing compared to the salaries a senior web programmer gets.


You're definitely piling on extra risk by moving before finding a job. But after someone else mentioned that relocation might count against you to a potential employer, maybe the added risk isn't that significant.

I'm also planning to relocate - to London, ASAP - and I'm looking for the job before I make the move. I've been lucky enough to find one or two very exciting opportunities that offer relocation, but with that aside, it's not an easy thing to co-ordinate.


I stayed with friends in Princeton for the first week (~1.5 hour commute into the city), and hired a broker to find me a place. Stack Exchange has a nice relocation package that made this quite affordable.

Also, I only took clothes, a computer, and my desk chair with me. I was able to fit all of my stuff into my car and just go. Now that car is parked at my friend's place, and I'm considering selling it.


Coming here unemployed is not without risk. How good a programmer do you think you are?

If you feel like you can demonstrate skills, then once you get here you can go to tech meetups and let people know you are looking. You'll get interest.


I'm confident that I'm good enough to land a job in this market. Beyond that, it's hard to say. As the least experienced developer on my team, I feel like I'm able to consistently contribute at a level beyond what's expected of me. I coast through most programming-intensive courses at my university.

My goal over the summer is to make significant contributions to open source, which I just don't have time for now with my schedule. Going to meetups is a very good idea. Is there a good way to find out about these other than just Googling "ruby meetup nyc"?


Yes, meetup.com is good. Etsy also has "Code as Craft" nights, those are fun. There are co-working spaces like General Assembly, New Work City and Projective Space which are, naturally, techie-dense. Startup Digest is a mailing list for the week's events: http://startupdigest.com/


If you're looking for ruby meetups, come to NYC.rb. (http://www.meetup.com/NYC-rb/) The talks are usually very good and it's a great group of people.


meetup.com has a good mix of tech meetups happening in NYC and the bay area.


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!


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


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.


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...


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.


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


Awesome article. Nicely written and engaging!


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: