But it's not for everyone. Are you able to live comfortably on $175k per year? Do you enjoy what you do and the people that you work with? If so, I don't think there should be any shame in staying where you are. Don't feel like you have to chase every last dollar.
And I've never seen anything close to 5.9% for COL from any company. Most companies don't give that even for top performers. I don't think companies are prepared to give 5.9% COL, most companies are already so short sighted they would rather lose their entire engineering department instead of give raises to keep up with the market rate (even though they would be willing to pay that market rate when hiring a replacement). That kind of short sighted thinking simply does not allow a massive COL increase, no matter how much data is out there.
So as far as general advice goes, it makes sense to recommend trying to get those FAANG jobs if you can.
and it might actually be better to donate the diff between 300k and 175k vs working in a slightly more ethical place for 175k
this really triggered me. you basically say its ok to do shady things as long as you give something to the poor. sounds so much like "indulgence" in Christian churches where you could pay off your sins. sad.i'd say money is not a permission for you to do bad things, and it should not make you fell better about bad things you did (and continue to do) just by giving some of the money away.
To put an example with Open Source, Amazon is pretty bad considered, while e.g. Red Hat is "one of the best".
But I don't mean those extremes, I mean more mundane companies. Let's compare say Apple (neutral-ish?) and Stripe (neutral-to-slightly positive) (note: about Open Source!!). What do you think would have better impact in the OSS ecosystem, to work at Apple for $300k and donating $125k to open source projects, or to work at Stripe getting paid $175k and not donate anything?
Now since I'm not native I think I might have explained myself wrong; see sibling comment (to yours) I made clarifying what I meant.
Everyone knows that socially paid things are wrong, and that everything should be private.
No one wants public fire departments, schools, legal systems, police, etc etc. Only socialist countries do this.
Where I live, we have private fire departments because the government one's are not maintained and the ambulances are being used as taxis.
Socialism + corruption (and that the only kind we get) is way worse than you can imagine. Especially for the poor.
Can imagine still don’t see it. Communism + corruption, sure.
There's a broader spectrum to donation than just donating to the poor.
X harm + Y good > X harm + 0 good
- with fewer people interested in working at Evil Corp, salaries there will trend up and they may not be able to grow as much as a consequence.
- if the most skilled people don't want to work at Evil Corp, that also makes it harder to do evil.
I really hope people aren't using oversimplified analysis to justify working on evil stuff.
That’s not actually how it works. Maybe it’s 90% true, but the 10% matters, even if it is difficult to evaluate.
What is the impact of a position at Evil Corp staying open for 6 months longer than it would have otherwise if GP doesn’t take the job? I don’t know, that is a difficult question. But I know it isn’t zero impact.
Our actions matter.
In ten years, you will have saved more than Oskar Schindler did during the entire Holocaust.
But of course you have taken one path to the Trolley problem and Schindler (who joined the Nazi party) has taken the other. Now it remains to be seen whether history remembers Oskar Schindler the Nazi Party member or user vincnetas who avoided FAANG as the more ethical.
this is tangential to slavery where slave owners where treating their slaves very well, but fundamentally they still were slavers.
This isn't true. Google allows you to "scale" your work (eg 80% pay for 80% time).
Well.. sort of. My partner was doing 80% for 80% at goog for many years, which sounds like a good deal. Except the demands were more like 40-50 hours/week, with management always saying that full-timers were working way more than 50 hours, so at 80% salary you better be working 40-50hrs/wk.
In Europe such scaling is generally guaranteed by law, and I don’t think any big company would be stupid enough to be caught cheating. And based solely on anecdata I think at least as many people are “phoning it in” at Google as at any other company regardless of salary.
Hope it worked out for your partner. Being exploited with lots of privilege is still being exploited.
[0]: Google famously used to let workers spend 20% of their time working on anything they wanted (for the company’s benefit) but bad managers, which turned out to be most managers, did not reduce the load of “normal” work, so it became known as 120% time.
[edit] past tense, they may no longer work there
Not sure if your manager is forced to give you that option but it didn't seem to be hard to get at least. I think by default such requests gets accepted and your manager would need to give a good reason why you couldn't work part time.
But then you just have more stress at work, and you just can't quit that easily bc there arent so many jobs that pay as much as this one...
Just to provide the other side of this general advice, that is really everywhere, but rarely delivers in regards to happiness.
This absolutely isn't a given. Lifestyle inflation to the extreme is in one's own hands first and foremost. Which is the most audacious part in this whole topic: yes your CoL is likely to be high if you earn such a giant income, but you are given options the majority of the west, let alone the world, will never have. As long as the percentage of one's income spent is roughly similar across all.
yes, but most people do that lifestyle inflation - by most I'm going to go with 90+ percent
The marginal value of a good software engineer is very high when there is good cash flow. It's difficult to increase cash flow without engaging in some software activity. Organizations tend to find that growing a large software organization is counterproductive to effective development vs. growing a better software organization.
Most people can't live comfortably while holding a full-time job, esp. a demanding one. The job just eats too much time and energy.
The exceptions are people with very high energy levels and people for whom the job is their passion (but even for them, it's usually temporary - passions change over the duration of one's life).
Some companies, some products, some teams, some (lower) level of stress, some amount of learning you are getting, some work/life flexibility - at some (temporary?) point in your life - might make a lot of sense to be considered together with the $ you get paid. I am all up for maximizing what you get out of your job, but you might want to optimize for multiple factors, not just salary.
Also, this discussion is very centered on yearly comp. It’s good practice to ask yourself how risk prone you are? That early stage startup equity comp might turn into much more than you will ever get paid at a large established company.
So when you are maximizing, ask yourself over what time horizon you want to maximize? One year?Three? Five? Ten years? It’s rare to get truly great things instantly.
I just want to show that not everyone making > 200k switches companies every 2 years trying to minmax.
You left after the 4 year cliff. That’s hardly an argument against keeping the same or higher TC though.
If I were you, strictly from a financial point of view, I'd probably test the market to see what offers I get.
There are a few home grown publicly traded Boston employers such as HubSpot, and to a lesser extent Wayfair which pay competitively. However there are also large presences from Salesforce, Amazon, Google, Microsoft, FB, Spotify and others who pay more competitively.
From my experience no company founded in Boston pays top end wages. This job search I only considered big tech side offices in Boston and remote roles for Silicon Valley companies.
My recommendation: find some data points on Levels.fyi that match your experience/level, location, and desired TC. If there’s a bunch of data points, then it’s possible. Interview with every employer listed in these data points, and don’t take a job if it’s less than your desired TC. The market is hot and you are in control.
Of course, it could be worth it! That’s for you to decide.
I made $55k 10 years ago, and just took a pay cut from $225k to $160k in a much lower cost of living area. I've had jobs with consistent $25-50k yearly cash bonuses, where some folks got as much as $250k of bonus in a year. And then options and RSUs are just the icing on the cake. Big lumbering public company? Starts at 100k a year worth of RSUs. Early stage at a unicorn? Easily $1M a year.
I've mostly worked at pre-IPO startups you've heard of -- forget FAANG.
East coast salaries a decade ago outside of New York were abysmal compared to their west coast counterparts, and still are for the most part, but due to the rapid growth of remote work, things are improving greatly.
I’m extremely mobile. Not like permanently move mobile. But I’ll take contracting work that require me to move to NY or London or whatever. Very job bumps my salary up. If I have to switch continents I will.
Home is always my low cost of living place, and in practice I spend the majority of time there.
I know most people aren’t like this. And most people don’t have spouses who tolerate this.
My wife is either very understanding, or maybe she just doesn’t like me that much.
But if I’m like, honey, I have to move to Austin a for six months, she’s like “Ok, just be home for Thanksgiving.”
Boston is a joke. Growing up here my whole life I thought we were right behind SV. Boy was I wrong. Seattle, NYC, and Austin have all eclipsed Boston as a tech hub. It’s embarrassing.
Apply for remote. Now you’re exposed to companies based in SV. This is the time to do it - The Great Resignation has made jobs plentiful with unreal comp.
Also study up. The best positions are the hardest to get into. Give yourself 3 months to study and these opportunities will be yours for the taking. You clearly have the skills, you just need to put yourself out there.
If you use the "Robert Half" site[1] from the original article, it says Boston is +34% compared to US baseline (vs SF's +42%, NYC's +40.5%) which roughly lines up.
[0] Google: https://www.levels.fyi/company/Google/salaries/Software-Engi... vs https://www.levels.fyi/company/Google/salaries/Software-Engi...
[1] https://www.roberthalf.com/salary-guide/specialization/techn...
But either way, not everyone can work for FAANG, so I think looking at the overall picture is fair.
I'm pretty confident even with 20 years of experience and I can't even get a FAANG interview (let alone pass it), I'm just not their type.
The levels.fyi median seems to be on total comp.
The Robert Half data seems more likely to be accurate.
If you want one, I've never had the impression that getting an interview was the hard part. I participated in Google Code Jam maybe 9 years ago, passed either 0 or 1 rounds (there's a "qualification round" which I definitely passed, and later a "round 1" which I have a feeling I probably didn't pass), and every so often they offer me an interview unprompted because of that.
I did mediocre on the interviews, they were undecided on whether to hire me or not. They sent in a take home problem. I only spent a few hours on it, but easily could’ve spent weeks perfecting the solution.
Anyways, if I had 1) prepared for the interviews and 2) spent the entire weekend on the take home project, I probably would’ve passed.
And even though I didn’t get the offer, they still ping me about every six months to see if I want to apply again.
Just try applying and see what happens!
With that said, I think it is because at the time the Boston office was mostly specialists and I'm a generalist. I'm also not from a top 10 school in a city filled with top-10 schools which didn't help, I'm sure.
But that was years ago. Maybe I'd have better luck these days.
People say this a lot, but Google is pretty explicit that they decide whether to hire you first, and only then consider where they might put you.
Congrats on making an income I could have only dreamed of as a college kid.
I've made very little money and FAANG-like money in my career. It has nothing to do with the difficulty of the work, the impact, or the hiring process. It's purely how badly the company wants "top" talent and the extent to which they want to / have to use money as a magnet.
why? i don’t know, it’s definitely not any easier work. but it’s reflected in the comp
Comparison is the thief of joy.
Do your job.
With that said I am in those search results (I checked) :-P if anyone wants to go through 63,000 people, be my guest. Everyone needs a hobby :)
there's a comment like this in every single thread like this. and the recommendation is always the same: grind LC for however long you need in order to be comfortable solving hard problems cleanly in 35-45 minutes and then collect your pay bump. the fact that the
1. data
2. complaint
3. recommendation
crop up with 100% perfect regularity means that it's the solution that simply isn't palatable to all of the people that express the complaint. to which i say: what exactly are you expecting to give among these three things?
Just the fact "grind Leet Code" is a recommendation to someone who's most recent job title was CTO and has written two books may be a sign these interviews are broken.
But point taken, I'm sure if I studied specifically for interviews I could get those jobs. But the fact remains, a vast majority of people don't work for FAANG and even the "person unwilling to work for FAANG" example is higher salary than I have ever seen.
My point was actually that the article and ones like this seem well research but don't match the reality. For example, I recently interviewed at a fortune 100 company for a Director position and it was what this article says is "non-FAANG staff engineer" salary.
Isn't it more that they match the reality, but the reality only for a relatively small section of a bimodal (or more) distribution?
Who are we? Which salaries?
Starting salaries for lawyers are one of the most famous examples of a bimodal distribution you can find. Salaries across the country generally are less bimodal than that. But salaries shouldn't be modeled as a normal distribution in any event. They skew high very easily, and they can never skew low.
Well, I'm sorry you have to go through the same ropes that we peasants do, you highness.
If I was hiring for a tech position and had to choose between an engineer with a few years of experience and strong analytical skills proven through coding & system design interviews, and a person who prides themselves on 10 years as a CTO at a company I've never heard of and two book authorships, I'd strongly lean towards the former.
So assuming Levels.fyi is accurate (their numbers are $20k more than salary.com which is more accurate in my opinion): my point was that I am average, right in the middle. But this article is telling me (and by extension, since I am at the mean, 50% of software engineers) are extremely underpaid.
And maybe on a nation wide scale that includes non-Boston metros, I am. But for Boston... I'm not over or under. I'm right in the middle.
Basically based on my research I think this article is for a very niche group at the top 25% of pay ranges and is not accurate or relevant to 75%+ of software developers (numbers are ballpark).
Leetcode is relevant to getting the money though. It may be the case that inexperienced new hires with Leetcode proficiency make significantly more money than CTOs in the positions you're considering.
But the jobs you'd get with leetcode would pay twice your current expected liquid compensation at least (assuming 0 stock growth) for your experience level. If you don't want those then fine, but then you can't complain about threads like this either.
Google has jobs in Boston, I bet there are many other tech companies paying similar as well. Pay at these varies by location, but not more than around 10% within USA, so it isn't like it is your locations fault, if you worked at these companies you'd be earning very close to the same you'd earn in silicon valley.
Not everyone works for FAANG.
Also, leet code is not relevant because the questions asked at that level are typically not algorithms. I passed the leet code stage in my career 10 years ago. Questions I get asked are typically around architecture, distributed systems, scaling, etc.
So what you are saying is someone who can answer the leet code questions easily (and has been able to for a decade) AND is an expert architect, should get paid less than someone who can only do leet code?
Top companies still ask algorithms at these levels and fail people at these levels if they don't perform at least as well as juniors. If you are L6 at Google you are looking at liquid compensation around $500k a year, and they still require mostly leetcode questions. Of course you wont get considered for those positions without a ton of experience, but to get them you have to do your algorithm homework.
> should get paid less
Not should, will. I didn't make any claims to what things should look like, I am talking about what the market looks like now. Your ability to do algorithms is more important for your compensation than your ability as an architect or as a leader except for extreme cases where you start to get into higher management positions at big companies.
Edit: And if you are great at algorithms as you say, but doesn't leverage that skill to get higher pay then that has the same effect on your compensation as not knowing algorithms. It is simple. So your insistence on only looking for jobs that doesn't test algorithms is probably the reason your salary didn't balloon as you'd expect.
Saying questions asked at that level are not about algorithms was based on my non-FAANG experience. I shouldn't have been so absolute.
But with that said, to back up and restate where I was trying to get. What I was trying to say is that algorithms are table stakes, you should absolutely know them at a senior level but the actually questions you should be being asked should be more advanced than that.
In all SV companies coding interviews are strictly required at interviews at M1/M2 level (up to 60-80 reports) and required at some companies at D1 level (150 reports). CTO at start up with 20-30 reports is M1 and will have to do coding 100% and failing coding interview is automatic no hire.
>>..someone who can answer the leet code questions easily (and has been able to for a decade)...
If you are a CTO chances are you have not been practicing LC. Even if you were able to do LC style questions a decade ago, without practice you are very likely to struggle with them. So don't assume just because you are CTO / architect you can do LC style questions. The questions have been becoming progressively harder each year. It is a sad reality, our industry does not decide compensation based on experience, knowledge and actual skill used on the job. If you want to maximize your compensation you have to do LC style questions. Even non FAANG companies ask LC style questions these days.
Though, with that said, I have been on the interviewer side a lot and need to know some of them well enough to know if the candidate knows their stuff. So I'm not completely rusty. And as CTO I would often read through what other companies are asking in interviews to make sure what I'm asking is in line.
My objection was the implication that not crunching Leet Code problems was the sole reason for the low compensation.
But you are right. I should not assume because at one point I knew all those algorithms that I can still explain them under pressure of an interview.
It's true that at the staff interviews i just did, LC was not required but at the staff interviews i'm about to do they will be.
As an interviewer (granted not at FAANG) I see no value in you just proving you did an algorithm on Leet Code. You could just be passing it through rote learning. I want to make sure you understand it. Otherwise I'm just wasting your time. But that's just my interview style, I know bigger companies may be different.
OK, I agree that's definitely something the candidate should be able to do. I'm just trying to point out to anyone reading that it won't be sufficient to explain an algorithm. You have to actually write code to solve a given problem. That's not the same as regurgitating code you remember from leetcode, so please don't think that. You have to apply techniques that you've learned. It's not easy, and it's not intellectually shallow.
This comment and those further down (particularly doubting the data) suggest that you're experiencing strong cognitive dissonance. There are, I'm sure, hundreds of engineers on HN that can testify to exactly how much FAANG pays and in which metro and how little experience they had (not including LC) before they started.
The claim that hiring is broken has been constantly repeated since ~2010 and yet all of these companies somehow, despite hiring all of the wrong non-CTO people, are still alive and are in fact thriving. Like I said: given how consistently these mantras are chanted I'm just curious what you're expecting to have changed since the last time a post like this was made (you did say "every time I see..." so you've certainly seen many). It's a little like that episode of parks and rec with the reasonabilists where they keep predicting and amending the date of the end of the world.
Don't take this the wrong way, but, having helped several people through the interview loop at FAANG, my experience is that it is frequently the ones that see themselves as above grinding LC, that have the hardest time making it all the way through. And I don't mean wrt wrestling with how tricky some LC problems are (most everyone struggles with eg DP) but with marshalling the discipline and patience to actually do enough to do well during the interview.
It has been said before but my personal experience reflects this: it is of absolutely no surprise to absolutely anyone that those that can grind LC fare much better once on the inside and facing the sheer abyss of complexity of FAANG systems.
My comment was not that I don't need to know algorithms it was that at a senior level the questions should be far more advanced than what leet code has.
I'm a little amazed that so many people in these comments assume I don't know algorithms.
Seniors (>=L5) go through a "pirate" round that's system design/arch in addition to the "ninja" round. But you're a CTO so you should be able to ace that (after handily passing ninja since you know all the algorithms). So what exactly are you waiting for? I mean like do you want a referral? I'd be glad to make a quick 5k for referring you since you're so confident that you're good enough.
I probably will start applying if my new company doesn't make it.
Though a lot of me wonders why I am working for no pay at my own company when it sounds like I can make enough to retire being an individual contributor. I do believe in my idea though and want to see it through.
I have friends at just about every one of the FAANG companies so a refferal's not the issue.
Edit: When I say way too long... I mean 10+ years.
Edit 2 because I just realized how it could have sounded: I didn't start a company then give myself the CTO title. I was CTO at my previous job (the one I was at 10+ years).
- I graduated college right before the great recession and that effected my career starting rates
- I stayed at a company I knew was under paying me for far too long (because I had a lot of stock options and I valued them too highly)
If either of those two things were different I'd probably be making a lot more. But my point was, regardless, I am making the mean salary for my region and that mean is not what is represented in this article.
So yes, actually... in hind sight I should have gotten my Masters degree instead of entering the workforce.
Edit: That job I stayed at too long... only reason I took it in the first place was because the recession left me almost no choices. No one was hiring in Boston. The job boards were empty for someone right out of college.
the article didn't say it was representing the mean salary though, probably the salary they are representing is the average - so there are a few high earning outliers pulling that number way up.
Hey just a theory. I am probably wrong.
You're wrong. A previous team built a simple data processing pipeline for a big customer. The throughput is single digit per second. The customer was furious as they would have wait for days to get their data in. The reason is the team was not aware that their graph building and traversal algorithms are O(n^2), and they didn't understand how to distribute their processing logic. My team came in, fixed the algorithms with merely dozens of lines, and improved the throughput by more than 200 times in a matter of days. If you build large backend for data intensive systems, which pretty much every tech company needs, you will need algorithms and data structures. Probabilistic data structures? Check. Manually optimizing popular machine learning algorithms? Check. Rolling out our own implementation of graphs, trees, vector similarity search algorithms and indices, parallelization algorithms, cache oblivious data structures? Check, check, and check. You don't have to use those techniques, but your value to your projects will increase exponentially if you push the boundary.
I said algorithms are table stakes (a poker term for something you need to know just to play at the table). To continue the analogy, sounds like whoever designed that system didn't have enough to buy into the table.
> If you build large backend for data intensive systems
I have. Many.
Depends on how extensive your processing is of course.
Another thing about these threads is that the hundreds of people making the big bucks are always the ones happy to confirm these numbers, and the (hundreds? thousands? who knows?) making small bucks just silently lurk and think to themselves, "I'm doing something wrong." So you get selection bias. Then one person actually has the gall to post "I'm making less, clearly doing something wrong" and he gets tons of responses like "You're underpaid, brah, go get another job!" It's just not a helpful response.
I say this as one of the lurkers who is tired of pointing out that many of us don't make these so-called average salaries, because the response is always the same: "Dude, it's data--can't argue with that. Leetcode and/or try a different company" (as if we haven't done that already).
I have literally zero idea what are you're trying to express. There's no selection bias if everyone is FAANG is very well payed and everyone outside is not.
But if you really want to see something vaguely like that then go on blind and look for posts like "I'm making 650 as an E6 where should I go from here", the idea of which I'm sure just further confounds you but I'm sorry the data is very accurate (eg inside FB/Google/AMZN there's a group that openly discusses return offers for interns and it's always within a few percent of what is on the public side).
I don't see how there couldn't be sampling bias. Salary is a sensitive topic, and people who are making on the high range (within FAANG or outside of it) are going to be more likely to want to post about it and answer surveys about it than people in the low range. HN and Blind are obviously not random sampling. levels.fyi claims to use self-reported offer letters AND reach out directly to compensation folks at companies, which is better. But are these individual companies sharing unbiased data?
When one encounters average numbers that are a little higher than their reality, it's disappointing but believable. When one encounters average numbers that just look just crazy, one begins to ask "am I really this much of an outlier or should I suspect methodology/bias?"
There is little correlation between the quality of your tech stack and profitability.
You could say that means hiring isn’t broken, but only from the perspective of the company.
Hire me inflated ego without any tests, of course. God forbids I have to do anything to get a job that will put me in a bracket of earning more than 99.99% people in this world.
Which is more difficult to do for people who have a lot of non-work commitments, like say raising a family. So this method of hiring introduces some biases. Not that I have a solution.
I expect a promotion and ~20% increase next cycle. Interview was no leet code (I’m terrible at it!) - my strategy was to interview at public companies with levels on levels.fyi but not FAANG
I've heard the same about Google and Netflix
I think they're permanently WFH flexible but that's very different from remote (I don't have to move to take a job that's remote)
I live about 40 miles outside of Boston.
Edit: Looking at levels.fyi for Boston that actually puts me above the median[1]. Why the heck is Boston so low compared to other markets?
Edit 2: Boston, MA and Denver, CO on Levels.fyi are both a median $159k but due to cost of living, that $159k in Denver is the same as $211k in Boston. I.e. adjusted for the cost of living, Denver pays 25% better.
[1] https://www.levels.fyi/Salaries/Software-Engineer/Greater-Bo...