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.
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).
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...
For private companies, RSUs aren't liquid, and ISOs actually cost money to exercise, so they arguably have negative value. Treating them as cash-equivalent makes these rankings very misleading.
Ideally they would be separated out. But if you have to make a single ranking, it's way more misleading to include RSUs/options for private companies than would be to ignore them.
To be fair, I have 12 years of experience, 9 of that in mobile dev, but all of it is self-employment experience. Comp is just insane at the top companies.
- base salary (cash)
- sign-on bonus (typically a large one-time equity grant that vest over 3-4 years)
- a raise each year (cash)
- an accompanying equity grant (which also vests over 3-4 years)
Where the whole thing seems weird to me is that they seem to be comparing pre-IPO options/RSUs to actual stocks as if they were apples-to-apples. This matters because the fraction of an amount that is attributable to equity is typically large (sign-on total value is a few times the amount of base salary for a year, for example, so I wouldn't be surprised if these numbers were 50-75% equity)
This 170k median doesn’t fit with other stats available, and is only true if your sample is limited to FAANG and unicorns, which exists, but is small in Pittsburgh.
I've managed to barely squeeze 120k-130k CAD (90-100k USD) out of big companies here (e.g Shopify). I'm not sure if having free medicare is worth losing 2-300k...
Oh and I've tried applying for remote positions in the US and I get the good ol compensation skewed based on COL mantra.
Are there any plans to provide adjustments like that?
What people (especially on HN) think "scraping by" looks like is getting a little nuts. Just because you can't have an opulent lifestyle and a cheap five bedroom house doesn't mean you're struggling. $200k in SFBA is well beyond the point where all your basic needs are met.
The median home price in the Bay area is ~$1.5 million, so at $200k salary you'd be stretched with that kind of mortgage. Most homes where I'm from aren't worth $200k. What about child care, and the cost of commuting? You might not be "scraping by" on $200k in SV, but should that even be remotely a concern at a white-collar job working for some of the biggest companies on the planet?
In SF, day care is almost 3K per month per child! On the penninsula/SF, if you rent a 3 bedroom apartment, it'll cost 4k-6K or so per month or more, that's 60K of your 130K take home pay.
Is $3000 per month a good estimate for bay area? or am I underestimating.
This is about $2000 a month higher than reasonable rent. This means, your annual cost of living increased by $24,000.
$24,000 per annum is the difference between a small town, and bay area. Am I missing something? Do you pay for apples $20 a lb instead of $2-5 a lb? Is your electricity bill $600 a month instead of $100-200 a month?
What else is expensive in Bay Area other than rent?
If you barely scrape by on $200K in bay area, are you saying you barely scrape by on $176K in a small town?
People say these things, it's not very accurate even though the bay area is obviously very expensive.
You've got roughly $130,000 in take-home pay at $200k in the bay area. Your employer is paying for your health insurance.
Even if you're paying $5,000 per month in rent for an apartment, you're still not scraping by. You've got $60k to $70k (depending) to distribute to everything else (food, utilities, lifestyle, etc), with housing and health covered. You can trivially buy a year old Mercedes or BMW sedan every year if you feel like it, like all those other people barely getting by.
You can spend $2,000 per month eating out, instead of $400 cooking for yourself, if you feel like it, as with all those other people choosing between their vast food options while living on food stamps.
What a gross exaggeration. Had you said 90k and for a family, then sure, but unless you consider "not having a new Tesla" as scraping by, this is disingenuous.
Source: Lived in Bay Area all my life with under $200k salary, not homeless, not scraping by, saving (a little bit) of money, able to go out with friends and my hair isn't falling out from being unable to pay bills. Maybe some of the big earners out there would consider my lifestyle "scraping by" but I like to think I know the difference between "scraping by" and "living within your means".
I have as well until recently. Living in SF that's probably a close to accurate statement. If you live in Concord or Martinez (which is still technically the Bay Area), you can do quite nicely. Although, you'll trade ~2 hours of your life in commuting on Bart. Not to mention the overall discomfort of the Bart commute itself (better than the drive however).
To a lot of people it doesn't matter how many fancy toys they have, they want stability.
This cannot be understated.
This... is how the world works.
But, note, the above is for average software engineering salaries, not for the sky high FANGS.
On the other hand, If you are married w/ toddlers and your spouse is on a non-work visa, you're gonna have some tougher luck w/ COL.
Like most software engineers in the UK, I could almost certainly make at least triple by moving to the US but I don't consider it worthwhile for me. Many people do - there's no right answer.
Note that the figures are in US Dollars. In next few months we'll be adding better currency support.