Boeing called it a best and final offer. Its negotiating team endorsed it unanimously. Its own arithmetic put compounded salary growth as high as 31.9% over four years — the richest package the company has put in front of its engineers since 1983.
On Friday, the engineers voted it down 64.3% to 35.7% — 7,238 ballots against, 4,027 for. The technical unit went roughly 72% against. Then both units authorised a strike: 87.8% in the Professional Unit, 89.7% in the Technical Unit.
The Society of Professional Engineering Employees in Aerospace represents about 17,000 people at Boeing, close to 13,000 of them engineers and scientists. Nobody is walking out today — the current contracts run to 6 October 2026, and a strike before then is not permitted. What happened Friday is that Boeing lost six weeks it thought it had bought.
The number that sank it
The headline economics were not the problem. The offer carried a 3% general wage increase on ratification, retroactive to 20 February 2026, a 7% addition to salary pools in March 2027, and 5.5% each year through 2030, plus extra payouts from the 2025 and 2026 bonus plans, 40 units of restricted stock, three additional days of paid leave, tighter mandatory-overtime limits and benefit improvements at no added member cost.
What sank it was a floor clause. The contract guaranteed annual minimum increases indexed to inflation — capped at 3%. Consumer prices in the Seattle area, where most SPEEA members work, rose 4.5% over the past year. Members did the subtraction and concluded the guarantee guaranteed them a real-terms pay cut in any year the company chose to pay only the minimum.
That is a narrow technical objection and it beat a 30%-ish headline. It usually does, because a cap is a promise about the bad years, and the bad years are the only ones the clause is for.
Our take: This vote was not priced on money, it was priced on trust. Boeing spent 2024 and 2025 teaching its workforce that management forecasts do not survive contact with reality, and the bill for that education is now coming due at the bargaining table — where a unanimously endorsed, historically large offer lost by 28 points. Any company that has recently asked its staff to absorb bad news should assume its next compensation package will be discounted by the same credibility gap, and negotiate the escalator clauses first rather than last.
Why this is a supply-chain story, not a Seattle story
Boeing has been telling everyone who will listen that demand is not its constraint — production rate is. The whole recovery thesis, and the debt load behind it, rests on holding 737 MAX output steady and stepping it up from there. Engineers and technical staff are not an adjacent function to that plan. They are the people who sign off on the work.
A commercial-airplanes stoppage does not degrade output gradually; certification, liaison engineering and production support are the choke points, so the line stops close to immediately. Every airline with a delivery slot in the fourth quarter, every tier-one supplier building to Boeing's schedule, and every lessor with a 2027 handover now has an October date circled.
What to watch
- Whether the economics survive the deadline. Boeing conditioned the offer's incentives on ratification by 22 August. If the company treats those as expired, the next offer starts from a lower base and the gap gets harder, not easier, to close.
- The member survey. SPEEA's negotiating team said it will poll members on what a four-year deal would actually take before returning to the table. That survey is the real number to watch — it converts a protest vote into a price.
- The inflation cap, specifically. If Boeing moves the 3% ceiling and nothing else, it will learn quickly whether this was about indexation or about everything else.
- Whether talks get scheduled at all. As of the vote, none were. Six weeks is not long to rebuild a contract that took months to draft.
Boeing has now made the largest offer to this union in four decades and been told no by two-thirds of the people it was aimed at. The uncomfortable read for management is that the package was never really the variable.
