4 ms·
There is a difference between building a react app for your local bakery and building Facebook.com to scale. The experience in scaling products that big and th
by askafriend 4y ago
There is a difference between building a react app for your local bakery and building Facebook.com to scale.
The experience in scaling products that big and that fast is concentrated and not evenly distributed.
- pedrosorio 4y agoThe average SV developer knows nothing about building Facebook.com to scale. More precisely, the number of people who were there when "scaling products that big and that fast" applied to Facebook (or other comparable companies) is a tiny fraction of all SV developers.
- est31 4y agoYou are right that in backend, at FAANG scale, you face some unique challenges that smaller shops don't face. And of course, unless you work at FAANG scale, you haven't faced these problems so you haven't learned know how to solve them, so you will lose if you compete with people who know how to solve them. But that's far away from the claim from above, that any 250k+ total comp developer from SV can outprogram good people from outside the US who don't make 250k+ total comp in basically any benchmark. Most SV employees never have to solve these problems. I picked frontend intentionally because it's probably the area that's the furthest away from these problems, but still compensated at 250k+ levels, if you work in SV for the right employers. But even among backend engineers, most have never touched hard to parallelize problems. I'd argue that most (definitely not all) FAANG backend tasks are easily scalable. Implementing them still takes work, whch is done by most FAANG engineers. FAANG level tooling definitely helps, and while developing that tooling is hard, the people who have built such tooling are only a tiny subset of FAANG employees (regardless whether they are more skilled than the average FAANG employee or not).
- askafriend 4y agoThis isn't quite right. I can see how you reached the conclusion you did, but you're missing a lot of context. For one, developing frontends at the scale and complexity needed for quickly growing organizations is just as complex as backend scaling in a variety of ways. If you're a frontend expert and can operate in the way needed to support a rapidly growing business/product - you can make just as much if not more than backend engineers (500k+ easily at senior levels). This instinct around large-scale abstractions is not developed by building small sites over and over gain. This is just simply experience not everyone has because it requires context. Also programming ability alone is not the sole reason for the outsized comp packages. In my view, it is at most 1/3rd of the reason. There are a lot of other qualities that are important that can only be gained through a specific kind of experience.
- est31 4y ago> This instinct around large-scale abstractions is not developed by building small sites over and over gain. What do you mean by large scale abstractions? Generally, small frontends are different from large frontends. Already because you need to work on a team instead of being able to do it alone. But adding features is a quite orthogonal concern to scaling by the number of users I'd say. There can be extremely complex frontends that only have a dozen concurrent users (think some company internal admin console), and nothing prevents a small frontend from targetting billions. E.g. Google search used to have a quite simple frontend 17 years ago, and it still looks quite simple to the outside, but the results side has obviously been heavily enriched since. From the frontend point of view, it is just calling an API, and processing its results, while there is backend magic happening to make it scalable. I'm disregarding SSR here for a moment. It shouldn't matter if the same frontend code is loaded by ten users or hundreds, or billions. > There are a lot of other qualities that are important that can only be gained through a specific kind of experience. Can you list some of those qualities? I'm curious.
- Firmwarrior 4y agoYou run into all sorts of bugs you'd never even conceive of when things scale up, even basic frontend code Some problem that would hit one customer every few years and go away on refresh for a local mom & pop website will irritate thousands of people a day on Google.com, and those people will band together on Facebook into a support group, and that support group will get media coverage You try to look into the issue and you can't reproduce it at all, you just have to figure it out from tiny wisps of clues