* Severance packages upfront because realistically that's what everyone worries about first.
* Reasoning second. I appreciate the one clean cut vs prolonged bleeding.
* Owning the decision and respecting the people that got you there. Opting for an awkward allhands vs breakup-via-text-message.
* Giving people a chance to say goodbye.
Not gonna go into strategic analysis of this, or Jack's leadership style in general.
But realistically, you can't pen a better (or, well, less bad) layoff announcement.
You're right that these are not the only place that people can write software and that many of us have recognized for a very long while that these are noxious places to write software, or that they were eventually going to become so.
Billion dollar FAANGs and their smaller, cargo culting, shadows represent a certain sector with a certain work atmosphere, much as game development companies and hedge/trading firms do. 15 years ago, during the ascent of Facebook and Google, this atmosphere was different than it is now -- innovative and luxurious and inviting -- and some people still look see them through the lens of the past, but they're much larger machines now, with different priorities and incentive structures, and as the author notes, those are mostly not aligned with sustainable, satisfying, or healthy environments for most of the engineers who've found themselves inside of them.
Like finance, they pay extremely well, and like games, they can make you feel like you're part of something you can brag about at a dinner party, but also like both, they have little concern about chewing you up for as long as you're willing to bear it.
> We’re in an industry where burnout isn’t just common - it’s expected. If you’re not pulling all-nighters, you’re "not committed." If you’re not answering Slack messages at midnight, you’re "not a team player." This culture is toxic, and it’s only getting worse. The relentless churn of projects, the constant pressure to innovate, and the ever-present threat of obsolescence create a perfect storm of stress.
No, the author is generalizing what work at a billion dollar tech company is like to the whole industry. I've never worked for a company similar to the one described in this post, and I think that the vast majority of people in tech haven't either. Silicon valley is not the world.
Either ways, unionizing sounds like a great idea.
This is why you should "eliminate fingerprinting" by randomizing your fingerprint.
Because you don't jump up and down the file to read it.
Each method that you create has a name, and the name is an opportunity to explain the process - naturally, in-line, without comments.
I write code like this all the time - e.g. from my current project: https://github.com/zahlman/bbbb/blob/master/src/bbbb.py . If I wanted to follow the flow of execution, I would be hammering the % key in Vim. But I don't do that, because I don't need or want to. The flow of the function is already there in the function. It calls out to other functions that encapsulate details that would be a distraction if I want to understand the function. The functions have names that explain their purpose. I put effort into names, and I trust myself and my names. I only look at the code I'm currently interested in. To look at other parts of the code, I would first need a reason to be interested in it.
When you look at yourself in the mirror, and notice your hand, do you feel compelled to examine your hand in detail before you can consider anything about the rest of your reflection? Would you prefer to conceive of that image as a grid of countless points of light? Or do you not find it useful that your mind's eye automatically folds what it sees into abstractions like "hand"?
35 years into my journey as a programmer, the idea of a 100-line function frightens me (although I have had to face this fear countless times when dealing with others' code). For me, that's half of a reasonable length (though certainly not a hard limit) for the entire file.
Ironically, the author of the post claims it has the opposite effect.
Of course now I know these ridiculous statements are from people hardly wrote any code in their lives, but if I'd read them at 18 I would have been totally misled.
Some people who actually wrote a decent amount of code in their lives are sharing that opinion, so your comment just sounds like an ad-hominem attack.