Then I got a salary adjustment to $70k because my new manager knew (although I didn't) that they'd lose me quickly.
And then I picked up the phone and talked to a recruiter and all the sudden I had a counteroffer for six figures. Can you believe that!? Never in my life thought I'd amount to anything especially after dropping out of college. A 6 figure job made me feel like I had made it.
Stayed close to that number for several years. Then I went remote for a big company with a high base and great RSUs. Now I'm a one percenter. My mom was a drug addicted waitress with an 8th grade education. I will own my beautiful home free and clear in my 30s. I have the means to travel the world limited only by my time. I will be able to retire in my 30s.
It's all so amazing, but I also took nearly a decade to wander into that final band of compensation that many are introduced to right out of the gate at top companies. Open information like this site is very valuable to people like me who come from a non-traditional background and live in a flyover state.
Somehow it seems that remote jobs offer less compensation here in Europe.
At the same time a recruiter from a fortune 500 just directly reached out to me and it was a great fit. I ended up going with the big established company because:
1. Better offer 2. Long term product area I was more interested in.
This was about 4 years ago and it turns out that although I'm no household name in the community, I am one of the relatively few people who's been doing Go in production since pre-go1.0.
Company 1 was in New York, Company 2 was multi-national but main engineering offices are in the Bay Area.
In terms of education, I'd probably say my highest achievements are just knocking out all the undergrad math for engineering and taking a few grad level classes. I really loved math and Linear Algebra and ODE specifically.
Job-wise I went from: Student web dev -> Mediumish Ecommerce -> a couple startups doing some fun distributed computing -> Ad-tech -> platform level proxy/loadbalancing/edge compute for a big company.
Title at most jobs was either software engineer maybe senior. Held a couple director jobs that were glorified team leads. Currently, have a Principal title.
1) If you aren't at one of these companies, it's not a fair comparison. It's really difficult to find a pre-IPO company who is going to compensate you like these, if for no other reason than that options are just not something you can easily stick a dollar value on.
2) It's kind of depressing. It's very easy to find people at similar experience levels as you making FAR more money (perhaps 50%, or even double), because you aren't at a FAANG company (or whatever we're calling them now). It can really make you feel like you haven't learned/grown/accomplished anything in your career when you see people starting at a similar comp to what you get for a decade+ of experience.
Some people act as though these companies are an easy alternative for anyone, but the reality is that there are only a handful of them. For me, with a ruby background(+), I'm not particularly interesting to any of them, and I know I'm not the only one.
It's neat that between Facebook/Apple/Google you can compare apples to apples, but for a lot of people, it's really an apples to oranges comparison, and a frustrating one.
Also, I imagine it's that much worse for people outside the Bay Area.
(+: While I'm happy to learn new languages on the job and not tied to any stack, it's still not easy. For instance, a Google recruiter once told me to spend a few months becoming a Python expert, and then they'd interview me (in Python); another time a Microsoft recruiter insisted that I do the interview in Java and then got frustrated when I struggled with syntax I hadn't touched in 5 years.)
Also, most Google jobs are language agnostic. You can code in pretty much one of C/C++, Java, Python, Google hires for generalists. Your Ruby experience is not what's holding you back, so don't get bogged down.
* This all about a relatively small number of companies, all large, mostly trendy, mostly webby.
* mostly Bay area and their satellite campuses in a few other places.
* base salaries are higher than what I'm used to but not crazy higher unless one counts stock grants. When danluu casually drops numbers like 400K he's really talking about senior/principal folks in very elite job-tracks WITH very high stock grants.
* the data comes from people who have had "career trajectories" that brought them to this salary escalator. Career-changers, those of us with weird and varied backgrounds and those with rough starts are, generally-speaking, excluded from these kinds of salary expectations.
Will I read as senior even if I pass?
The backend interview lets you choose whatever language you want. You'll be asked algorithms, distributed design, code quality, and data-structure questions.
Generally speaking, if you focus too much on a programming language / stack, it comes off as a sign that you're not a good fit, since you emphasize programmer skills, but they're looking for engineers. Except for particular roles, like front-end dev, where they're looking for programmers with experience in the technology stack itself.
Provides list of the three languages you specifically need to code in.
Perhaps agnostic means something different in my language :p
It makes sense if you think about it. A small startup with 5 Python engineers can’t afford to hire one with heavy experience in Ruby and who knows a thing or two about Python.
First, it may be the case that this person can actually transfer their knowledge and do a good job with Python, but there’s also a chance they can’t and that will disturb the entire operation for a team that small, that’s a big risk.
Also, this person is not going to be paid as a Jr. Python because they have the options to be paid as a Sr. Ruby somewhere else, so the startup need to step up their pay game, now that’s a big and expensive risk.
A big company like Google, on the other hand, can afford to have that risk. If everything goes right, they end up with a great Ruby and Python engineer, if things goes wrong, Google is so big they probably have some other projects somewhere that can use a good Rubyst, and in the worst case scenario, if the person really can’t fit anywhere, a company like Google can still afford to let them go and eat the costs of a wrong hire.
edit: mav3rick has clarified below, it does indeed seem code agnostic.
For (1), I agree that you might have trouble getting startups (if that's what you mean by pre-IPO) to equal the total comp that big tech offers, if for no other reason that startup equity just isn't as close to cash as big tech equity is.
For (2), I'd say that depends on your mindset.
For both of your points, the argument is basically how does this sort of transparency affect things? While salary can always be a touchy subject, I'm generally always in favor of transparency.
Having this information can make it easier for one to decide whether it's worth the effort to pursue getting a job at a big tech company, and also allow you to spot BS when some other company's recruiter says that they pay "top of market" for software engineers.
So again, I wouldn't see these as problems.
Transparency is good. I'm not exactly against this information. I mostly wish it were available in a way that applies to the rest of us.
Also, I wish it didn't make me feel bad. Call it mindset but salary discussions tend to.
Most SWE hires are generalists at Google, not tied to a specific language.
Unless you're being hired for a specialist role, you should absolutely be able to interview in the language of your choice. It's sometimes harder to put together an interview slate for a less popular language, but that definitely shouldn't make your recruiter force Python.
> Also, I imagine it's that much worse for people outside the Bay Area.
Actually, FAANG companies are some of the only ones with strong compensation in offices all over the country and globe.
Except the choice is between Java, C++ and Python. They are very clear about that, asking what your preference is during the scheduling phase.
I went through the interview process this year, and even tried to ask my interviewers if it was ok to do Kotlin instead of Java. It wasn't.
I am currently at another FAANG though, and may not leave my company ever, even if it would likely up my compensation.
How large was this whiteboard?
Sounds like a miscommunication happened somewhere. You should provide feedback to your recruiter.
These are just jobs I know of in my network. I’ve heard that these pay band exists in other industries as well (consulting, specialist niche, etc).
Second reason is that I'd have to relocate abroad. No thanks.
Third reason, politics. I doubt I'd be able to climb up the proverbial ladder - or be promoted / paid more based on merit alone - without playing the game. I heard something about getting commendations or something? Just as easily you can get shafted by the mob who push their own people up the ladder.
huh? that's not the point. It's difficult because there are zero startups or pre-IPO companies that will pay you like this.
> if for no other reason than that options are just not something you can easily stick a dollar value on
it's very easy. dollar value of options = $0.
Information is power and it is in companies of all sizes best-interest for workers not to discuss wages. That's fine -- I understand why from a business perspective, the corporation doesn't want to share this information.
But for workers, this information is extremely important and it should be discussed. Sadly, it often isn't because of cultural/social norms that deem talking about money "rude" and because plenty of people are embarrassed to admit they make more/less than their peers.
But it's important we know this information. This is even more true for underrepresented groups, who historically are worse at negotiating and get paid less as a result -- and may not have the networks to know what they should be asking for/expecting.
When I worked in media (where the pay is considerably different than tech), I used to ask more junior co-workers that I had a good rapport with what they made -- not to be nosey -- but to help them negotiate better. It took me a long time to figure out my own worth and ask for it.
AND STILL, even knowing this, I fucked up when I switched careers because I knew how much I was worth in my old career, but not in the new career. Glassdoor only goes so far and until you're in the system, you don't understand the intricacies. I stupidly didn't negotiate my offer -- in part because it was substantially more than I made in my old career -- but I'm underpaid -- compared to my team members at my same level and got a shittier sign-on/stock package as a result. That sucks for me (and it's 100% my fault. I don't blame the recruiter in the slightest), but the more data I can gather about what the mean -- or even median -- is for my company/position, the better I can negotiate in the future, either at my current employer or somewhere else.
Knowledge is power and having resources like this -- even if they carry an implied asterisk because of things that charts like this can't necessarily account for (division of a company, demand for certain skillsets, area of expertise, etc.), I'm glad stuff like this exists.
It's certainly better than looking at Blind, where most of the posters are quasi-sociopaths and liars with negative intentions.
However, I wanted to point out that having a big set of apples to compare to when you're looking through oranges isn't useful, and can be harmful, mentally speaking. I think it's a net positive, I just wanted to point out how it can be hard for some of us. Seeing numbers like those make me really wonder what I can do to get myself in that position, but most people (especially on somewhere like Blind) act like that is a trivial thing to accomplish.
I'd also love to see what performance is expected at what levels, and what gets you promoted to other levels. It is of course very possible to be performing the job several levels above where you are, and not get promoted there because you are in one of those underrepresented groups, or bureaucracy, or any number of any other causes.
When I last worked at companies large enough for that sort of thing to matter, the levels were actually the important part. Your boss would typically say he couldn't promote or give you a raise above a single digit percent, even though your work was amazing, because of levels and salary bands and slots he had open and so on. That was your queue to go work across the street for a couple years at the higher level, and then switch back to the original company at a much higher level. It was basically the only way to advance and increase your salary.
And you'd never know if it you didn't realize you were outperforming your level. It's also the easiest way to take advantage of an underrepresented person (keeping them at a low level, versus underpaying them within a level)
- Geography. US based companies in the Bay Area will almost always pay more than companies anywhere else in the world. Many companies have different compensation bands for different regions of the world, even within the US.
- Equity. The base salary for an entry level developer position at a top company will pay somewhere in the range of 110-130k. I've seen many entry level dev jobs at startups in the bay area paying in the 80-110k range (I can't speak to hard data that supports this though, because open salary information is hard to come across!). So, the salary differential when comparing upper/lower bands between top companies and median companies exists but isn't outlandish (between 20-40% more). The difference is, entry level devs at Google & FB will also get a 50k/yr equity grant. Based on my experiences, this is an order of magnitude more than the median company (where lottery tickets or 1-5k/yr grants are common).
So my personal advice for optimizing compensation would be:
1) Move to the US (Bay Area/NYC/Seattle) or work for a US (Bay Area/NYC/Seattle) company remotely or at a satellite office in another city. Obviously, everyone has personal restrictions so this may not possible.
2) Work for a company who you believe will have equity growth. There is a wide spectrum here between 5 person startup lottery tickets and established behemoth that have 0.5% YoY growth stocks. A good recent example of this is Square, which gave out equity grants that were something like 50% lower in cash value than the equivalent role's offer from a FAANG company (this is based off of personal anecdata). However, Square's stock exploded over the past year and that equity today outcompetes many of the equivalent FAANG-level offers. Of course, the opposite could have also been the case -- I've heard stories of underwater options being granted pre-IPO by Square. Sure, a few years later they're worth a lot, but at the time, employees weren't happy.
The world is wider than FAANG and tiny startups, and each company has its own set of hiring criteria (e.g. both Twitter and Square started as Rails shops so your Ruby experience would be more valuable to them than Google or FB). You can't predict the market, but if the choice is between 20 year old Company A that gives you 3k/yr in equity or a recently IPO'd Company B that gives you 1k/yr in equity, I would on average take the gamble with Company B (in practice taking into account team strength, product vision/market fit, & company direction after interviewing).
If you can already tell ahead of time which company's stocks are going up, just take more cash and use it to buy those stocks.
You can probably figure out why telling people to pick a single winning stock isn't good repeatable advice.
When you do get equity, sell your shares as soon as you're allowed. Don't bet on a single company more than you have to -- you're already staking a large chunk of your salary and career on them.
TLDR: "When should you sell company stock? As soon as possible."
> If you can already tell ahead of time which company's stocks are going up, just take more cash and use it to buy those stocks.
These are pre-IPO companies so you can't easily buy their shares.
These companies want The Right Stuff, and it's easy to tell if you yourself aren't it.
And yes, exactly, it's easy to tell yourself you aren't the right stuff and thus never try. That's defeatism, not realism.
I've never spoke w/ Microsoft or Amazon in any depth - but have gone through interview processes w/ Google and FB, neither were too concerned about seeing Ruby on my resume. Curious what "getting all weird" means?
For instance, in a recent interview, I couldn't remember the substr() function in Javascript, which Google insisted I do the challenge in. Instead I wound up using the ruby [range] operator and explaining ranges and what that operator meant.
To Google's credit and my moderate surprise, I passed that round of the interview. But I have definitely had interviews where the result is a mash of languages that nobody can really understand. Or they let me do it in ruby and I have to explain every line of the syntax (for instance, how ruby does iteration).
There have also definitely been times where they flat out told me that they want a specific language and I should contact them again when I've gotten skill in it.
Alternately, if languages don't match, they'll focus the interview on a skill that they need for whatever position, but for which I only have limited expertise. Take SQL. I know what indexes are, I can open a console to identify long running queries, but I mostly work with it through an ORM. But if they hear I have some SQL experience they'll decide to grill me on details of how Postgres handles things like logging and persistence and maintaining multiple versions of rows in memory and what are tuples and so on.
I'm not a DBA and will do only mediocre in such interviews. I always mix up the different types of joins, because I hardly ever write join queries and usually look it up when I need it.
I'm fairly certain they'd have given me Java questions if I knew Java, but the thing I had experience in that the recruiter knew was SQL.
Some of this is that there is a difference between data and information. Even though you have the data, the information asymmetry remains. After all your interests are often at odds with people whose job it is to look after the company's interests and sometimes with other people in the job market as well. But maybe most of all it is a practical problem. And it isn't usually information that solves practical problems, but what you do with the information you have.
eh? the leveling data is local to each company. within each company, of course it's subjective because ladder criteria are subjective. but AFAICT it's accurate. in general "senior" is 5 years at any company. senior means you have a 4 year degree and adequate work experience to have applied your book learning to a professional environment and so you are now adept at basic skills, advanced and current platform/framework/library/environment knowledge, know how to use many modern toolsets, have delivered software that has made it to the maintenance and maybe replacement part of the lifecycle. beyond that, some companies have more grades and some have fewer which represent larger org structures and so more people and bigger deployments, and more money.
> comp info seems a bit skewed for some companies and more senior roles
what do you mean, skewed?
No, it's not. They explicitly try to match up levels across companies. You can see this in action if you go to the page for submitting leveling data for a company: https://www.levels.fyi/create.html.
Actually i would say, instead of having these charts which compare total comp, its better to have a survey on how much people save after rent, taxes, and basic living expenses (not including loans etc.)
Are you confident about this? My experience as a single guy in that total comp range is closer to 25 percent taxation. The marginal rate is that high, but only a small chunk of a 200k income is taxed at that rate. In fact, Social Security caps out before there. And if you're married, it's even lower.
But my impression was that Europeans are taxed at an even higher rate; is there some reason listing pretax salaries would be deceptively high?
What state are you in? My experience is more similar to the parent post; bonuses which are part of your total comp get taxed slightly higher than base pay. After CA income tax, etc etc effective tax rate is easily 40%+.
California.
> After CA income tax, etc etc effective tax rate is easily 40%+.
The marginal rate is that high yes. Pretty easy breakdown at 200k:
CA Disability: 0.00% (phased out at $114k) Social Security: 0.00% (phased out at $128k) Medicare/Medicaid: 2.35% California Tax: 9.30% Federal Tax: 32.00%
So that's around 40 percent of every _extra_ dollar, emphasis on "extra". The average rate rate is far lower, around 18% federal, 9% cali.
> My experience is more similar to the parent post; bonuses which are part of your total comp get taxed slightly higher than base pay.
Your experience with bonuses is misleading. They're taxed as normal income, but the withholding formulas for paychecks are calculated independently per paycheck, as if you earned that much every paycheck. So if you have one biweekly paycheck with a 15 percent of salary bonus, that's taxed as if you made 5x as much. End result: you are withheld as though in the top tax bracket for the bonus paycheck, and your refund will be larger than expected.
tl;dr: don't look at your pay stubs, look at the actual tax returns you file instead for effective tax rates.
This is incorrect. The taxes withheld when the bonus is paid may be different, but for annual tax calculation all that matters is the total income (bonus or not).
https://blog.turbotax.intuit.com/income-and-investments/bonu...
"Remember, taxes may be withheld from your bonus at a higher tax rate at payout, but when you file your taxes at tax time your actual tax rate is based on your total taxable income and overall actual tax rate (...) you may get some of the money withheld back in the form of a tax refund."
> After CA income tax, etc etc effective tax rate is easily 40%+.
For a sufficiently high income, sure. In 2018, a single person living in California with no deductions, no contribution to retirement accounts (401k, IRA) or HSA and earning $364k would pay $145,602 in federal+state+FICA taxes, which is 40% effective rate up to 4 significant digits:
https://smartasset.com/taxes/income-taxes#XFuV4Aoe9F
This is the worst case (high state income tax, no deductions, no pre-tax retirement contributions, single) - change any of those factors and you're paying less than 40% effective rate.
If I had to guess, very few people around the world will be shocked to learn that someone earning $364k in California will net only $220k after paying taxes. In most of Western Europe they'd be surprised your effective tax rate is so low while earning 20x the minimum wage.
For a $500k income in CA
29.59% Federal Income Tax
+ 10.48% CA Income Tax
+ 1.59% Social Security
+ 1.99% Medicate
----------------------------
= 43.65% total tax rate.
(Source: https://smartasset.com/taxes/california-paycheck-calculator)Should be roughly 42% pre-deductions/writeoffs.
...But in truth, if you're making around the $500k ballpark, you're doing pretty well financially.
Also yes; just pay the tax, and then some. It helps everyone. If the country is sane in terms of politics of course, and doesn't have the military as its biggest expense. That makes it clear they're more concerned with international affairs than their own people.
But: 42% is the effective tax rate (not marginal, average). And this is pretty close to 45%. For a hypothetical person making $500k or more as regular income in CA (as many of the posted salaries above would be), they would indeed pay about $210k in taxes plus Medicare plus Social Security.
For lower income levels than that, or if you're married, or live in a state with lower state taxes, the numbers look much better.
Many of these equity packages include components that can top 6 figures a year. $100k in equity every year for 4 years is not an unreasonable equity package for a mid-senior engineers (5+yrs exp).
Actually for RSUs you are taxed at vest, so it's your pay tax rate (probably in the realm of 35%+). What's taxed at 15% after a year is any additional gain from vest time. So if you get 4 google stock at $1000 a piece, they sell 2 to cover your tax liability, refund you the difference between $2000 and .35*4000, and you get 2 stocks you've just paid full taxes on. If in a year they're worth $1200 a piece, you can pay additional taxes of only 15% on the $400 you just made by holding onto them.
This is the one where employees do not have to pay the income tax that would normally be charged on the market value of any shares or options granted to them.
If employees are given options under an approved EMI, they are only charged capital gains tax at 10% on the increase in value over what they pay for the shares (the option's 'exercise price'), so long as that price is at or above the market valuation of the shares on the date of granting the options.
If I purchased them as options, different things would apply. But I'm happy paying tax on income of it means I get the shares for free.
The change in price if the shares is taxed as capital gains though.
Stock gain does account for a significant portion of comp the past couple of years though so it’s not a small thing.
Options (vs RSUs) also have slightly different mechanics.
Gains after vest can't really be counted as comp, since anyone else could have bought those same shares and made those same gains. That's just investment income; attributing it to your employer/employee relationship is silly.
- It lets “outsiders” to the tech scene understand salary and levels at big companies. If you went to MIT you probably already have frat brothers/sorority sisters or an alumni network that consists of senior engineers at these big companies that know the promotion and compensation schemes well. But if you were an equally smart student who went to a non target school, many of these organizational “open secrets” are hidden and must be earned through work experience, which costs time and career opportunity.
- Even if you do have some access to a network, these schemes evolve over time. Salary especially (levels not so much). Having up to date data is huge for assessing options during a job search or even planning for one.
The site isn’t perfect— a lot of the leveling data is subjective AFAICT and not based on cross company moves, and the comp info seems a bit skewed for some companies and more senior roles. But its a huge step in the right direction towards empowering employees.