Amazon laid off more than 27,000 employees between late 2022 and early 2023, the largest reduction in the company’s history. Within months, the company’s careers page listed thousands of open engineering roles. To anyone watching from the outside, this looked like organizational chaos. It wasn’t.

The apparent contradiction between mass layoffs and aggressive hiring is one of the most misunderstood dynamics in tech employment. It gets framed as corporate hypocrisy or managerial incompetence. The real explanation is more interesting and more useful to understand.

The Setup: Two Hiring Markets Living in the Same Company

Amazon’s 2022 hiring surge was a bet on continued pandemic-era growth that didn’t materialize. The company added roughly 800,000 employees globally between 2019 and 2021. When e-commerce growth normalized, it found itself significantly overstaffed in fulfillment operations, certain corporate functions, and business lines like Alexa devices and Amazon Fresh, which were bleeding money.

But Amazon Web Services was still growing. The advertising business was accelerating. The company’s push into healthcare, logistics software, and AI infrastructure required engineers with skills that weren’t concentrated in the teams being cut.

This is the core dynamic that gets lost in coverage of tech layoffs: large technology companies are not monolithic employers. They are portfolios of businesses at different growth stages, with radically different engineering needs.

Abstract diagram showing one aggregate number splitting into clusters of varying sizes, some growing and some contracting
Aggregate headcount masks radically different trajectories within the same company.

Meta ran a similar playbook. It laid off more than 21,000 employees across two rounds in late 2022 and early 2023, then began posting roles aggressively in AI research and infrastructure. Mark Zuckerberg was explicit about this in internal communications that became public: the company was restructuring toward a smaller, more technically senior workforce focused on AI. Headcount was a cost problem. Specific engineering talent was still scarce.

What Actually Happened

The key to understanding this pattern is recognizing that the phrase “engineer shortage” papers over enormous variation in what companies actually need.

A generalist software engineer with five years of experience building consumer web applications is not interchangeable with a machine learning engineer who can optimize transformer model inference at scale. Both have the title “engineer.” One is in surplus supply relative to current demand. The other has more job offers than hours in the day.

During the 2020-2022 hiring boom, many tech companies staffed up heavily in generalist roles, often adding layers of engineers to projects that didn’t require the headcount. When the correction came, those were the easiest positions to cut, because the work could be absorbed by smaller teams or had low enough priority to be deferred.

Meanwhile, the transition toward AI-driven products created immediate, specific demand that the existing workforce often couldn’t fill. Companies couldn’t retrain fast enough. So they hired externally while cutting internally, which from the outside looked incoherent.

This is not unique to tech. The newspaper industry spent a decade simultaneously laying off print journalists and hiring product managers and data engineers. The job market was contracting and expanding at once, just in different skill areas. The difference in tech is that the cycles compress dramatically and the salaries make the contradictions more visible.

Why the Numbers Don’t Tell You What You Think

Job postings compound the confusion because they are not reliable signals of actual hiring intent.

There’s solid research suggesting that a substantial fraction of corporate job postings at any given time are what recruiters call “ghost jobs”: positions posted to build a pipeline, satisfy internal requirements to justify budget, or test market compensation levels, without genuine near-term intent to hire. The Society for Human Resource Management has found that many hiring managers keep postings active for months after a position is filled or frozen.

During a period when a company is conducting layoffs, it may simultaneously maintain active postings for roles it genuinely plans to fill, roles it’s exploring filling, and roles it posted six months ago when the budget environment was different. Aggregating all of those into a job count and comparing it to a layoff number produces a misleading picture.

This matters because it affects how engineers read the market. Someone laid off from Meta in November 2022 who saw thousands of open postings at major tech companies may have reasonably assumed re-employment would come quickly. For generalists without specific AI credentials, the experience often proved otherwise.

The Leverage Problem

There’s a second dynamic worth examining: the deliberate use of layoffs to reset compensation and leverage.

During the 2020-2022 period, engineers at senior and staff levels extracted significant compensation increases as companies competed for talent. Base salaries for staff engineers at major tech firms reached levels that would have seemed implausible five years earlier, frequently exceeding $300,000 in total compensation at companies like Google and Meta.

Layoffs changed the negotiating dynamic. When the supply of available engineers increased sharply and headlines made job security feel fragile, companies regained leverage they’d lost during the boom. Some companies appear to have used layoffs partly for this purpose, cutting roles they knew they’d need to backfill, but at lower compensation and with candidates who were less likely to push back.

This is not a charitable interpretation of corporate behavior, but it’s consistent with what compensation data shows. Offers for many engineering roles in 2023 came in below 2021 peaks even where demand remained real.

What We Can Learn

For engineers trying to read this market, the practical lesson is to look past aggregate job posting numbers toward skill-specific demand signals. The question isn’t whether companies are hiring. It’s whether the skills you have match the specific areas where companies are genuinely filling roles versus maintaining nominal postings.

For anyone analyzing tech companies from the outside, the layoff-plus-hiring pattern should prompt a more precise question than “why are they doing both.” The better question is which parts of the business are contracting, which are growing, and whether leadership has an honest account of the difference. Companies that can articulate that distinction clearly are executing a strategy. Companies that can’t are probably just reacting.

As your burn rate is the wrong number to watch, the aggregate headcount number is often the wrong signal too. Composition matters more than count. A company that cuts 10,000 generalist roles and adds 2,000 specialists in a high-leverage area may be making a better bet than one that simply preserved headcount.

Amazon’s bet, roughly two years on, looks defensible. AWS continued growing. The advertising business exceeded expectations. The AI infrastructure investments are generating revenue. The 27,000 people who lost jobs in the process didn’t benefit from that outcome, but the strategic logic, cutting overstaffed areas to fund constrained high-demand ones, was coherent.

The engineer shortage was always a shortage of specific kinds of engineers. The jobs were always concentrated in specific parts of the market. The headline numbers just made it easy to miss that.