Hacker News new | ask | show | jobs
by senordevnyc 2377 days ago
If you're a software engineer in a city where these companies employ folks and you're thinking this doesn't apply to you, I'd encourage you to at least give it a shot. It's not only the absolute best of the best who get these jobs.

I recently decided to do a round of interviews after 10+ years as an independent web / iOS dev, having never had a professional software dev job. I'm also a self-taught developer with a business degree from a no-name state school. Despite all that, I've been really surprised and happy with the market reception here in NYC. I got interest from the bigger guys like Amazon, FB, and Twitter, as well as smaller companies like Dropbox, Stripe, Square, Coinbase, etc. Last week, I got a very good senior / staff offer from one of the smaller public companies for around $400k in first year comp. With bonuses, promotions, refreshers, etc, that could easily average $500k - 600k per year over the next few years. And I had no competing offers. Some of the other companies I'm in the loop with will almost certainly offer quite a bit more, although I love this company that made the offer and I'll probably just drop the other interviews and take it. Comp isn't everything.

All this to say, if you're interested in making more $$ and these companies are hiring where you live, don't pass it up because you think it's only for hotshot 22-year-olds coming out of Stanford.

2 comments

Have you studied extensively for the technical exams? I've tried, and I've gotten interviews at several of the FAANGs as well as some desirable mature startups, but I fail at the technical screeinging stage. Not sure if I've tanked it or was close, but I get the "no hire" call or email after take-home projects or whiteboard exams.

Btw, to give you sense of it, I'd have no trouble finding a loop in a linked list, printing all permutations of a set, or searching a tree recursively. I'd have to puzzle a bit to figure out how to do DFS vs BFS, but I'd get there, I don't have it loaded into memory. I wouldn't be able to implement merge sort on the spot, I'd need to look it up, though I could probably get it frontloaded. All I can say is dayum those interview exams are hard, what I described is a pre-req, nobody will just ask you to permute a set, but if you can't, you'll never solve whiteboard the problem they ask you in 45 minutes.

For take-home projects, one (a rails app) was rejected because I used named routes rather than using the more conventional methods (I know this wouldn't be good to do in a production app... guess I just wasn't thinking about routes, it was a demo app, so I just threw some names routes in there for demo purposes, it was a take-home), along with some "duplicated" code that I thought was justified but never got to explain (I personally think extracting this into another method would be a pre-optimization that would need to be undone when the methods diverged, something I thought would be likely under the admittedly fabricated business requirements). I did have what I though was good testing, the reviewers did complement that along with some aspects of the app in their review.

Sorry, don't mean to give you my sob story, I just... I'm at the point where I wouldn't mind a crack at these jobs but just feel like maybe it's not an effort that's going to pay off (I mean, how much more time do I really want to spend on the kind of problems in cracking the coding interview? I actually feel like I got something out of studying it and preparing, but going back over and over, nah... maybe other people retain this stuff better than I do, and you know, maybe that does actually say something about suitability for these jobs).

How many tech screens and interviews did you do? I cast a pretty wide net to start, so I was in the loop to some degree at a bunch of companies over the last ~7 weeks, which was exhausting. But I didn't really think I had much shot at these bigger tech companies, honestly, so I interviewed at a ton of NYC startups too. The practice was really helpful.

I haven't totaled up my stats, but this is roughly how things went:

1. Once I got a recruiter on the phone, I had a 100% chance of going to next stage

2. For take-home projects, I had a 100% pass rate (did 3-4 of these)

3. For online assessments, I had a 50% pass rate (did 2 of these)

4. For live coding screens, had about a 60% pass rate (did 10-12 of these)

5. For onsites, I had a 50% offer rate. I did 4 of these at NYC startups, and 2 at bigger tech companies, one of which made an offer. Still waiting to hear from other one, but not hopeful.

I'm still in loop at 3 big tech companies.

The point is, it's pretty random. I flopped a couple of tech screens pretty badly because the interviewer was just difficult. Some give easy questions, some give hard. Some you click with, some you don't. And you get better at this over time too.

(I've also been amused to watch startups give more challenging interviews than the big tech companies and then make offers that are 1/2 as valuable)

In terms of prep, I took a data structures / algos class at Harvard Extension a couple years ago that was really helpful, and then I've been doing some Leetcode and CTCI problems the last couple months. Not enough though, honestly. I also went through some mock interviews with Interviewing.io and TripleByte, both of which were helpful.

By far the most helpful thing though is that both of the big tech companies where I did onsites actually tested me on mostly real world iOS dev, not generalist whiteboarding algorithms. And the other tech companies where I'm in the mix have also been a little more flexible. Twitter for example offered me the option of a take-home iOS project or a traditional 1-hour generalist tech screen. Although their onsite is still whiteboard coding algorithms from what I understand. Sigh...

Thanks for your reply! Your pass rate is quite a bit higher than mine - I'm 0/2 on projects, probably 2/5 on interviews (I'm only counting the in-person interviews, don't have a problem with phone screen level). Some were much easier than others. I think my most recent interview was a couple years ago, though, haven't done much of it lately. I do agree with you and the other reply (mdocherty) that it is a bit random and you only need to connect once. That said, it's not totally "free", there's no real point (for me at least) in going into these without substantial prep.

At my google interview, I asked for 3 weeks. My lunchtime "interview" (this one is unscored, just a chat) told me that he had requested and studied for 6 months! Seriously.

Now, some of that may seem nuts, but if you really don't know much about data structures, algorithms, binary arithmetic (or are very very rusty on it), I can see how a stretch of studying would be good for you. But once you have, it starts to feel like re-studying for your midterms. Still, for $250k and up, with growth potential... yeah, I can see why people are willing to keep going through the washing machine.

Lastly, I suspect you're just a little better at this than I am. I think I'm in range, but it's a little more of a stretch.

All it takes is for once successful interview loop. There is really no downside to interviewing. The bar is high but manageable just keep practicing!
That's awesome that you got so much success from interviewing at FAANGS. But, I'd say you've done a lot better than most people could. So, give yourself some credit.