Jeebus man. What is it that you FAANG developers do that is so much more complex than what regular developers do?
For reference: I do Angular and Python development. Is there like some open source project or code samples that give an idea of the complexity of code that 510k developers are writing?
Man you got me day dreaming about that kind of money: I would invest half of it in low risk mutual funds and then take the other half over to my friend Asadulah who works in securities.
I worked at the N in FAANG for four years. It's not that we did anything so much differently, it's the people we did it with. When I worked for non-FAANG, there were some people who I'd have to work with and think, "boy, how does this person get/keep their job?". They just were not great to work with, had a hard time understanding hard concepts, and didn't produce great work.
I never had that at Netflix. Every person I worked with was someone I'd want to work with again and could trust and depend on. When a hard problem presented itself, everyone had a great solution, and we'd discuss the pros and cons, and then someone would implement that solution.
Also, many of our internal tools were best in class. Sure they had their warts, but not like the ones other companies had. Even our corporate directory had cool features and was actively developed.
So that's really the difference. It's the people you get to work with and the tools you get to use.
> Is there like some open source project or code samples that give an idea of the complexity of code that 510k developers are writing?
https://github.com/Netflix is a good place to look. Again, it's not that it's more complex, it's just the way it came about.
Nothing, for nearly all of them. Hell, half the time they're not even particularly impressive at executing on the totally-ordinary things they do. The companies just have firehoses that spit out money so can afford to spend more on developers, and choose to do so for a variety of reasons, most of which have nothing to do with how challenging most of the work actually is.
One reason (of several): insanely high comp means everyone (more or less) wants at least some time in a FAANG(-alike) job to bank some money. The flip side is that their hiring process is hellish. Put those together and you have high motivation for people to apply from one side, and a strong disincentive for anyone who's got any amount of doubt in their ability to pass the interview, any reluctance to put in the time to prep for them, or low bullshit-tolerance, or whatever. The result is that practically their entire candidate pool would be good hires (=good enough at the actual job, and willing to jump through hoops), so they don't have to bother figuring out how to spot good (for their purposes) developers, they just keep comp high and interviews unpleasant and time-consuming, and it all sorts itself out.
Combine that with several companies all in similar situations trying to do the same thing, and you get what you see before you WRT developer compensation in a narrow slice of the industry. Except when they collude to keep wages down, which they have done and (speculation) almost certainly are still doing in less-obvious ways.
[EDIT] Just to be clear, some of the work they do is Actually Hard, but that's not unique to FAANG (though it probably is more common there than, say, at your average Web agency or whatever). More of it's not especially hard but is hard to get experience with outside of FAANG (scale-related and fine-tuning stuff mostly, some of which is hard but much of which isn't more difficult than most other development or ops stuff, just different)
A meager defense follows. I've worked both "midwest design shop" and FAANG-adjacent jobs, from junior to staff to manager.
The main thing is supply and demand. The supply of engineers willing to work at a FAANG, in a region that FAANG is willing & able to support, and are willing and able to go through the technical hazing process called a "hiring panel," is very much short of demand. On the other side, profits per employee are phenomenal at scale, so making hires at these rates still makes sense financially.
But to answer your real question: it's less about the complexity of the code on a day to day basis, and more about the complexity of the system you have to work within, both technical and political, and the expectations of scale. A microservice system has both network and political boundaries to work through, whether making changes or RPC calls.
Then, while a small scale system might see a one-in-a-million event once per year, a large system will see it many times per hour, or even per minute. Managing simple things like changes to a database becomes a multi-step process, involving tools and stakeholders, instead of just a quick 2 minutes of scheduled downtime. Engineers need to be capable of thinking through those sorts of things. Stuff gets real weird at scale.
As a result, of both the above, engineers frequently find themselves doing highly specialized work, which is even harder to hire for. The guy who knows scaling properties of Postgres inside and out hasn't written production web code in a decade; his skills are almost worthless outside of FAANG-scale problems. Amazon has folks working for years on all sorts of niche network optimizations, because microseconds matter to them, but good luck transferring those skills back to fullstack web dev.
Last, a not insignificant number of engineers at FAANG are doing fantastically easy work on the same pay scale. Someone has to manage the wordpress (or whatever) installation for the docs site, or some backend process written in Django just for six important people. They often still get an engineer title and pay scale. So, it frequently is harder, but certainly not always.
So in a word, Amazon pays L6 engineers to sort out ambiguities and to shepherd teams. This may not be more complex than your work, mind you. It's just Amazon or companies large enough to have a tech ladder value this kind of role.
You can easily be in a team or circumstance that is more demanding, inspiring on your engineering journey, or even toxic. But you can just as easily coast.
The compensation is supposed to make it worthwhile not to do your own startup or project. So expect comp to continue rising.
Or another way, the revenue per employee at FANG-like companies is higher than non-fang-like companies, so the company can afford to pay them more.
Oh you sweet, sweet child.
I think the best analogy here is sports... there's a sharp pay cut when you go from playing in an NFL team, to not playing in an NFL team. NFL teams have N slots and they want the best players. That means that the N-th best football player modulo measurement noise is going to be paid much more than the N+1-th.
FAANG/etc. job count is not fixed and measurement noise is probably much higher (i.e. we can't actually determine which developers are best with that much confidence, and so I think a lot of developers could make it into a FAANG and do fine work there), but the same principle applies.
reference didn't go unnoticed. nice one.
They quit when the numbers don't match what they feel they are worth. You see the same thing in finance. One bad year can send 20-30% of your workforce walking out the door in a matter of a few months post bonuses.
Another thing to keep in mind is that Amazon values their stock grants as if it grows 15% every year. Obviously this is pretty optimistic and makes their offers not directly comparable to other companies that value their stock using current prices.
They're easily comparable because current prices incorporate all publicly available information (and even some non-public). If you accept the 15% assumption, you're letting them hoodwink you.
Or, are you saying, they justify small grants by telling you the stock will grow?
Then Amazon recruiter wants to "match" that, so 300 * 4=1200k over 4 years.
Base pay is maxed at 160 (until today's announcement), so 1200k-(160 * 4) = 560k to come up with with stocks and cash bonus.
Let's say Amazon 30 day moving average share price during negotiation is $1200 a share
So now recruiter must make math such that:
- TC stays relatively flat. On year 3 & 4 you get 40% of award, but only 5% year 1 and 15% year. (so a cash bonus to offset year 1 is ~35% of grant amount, and cash bonus offset year 2 is ~25% of grant amount)
- TC assuming 15% growth of stock
So, they'll offer you 220 units:
Year 1:
with only 5% * 220 * 1200=$13k from RSU, you need (300-160-13)=127k cash bonus , now your TC year 1 is 300k.
Year 2:
15% * 220 * 1200 * 1.15=46k from RSU So cash bonus of 94k.
Year 3:
40% * 220 * 1200 * 1.15^2=140k RSU that's 300k of TC
Year 4:
40% * 220 * 1200 * 1.15^3=160k RSU That's even more, 320k TC \o/
So all the math here is done using fictional share price that grew 1.15^n for each year. But in concrete, your offer says 220 units. If Amazon grew much more than 15% a year, on year 3 you're still making 40% * 220 units, no matter what the share price is.
But the final offer is:
160k / year base, 220 units over 4 year with 5%/15%/40%/40% vesting, and 127k cash bonus year 1 + 94k cash bonus year 2.
Amazon is one of rare FAANG where the RSU offer is given in share count in offer itself, not in $.
From your example, they offer you 220 units, valued at 13+46+140+160 = $359k.
However, if the stock stays perfectly flat, the actual value is $264k (220 * 1200).
I went back to look at the AWS offer I turned down. There was no mention of a 15% assumption anywhere, but it did spell out total RSU, base salary, and first two year bonuses, which ends up making year 1 about 8% more than year 4 for the same stock price.
This seems at odds with what you've presented.
Yes, exactly (less with compounding, about $370k -- see sibling thread).
Of course you only get that number if your new target compensation is in line with that number.
So other companies have locked you in to your performance at interview time, while Amazon can give you a 15% paycut each year if your performance isn't high enough to at your offer level.
I don't understand the appeal of cash signing bonuses. This just seems to me like another way of saying you got hired for a $485k annual salary while giving Amazon the freedom to cut your salary a year from now by up to ~67%. Why give your future self that risk instead of looking for a higher base salary that is stickier over the long term?
The employee is likely to underperform for the first few comp cycles after being hired, due to the new role, new context, etc. So the employer is willing to guarantee an "optimistic" salary up front for the first year (or, with equity vests, perhaps longer).
But the employer is unwilling to guarantee this indefinitely; after a year or two, they want to see you performing at level--and thus qualifying for merit increases--or else you'll revert to the lower salary.
Viewed this way, a rational employer will offer you a lower total comp for the first year if it's all salary; taking more of your first year's comp as bonus represents a bet on your own impact (and the fairness of the merit-based comp modeling).
The employment contract is "x per year and an extra y year one" not "x per year and y year one under the right conditions".
It gives them the freedom to not increase your salary or give you more stock, but you should still have a guaranteed known rate for 4 years.
If you found yourself getting a similar TC excluding the signing bonus at another company, and have reason to believe that's actually a fair price for your labor, the cash signing bonus will still more than offset your switching costs. It's also, simply put, an absurdly high bonus. Nothing stopping you from collecting another one of those in a couple years at another company.
You're exactly right. Signing bonuses - and even equity compensation - are designed to lower your TC over time. The idea is that companies offer a high TC to entice you through the door, with the understanding that at the end of your 4 years your TC will drop precipitously but at that point you'd be too invested/too afraid to interview/etc to leave.
This is why in nearly all companies equity refreshers are always significantly smaller than what would be necessary to keep your TC level. The point is to over several years converge you to a lower TC that is middle of the pack rather than the top-of-band packages FAANGs have to offer to recruit candidates.
It does seem ass backwards - and if you're an engineer who cares a lot about TC (IMO rightly so) and interview well, you will consistently cliff out every 4 years as a result.
TC is "Total Compensation" right? As in salary + equity and other benefits and etc? Or does it usually refer to just cash salary?
Ahh interesting, I assumed it included things like bonuses and equity, but am surprised to learn 401k contributions are not considered TC. Is this the case even for matched contributions made by the employer?
Meaning if I contribute x (money I was compensated already as a portion of salary), and employer contributes %/x (money the company effectively "gives" me), is that percentage not considered part of the "TC" terminology? OR am I exhibiting an unfortunate misunderstanding of 401k matches?
The rubric for all of these complicated and indirect forms of compensation is "benefits". These benefits are significantly limited in terms of practical cash value and rules around their use by regulation, whereas there is no bound on TC.
For example, an employer who does a 1:1 match up to the IRS limit would be contributing at most ~$20K to your total comp, but when you're dealing with the rest of the package being in the $500K-1M range it tends to get glossed over.
I don't see what downside there is?
For instance I received an offer that was 160 base, 325 cash bonus and 5% of my RSUs for my first year, putting my TC at ~510k. Second year was a slightly smaller bonus, and 15% of my RSUs.
Is it possible that when folks were voluntarily disclosing comp they were just including base comp and not total comp?