> Strongly doubt this is done effectively in anything but smaller organizations.

Larger organizations are just groups of smaller organizations. Some perform better than others. I work for a $4B corp, the small divisions I interact with generally get it right. Sure, you'll get an outlier from time to time that's mismanaged (and addressed once that's become clear). But it's usually not a systemic problem.

> Organizations pretty much never want to telegraph these kinds of moves in advance

Organizations don't "play around" with hiring and firing. Believe it or not, the executive team actually does care about employee morale. When you hire you need a plan to keep them, as it impacts employee morale and performance if you hire/fire on a whim. If a company treats it's people badly, it's a sign of a poorly run company, which usually doesn't end well. If you think this is your company, I recommend leaving and finding someplace better. They're out there.

Typically companies are "late" to hire until they are sure the employee is needed long term. During periods of growth, this means that companies are understaffed, and the existing employees have to working harder until its 100% clear the org simply needs more people. From my experience, it takes several months of consistent production overtime before management decides the short term spurt in orders isn't a one-off fluke and actually indicates long term business growth. Only then are new positions created, as the company reasonably believes these people are needed long term.

On the otherside, when it's time to fire, the signs are present for a while that there's been a downturn in business. But companies don't want to fire right away (due to employee morale, reasons above). They will discuss internally at the highest levels whether or not attrition is necessary, can it be avoided etc. Is this just a temporary drop in sales, or is this part of a longer term decline? Until a decision has been made, discussing this with rank and file just creates job anxiety, as no one knows what's going to happen. Once the decision has been made, it's typically executed quickly (that's why they're called executives).

There's a reason that parents don't discuss their problems with their children. Until a decision has been made to divorce, Mom and Dad typically don't tell the kids that they're having problems and might get a divorce. It just created unnecessary anxiety.

So you only hire if you think you can keep them. And you only fire as a last resort. This means that sometimes you're short-staffed and it's necessary for people to work overtime, and other times you've got too many people and you must right size to remain profitable (stay in business).

> Your second sentence even provides a perfect scenario around exactly the kind of randomness that comes into play

Sure, it's never gotten 100% right. There's randomness in everyone's day to day lives. This is why the management layer is so important, it's their job to get it right as much as possible. Every time you get it wrong you're potentially damaging the company.

We can't avoid randomness. Everyone takes a chance stepping outside their front door in the morning and driving to/from work. Companies deal with randomness as best they can, just like we do in our day to day lives. This is reality we're dealing with, not theory.

> High performer but working on a product the company has decided to de-prioritize? Bye.

Yes. If a company isn't making money on a product they have to cut the product. So what to do with the team?

Many times high performers are "found" positions in the company, as the company recognizes their talent is hard to come by. This is easily done when one side of the business needs people, while the other needs to be downsized.

But if the company is oversized in all departments, there's no place for the high performing talent to go. Its not fair to fire a "good performer on a successful product" just to have a position open for the high performer. Sometimes it happens, sometimes not, but guaranteed someone is hurt every time.

We've lost some talented people, in much needed positions, and been unable (due to hiring freeze) to hire a replacement or greatly increase compensation to get them to stay. As much as you want to keep talent, sometimes it's just impossible.

I've nearly always found it to be the case that high performing talent quickly lands on their feet. They are in demand, even if their former company can't use them. I'm hearing stories right now that talented people are getting jobs fast in spite of the recession and rounds of layoffs.

Lastly, personal agency is also involved here. Any job you take comes with risk. Everyone, talented or not, should weight the risks of the position being offered against the benefits being offered. A high paying job offer at disruptive new company may not actually be better than the lower paying job offered by stable company. Being a high performer doesn't guarantee job security, just makes it much more likely.