Hacker News new | ask | show | jobs
by esafak 1093 days ago
This article is all over the place; I got a neck ache trying to follow it. I can't engage all the points, so I'll just address the titular point. The software industry never exhibited the most salient property of talent/creative industries: rockstar economics. And that's a good thing. Otherwise a handful of Carmacks and Deans would rake in all the money, leaving the rest to man the Genius Bar until they got their "big break".

https://en.wikipedia.org/wiki/Winner-take-all_market

I agree with bullet points about keeping it simple and not using crap tech for your MVP.

1 comments

And yet 10x developers are a thing.
They are, and it's reflected in the compensation. I know a developer that Meta offered ~$6 mil Total Compensation, he turned it down for $10 mil from Google.

It also exists in a much more banal state lower down the ladder. I have friends who landed in the low end of the developer market. They literally cannot do most of the work I do. They don't understand DB isolation levels, they don't have the skills to design systems around eventual consistency, they are not familiar with basic distributed system problems like clock drift, etc. I'm not even an infrastructure engineer, this is just stuff I and my coworkers need to get through our days to ship product code.

Could my friends do this stuff? If they applied themselves, sure! But they're not going to. It's also not enough to learn on the job. We occasionally hire someone who doesn't actually have the skillset and they usually flounder.

I know a developer that Meta offered ~$6 mil Total Compensation, he turned it down for $10 mil from Google.

Just to confirm, does that person code all day there? (real question)

...sometimes? One of the lessons I learned from him about that level of impact is that it means the structure of your day is dictated mostly by the problem you're currently focused on. So one quarter he might spend all his time interviewing. Next quarter he might spend most of his time profiling and reading code. The quarter after he might be coding.

Next to that is a constant overhead of talks with leadership and supporting other engineering efforts throughout the company through things like doc review, chats, pairing, etc.

What he doesn't generally do is "productionize" features - code is generally exploratory in nature or fixes a serious bug (or class of bugs).

Moreover, what is he coding. Because there is zero chance in hell Google is getting a multiple of that cost back in value from him. The value for them is that he's not working for a competitor. That's it.
> Because there is zero chance in hell Google is getting a multiple of that cost back in value from him.

I have seen engineers at companies 1/1000 the size of Google generate $4 million in differentiated costs savings (definitely would not have happened without them). It seems plausible to me that someone could generate 10x that at Google.

I did generate millions in differentiated costs - multiple times. Are you looking for a badass programmer? Im based in Europe but can do remote work for whatever time zone (almost any stack). Email in bio.
I don’t think you understand Google’s scale. Someone making kernel improvements for the whole fleet could easily generate >$10 mil in savings.
If you're the sort of person who makes the team around you 2X more productive, then sure, they're getting that money back. Christ, a great engineer can make that back for a company by delivering zero code, if he can keep a team of 20 productively getting the _right_ stuff done.
> DB isolation levels

Hmm, does come up every now and then.

> eventual consistency

Have seen these event-based maintenance nightmares, trying to steer clear wherever I can.

> clock drift

Never met a developer who would at least hear about some other developer for whom that would possibly ever matter.

If it’s not enough to learn on the job, how did you and your coworkers learn? Do you only hire grad students with specific focus?
While there might be cases where it truly is reflected in one's compensation, most of the time it is more like less than double what others make. And they'll be promoted to the point where they waste all of their time in meetings.
Was he paid for his superior productivity, or for special skills?
Why not both?

I know a dude who got a nice package from a pizza company to be CTO + lead programmer. I think he has a few people under him, but the bigger deal was that he could get a percentage of the $ saved.

He worked all day and night to get LLMs to take orders, in a month 40% of their orders are taken through the LLM. For a company with 100s of stores, this is a huge cost saving.

Guy knows how to program, he knows technology, and he knew the domain from a previous job.

