I don't understand this expectation to never be laid off.
Any other kind of a project - construction, hardware design, media production - has an end. Once it's done people have to switch to another project.
But with software there's an expectation that it's never done, it's always subtly broken, and I can't help but think that this expectation gets baked into methodologies which produce software.
The expectation isn't that nobody will ever be laid off, it's that THESE layoffs are not only unnecessary but downright hypocritical when you look at the companies bottom line, executive compensation and previous hiring sprees.
Also these are SAAS products, the kind that have predictable patterns of development, not one off software consultancies, so you're not actually making a good comparison.
The purpose of the company is to make money for shareholders, not to employ people. By definition. If laying off employees can increase profits, it is necessary.
Lay-offs only look hypocritical to people who are confusing for-profit companies with cooperatives. FWIW, personally, I like the idea of cooperative, but it seems otherwise rather unpopular.
Regarding predictable patterns, note that managers are incentivized to do busy work rather than report that software is "done". E.g. if you're a manager and you know that you already implemented all reasonable features and only need minor maintenance, would you report that to executives, risking your job? Or would you try (perhaps subconsciously) make some bullshit excuse: "we need such and such features to boost our revenue, also we need to migrate to to increase performance to be competitive, so yeah, we need more people"? It might not even seem an excuse because it's what everyone does -- all managers are like that.
No, the purpose of the company is to employ people. That's _why_ it has a definition; people like the efficiency of specialized roles that let them buy more stuff for cheaper via wages _from their job_. They're a legal fiction we all engage in because of the benefits. They can choose not to provide jobs, just as we can all choose to stop believing that "Amazon" is a real entity that can own things.
There's a give and take here that your analysis refuses to acknowledge. "Meta" is not a physical entity that can protect its property, it relies on humans engaging in the ruse (for money to be clear, ie a job).
> Regarding predictable patterns, note that managers are incentivized to do busy work rather than report that software is "done".
This is an abject failure of the executive levels then, given that managing that sort of thing is their role. More or less brings us back to the same point of "why do we all have to suffer because the C-suite can't do their jobs?".
Feels to me that things would be much healthier if SaaS products did look more like old style one off software products. Build something that does the job, then stop rather than endlessly throwing more bells and whistles in, acquiring all your competitors, and slowly diluting software people love into a mess of half baked features that mostly exist so there's something to mention in the next quarterly earnings call.
Any other kind of a project - construction, hardware design, media production - has an end. Once it's done people have to switch to another project.
But with software there's an expectation that it's never done, it's always subtly broken, and I can't help but think that this expectation gets baked into methodologies which produce software.