If you pay people far above their value add, most would consider that unfair, and vice versa for being underpaid.
I don't think we should consider people being underpaid or overpaid as being just in a moral sense. Obviously everybody would prefer to be overpaid for themselves.
Of course high comp in tech is more a function of supply/demand of labor, and the industry still being new. It won't be this way in 20-30 years, as people continue to trickle in and correct the supply imbalance
But the company in the end is a result of the aggregation of all current and past employee input
Except demand has continued to expand, and I believe it will keep expanding. Salaries are high because of what technology can do for a company. Your type of argument has been made since I started writing software in the 90s. All that's happened since then is software has relentlessly eaten every other industry.
The classic widget selling company had material input costs, labor costs, delivery, etc... for many companies now the marginal cost of adding the next customer is almost zero with the primary input cost being labor.
Salaries can certainly be a bit high right now while also staying on a long term trend where tech salaries outpace other careers.
Higher level abstractions = less labor required (e.g. serverless), plus additional supply of labor = lower costs.
Wages are always defined by the equilibrium point between supply and demand of labor, never by the value add of the job.
Simple thought experiment, say you have a button that makes you $1m dollars every time it's pressed and it can be pressed only 100 times per day.
How much do you have to pay somebody to convince them to press it each day?
Now say you have the same button but only 1 person in the world can activate it. How much do you have to pay them to convince them to do it?
The answer to these demonstrates the principle in quite an obvious way.
I've been hearing this about new technologies also since the 90s - going to make programmers obsolete/need less programmers. What ends up happening is what's required expands. I'm sure there's some quippy law here.
> Wages are always defined by the equilibrium point between supply and demand of labor, never by the value add of the job.
Your analogy is only focused supply while keeping a fixed demand. In fact, 'value' drives demand. The reason why demand keeps outpacing supply is the value of technology is enormous.
Will the demand side eventually slow? On a long enough timescale I have to say yes, but a lot of people have gone broke betting against the pace of technology.
We used to have manual QA now most of the testing is done via automation, there used to sys admins handling all the servers now its all cloud which can be handled by programmers/dev ops people.
Maybe in the future we will have code as a service where most of the code is written automatically while few programmers oversee it.
I’ve found that abstraction doesn’t scale with Business Logic. Abstraction is good, absolutely, but the sheer number of strange edge cases, special processing rules, and “the client refuses to change their process whatsoever” only seems to increase.
I sense this is why programs keep growing in scope despite all the wonderful Dev-tools, abstractions, and platforms we now have.
Also when you consider something like Docusign, you can have a pretty much feature complete product that requires little labor to maintain. You can always expand the scope of any product, but we started from 0 with web based/app software just a decade or two ago. Much of the common and widely useful programs will be largely perfected and require less active development as the years go by.
Same thing with github. You can continue to add features, but the core value of the product is already written and in a serverless world, with appropriate automation, can be maintained by a small team.
I really don't understand how somebody can think labor needs in software will never contract... the main point of debate should be on what a realistic timeline is.
high level positions would require the same training and experience they do now with full stack added to them.
like conveyor belt work becomes checking widgets for defects managers busy themselves with maintaining code. The code will grow endlessly creating more work than doing it by hand.
the company db has a crazy amount of data that you will need to be able to query to be able to develop new insights. if it turns out to be useful you wrap it into the software or a separate app
eventually you want the video data in the db with all the machine learning trimmings.
there is no end to this but we wil fail to train people to the desired level
In any case though, that comp seems pretty typical nowadays, folks I know at Apple are on 250k and that's considered normal.
As in UK based Apple employees?
5 years back you would only get to that level as a massively prolific contractor. Maybe I should move back to the UK! :)
If you told me 190k for a senior role I'd totally buy that.
The pressure on them is quite high. I'm not sure I'd like to work for Apple.
If I got offered a job, I'd add smooth scrolling and SGR 53 support to Terminal.app and quit immediately after it's released.
Maybe fix text colors beyond what xterm256 offers.
I see Citi do not post salaries on their job adverts, so we can't comparison shop.
If you want to check what I've written for my experience my LinkedIn has it: https://www.linkedin.com/in/intunderflow
Main differences were:
- There was no interview, I spoke to a Director for 15 minutes who happened to be visiting a professor I knew at University (sheer luck/fluke).
- Building a team of full time employees as an intern is pretty unusual. That team went on after my internship.
- Really open-ended (I was just dropped into the Data Science team and told "do something useful").