I think at that insane level, they pay is no longer scaling linearly with the person's skills or productivity. $10M is on the order of 100X a normal developer salary. Is this person _really_ 100X as productive? At these levels, salary de-couples from raw skill and starts to depend more on culture checkbox things like charisma, connections, celebrity, and ability to bullshit/smoothtalk. Kind of like CEO salary. Nobody thinks the CEO is actually 8000x more productive than a normal employee. The CEO is in his position because he has the "right" pedigree and the "right" network, went to the "right" school, talks the "right" way, has the "right" ivy league mannerisms, goes to the "right" polo clubs.

You and I and probably half of HN could do the job of "CEO of a mid-size tech company." We don't, not because of lack of ability, but because we don't tick those culture/personality/background checkboxes.

You're not going to leetcode-grind or PhD your way into a $10M software engineering job.

Salary isn’t really coupled to skill at all beyond meeting some basic bar to get the job. You’re not gonna have a great career if you think the leetcode problems you can solve are how you ladder up.

> The CEO is in his position because he has the "right" pedigree and the "right" network, went to the "right" school, talks the "right" way, has the "right" ivy league mannerisms, goes to the "right" polo clubs.

None of this is true. The CEO is either significantly compensated because it’s her company (majority ownership) or because the board likes the direction the ship is being steered and wants to make sure she doesn’t leave to steer another ship.

> You and I and probably half of HN could do the job of "CEO of a mid-size tech company." We don't, not because of lack of ability, but because we don't tick those culture/personality/background checkboxes.

What is it you think the CEO does? Half of HN absolutely could not run a 2000 employee firm they are intimately familiar with, let alone an arbitrary one.

> You're not going to leetcode-grind or PhD

Leetcode no, phd yes. The fact that you put them side by side pretty strongly indicates you don’t know what compensation is tied to.Leetcode skills provide limited value to a company. A PhD with a track record of leading ML publications absolutely can put you up there.

Compensation is about what value they think they can get out of you and how much competition there is for you.

Don’t sit around telling yourself execs have trivial jobs. It just makes you look ignorant. Spend some time looking at what each brings to the table for that specific company. Barring nepotism or corruption, there is usually something significant there.

I'm no rockstar, but I've worked with people who were 1/100th as productive as me for sure. There are some real morons out there with software engineering jobs.
> he could get a percentage of the $ saved

I'd take that deal in a heartbeat. I think I (and most other decent engineers) can probably point to tens (or hundreds) of millions of dollars in savings generated over the course of a single career.

As far as I can tell, it gets frittered away by empire-builders who take that $ and spin up new teams for nonsense. Kicking back a % to the engineers who harvested all the savings seems like a much better model.

> > he could get a percentage of the $ saved

> I'd take that deal in a heartbeat.

Same! That would be a very exciting and lucrative role. Unfortunately it's basically the opposite of what the industry does today. I think we've all seen the six-figures per month AWS bills to power infrastructure for a workload that could be comfortably hosted on a Raspberry Pi.

If the industry ever goes back to caring about efficiency and cost, sign me up.

Not to be facetious, what's the difference?

At the high end of the white collar market you're paid to deliver impact and your pay is determined by the quantity of the impact and how differentiated it is (no big bonuses for the guy who presses the "print a million dollars" button).

It's easier to prove you have a special skill. They pay you more because they can't hire a replacement. In the other case, you have to prove how much better you really are. Of course, the trouble with specialization is that the skills take time to acquire and can be commoditized or become obsolete with a paradigm shift. A more risky proposition in tech than, say, medicine.
> They pay you more because they can't hire a replacement

Sounds like the skills aren't very differentiated. IME it's quite rare for a business to miss differentiation in business impact in an order of magnitude.

Going to your earlier question, the candidate in question has many skills but is not overly specialized. He commands that price because he can point at the right place in the stack and say "There's $10 million in savings here" when everyone else misses it or "Changing the architecture in this way lets us ship 6 months faster" and he is able to do this repeatedly.

Are they? How do you know they are not 9x or 11x? It is hard to say because the industry (and I live in Silicon Valley) has no idea how to measure productivity. And this is reflected in salaries. If we could accurately measure productivity, we could compensate it, but we don't.

"Knowledge worker productivity is the biggest of the 21st century management challenges." - Peter Drucker (the founder of modern management)

Not to beat a dead horse, but is 10x about 9x or 11x? Or is it about "a magnitude more output than others" (10x)?

You don't necessarily need to quantify that exactly. If you've worked on a team with people like that, then you know it. Their managers know it too.

To your main point, the size of the markets is drastically different. There is only so much room for headline rockstars and entertainers, but there's way more room for talented technologists. Having "rockstars" in the engineering world doesn't really reduce the size of the pie for others.

If you can't measure it, it might as well be 2x or "just better".

If you can't prove your superior productivity, you are not going to get paid for it. Which is going to incentivize you to optimize for your company's promotion rubric instead, if you don't get fed up first. This leads to the lamented "promotion-driven design".

Or you can ditch the middle man and take your talents straight to the market, through consulting or incorporation.

You can definitely measure it. I've seen many times where people were struggling with problems for months with tons of operational incidents, before someone experienced came in and solved it for good in a couple of days.
That sounds like “just better.”

Or it could just be somebody that happened to have a crucial bit of domain knowledge.

Or the original composition of the team could have included some negative-contributors.

Personally I think knowledge workers should be valued for... well.... knowledge. Turns out it was in the name all along.

The person who understands and can solve your problems effectively is more valuable than a clueless person who cannot. It doesn't matter how many hours they spend in the office. What matters is technical knowledge on the sometimes confusing topics that arise at work.

My performance is measured in $ saved. Its pretty obvious your performance.

We can take or reject projects, so if you are a bad predicter of use/time to completion, you are going to do worse.

It is hard to tie every job or action to revenue. Let's say I'm a platform engineer who makes internal tools. I generate no attributable revenue of my own; I make other engineers more efficient. But how much? We can't run an experiment where engineers don't use my platform because it's mandated; directly using the PaaS is forbidden.

Or I'm a manager. I help my engineers get work done. Let's consider the happy case and assume we can measure our team's revenue. How much of that revenue is attributable to the manager's superior skill, and how much to the rockstars under him/her? What would an experiment look like; the engineers manage themselves, or we compare with the previous manager?

No company that I know goes this far. In their defense, it is a challenge. An open problem, even.

> a platform engineer who makes internal tools

You wouldn't run an A/B test to quantify your impact, but you could pretty easily do before/after metrics (or just collect them on the way during a graduated rollout) for any feature you're rolling out. It should be straightforward to quantify productivity benefit for a large initiative.

> How much of that revenue is attributable to the manager's superior skill

The output of a manager is the output of their team. We can't A/B test managers (or at least, we probably shouldn't), but we can look at a cohort of managers and see how well their teams are generating business impact. Combined with other data (e.g., upward feedback surveys, level-skip 1on1s, retention metrics, etc.), we can measure the impact of a manager.

> The output of a manager is the output of their team.

People say that but it makes no sense. That means the same manager would have a different "output" going from one team to another. Are you going to cut his/her salary if he leaves a big, successful team to help fix a flailing team because it has less output?

I get it: doing it this way is easy. My ideal is marginal attributable revenue or profit. How much better are you than the next person? We can haggle over the marginal part but I'm not conceding on attribution. Otherwise you're mooching off other people's work. Why are we paying you the big bucks? Show me what you did.

Managers need to sign off on how many hours it saves. Its their neck at the end of the day.

It helps that we are often saving ~400 hours/yr spending ~80 hours or less.

We can also see it in overtime hours being eliminated, and the (real) engineers are making more complex designs but the size of the team hasn't changed.(30% more complex in 2.5 years, same team size) They also havent replaced engineers that left the team.

Basically: We save enough hours that it is obvious. There are added benefits like not having humans do manual checks, so less prone to errors. (Although I argue that our bugs are equally as dangerous)

Saving $ is easy to measure.

Making sure those $ saved didn’t screw things up somehow is the hard part to measure.

And - this is going to blow your mind - but sometimes you can actually make things more efficient by spending more money. Cutting costs can be the exact opposite of the right thing to do.

So while I am jealous that your productivity can be measured so simply, I’m dubious about how many programmers’ contributions can be so easily reduced to a simple metric.