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.