Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, on the other hand, I'm pretty sure that I or most silicon valley coders making 250k+ can singlehandedly outperform a dozen "decent developers" by pretty much any metric you can pick.

I'm not saying we're smarter or innately better, but coding is a tradeskill and the masters of the trade are almost all here.

I'm interested to see how much this changes over the next decade, though, since a lot of people have scattered across the globe thanks to remote work finally catching on.



I seriously doubt that. Developing things is the same thing all around the globe. Just because you have worked five years building react apps in silicon valley (and from what I can tell, 250k total comp is reachable at that experience level) does not make you more skilled at building react apps than someone who also built react apps, say, in Barcelona. But you probably make 5 times as much, if not more. That's not because you are more skilled but because your company makes way more money, or is expected to make more money and thus gets funding from rich people. The company makes way more money because of a lot of reasons, e.g. like access to the enormous US single market which is way bigger and more homogenic than the EU single market, or any other market out there except for maybe the chinese one, as well as historic reasons that turned SV into the western world's digital innovation center, and thus turned a lot of funding attention into SV.


I don’t think it’s as much about the challenging technical problems as it is the ability to get shit done. Wherever I’ve worked, most developers are unable to own e2e work. At big tech, you are expected to be decent in a lot of related areas (communication, project planning, etc).

Software is a people problem and what big tech looks for is top notch technical skills and the mindset/ability to solve them in a chaotic environment.


Doesn't jive with me. Many companies paying at best domestic market rate are asking for top notch communication skills and people persons over tech skills. Meanwhile, most FAANG have far higher tech requirements, but would hire individuals who can barely speak proper English and even put them in the spot of hiring managers. If you value communication, you need a really good argument to look past hiring practices preferring to hire someone who'd be hard for strangers to understand in a presentation setting.

I'm fairly certain you're confusing anecdotes and culture with "big tech vs. your local shop". Software being a people problem meaning big tech is more people focused is a false dichotomy.


I think my post sounded more indexed on communication than the "get shit done" part of things. What do you think of the perspective if I changed the desired skill to "ownership" instead?

Most of the big tech companies' engineers are doing the same type of work as outside big tech. However, their internal practices are scattered and faster than outside (IME), which means you have to be able to keep your head above water, drive your own career, and deliver impact. You need to understand the product space quite well, as you are expected to be a partner. Rather than delivering code, you are delivering value.

Maybe 1 in 20 engineers that I've worked with outside big tech had this trait. I think they set the tech bar high, but the real skill differentiation I have seen is ownership.


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.


You 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).


This 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.


> 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.


You 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


The 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.


The absolute hubris of SV people thinking that they can individually perform the jobs of 2-3 competent teams of people at literally any company outside of SV is why a lot of talented people want nothing to do with SV.


And yet, I show up at a company as a consultant and in two weeks I singlehandedly take care of something ten people have been struggling with for a year


Has it occurred to you that hiring a consultant is, by definition, an unusual situation?

That, perhaps, you have never had to come in and save any team at my company, or thousands of other companies, because we are competent developers?

Being able to do the work of 10 people once, does not mean that you are able to take 10 people from any company outside of a specific geographic area and replace them with one of you.


Have you considered that a consultant hired to fix a specific problem, and salaried employees seeking to justify their existence, may have slightly misaligned incentives?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: