Cover image for “The 35-year-old programmer crisis — and how to get out”
· 11 min read

The 35-year-old programmer crisis — and how to get out

Also available in 中文

Source: 金尘马 (@jinchenma_ai) Original: https://x.com/i/status/2040042600112300324

An eight-year programmer, after leaving a big company, sat with this: programmers are standing on a slowly sinking Titanic, and most of them are still fighting their way into first class.

The claim

A sinking ship, everyone crowding first class

Programmer salaries were not always high. The real turn was after 2010 — smartphones, 4G, the WeChat ecosystem, the O2O wars, ride-hailing wars, sharing-economy wars. Behind every war, capital was burning money for market.

What a lot of people miss: that salary was not from your boss. It was from the investor behind your boss.

You are a miner who happened to live through a gold rush. You think the pay is because you are good at digging. The real reason is there was gold in the rock.

Programmer pay was never fully “the code is worth that.” It was a premium the market paid to fight over a scarce resource. Premiums get given back.

1. How a company tames a programmer

The company lock

1. The lock in the pay structure

Most companies pay base + bonus + equity. Base may be a bit more than half. The rest is tied to tenure, level, and a performance score.

The longer you stay, the larger those add-ons become — and they may go to zero at the next company. So every year you think “one more year, take the money, then leave.”

It is designed like a casino. It always feels like “one more hand.” You slowly lose the ability to judge long-term risk.

2. Extreme specialization

For efficiency, the company splits every business into tiny modules. You may own one function of one submodule of one system.

The deeper you go, the more your résumé depends on this company’s business. You think you are accumulating experience. What you may be accumulating is experience that only works here.

3. Isolation by comfort

The company “protects” you from everything non-technical:

  • you do not talk to customers; a PM translates requirements
  • you do not think about the business; your lead decides
  • you do not care whether the company makes money; payroll hits on schedule

It sounds like protection so you can focus on tech. The real cost: you slowly lose all feel for business, markets, and people.

4. Buying out your time

996, plus a one-to-one-and-a-half-hour commute in a first-tier city. Fourteen or fifteen hours a day can go to work-adjacent life. After sleep, you may have one or two hours of your own.

High-intensity thinking all day empties you. You get home and want nothing but a bed and a phone.

That is the company buying, with a high salary, the possibility of growing in the rest of your time.

The technical-mind lock

A technical person’s default: given a problem, how do we implement it. Which framework, how to design the tables, how to cache, how to survive concurrency.

Almost never: why does this feature exist? What is the return? How much money did it actually make?

Technical thinking hunts an optimum. In code, it runs or it errors. There is a definite answer. In business, “good enough” is often the global optimum.

Technical people want complexity to prove value. This design is elegant; that architecture is beautiful. Customers never pay for elegant. They pay because a problem got solved.

2. Three crises

Crisis 1: age

The real pain of the “35 crisis” is not that nobody will hire you. Most 35-year-old programmers can still find work. The pain is downward compatibility.

You left a big company at a million RMB a year. Someone will take you — at 250k. Do you go?

If you have no better option, reason says yes. Pride will not let you. It feels like retreat, like surrender, like admitting you are done.

Social pressure is harder. Former colleagues are still in big tech. Classmates are directors somewhere. At a holiday dinner someone asks “where are you now?” What do you say?

The loss of face is, honestly, harder than the pay cut. You cannot take off Kong Yiji’s long gown.

The standards you used for a decade to define yourself — company, level, salary — suddenly do not work. You have not built a new standard for your own value.

This is not only a job or a number. It is an identity collapse.

Crisis 2: layoffs, unemployment, and AI

A down cycle, companies cutting — that is already normal. AI made the shrinkage more violent.

The AI shock is not “the tech you learned is useless.” It is that work three people did, one person plus AI can do.

The skill is not obsolete. The market price of holding that skill is falling fast. You saved a pile of money and hit inflation. Same bills. They buy less.

Deeper: AI is destroying the sacredness of programming itself.

Programming used to be a high-bar craft. The craft was the moat. “I can do what others cannot” was a large part of a programmer’s pride.

Now a PM who cannot write code can stand up a prototype in Cursor. A middle-schooler can get a mini-app from natural language. The moat is being filled in.

That is not only an economic threat. It is a psychological hit. Ten years of kung fu, and now everyone can use it. What am I worth?

Crisis 3: the body sounding an alarm

Programming is a high-pressure trade. Years of sitting, high-intensity thinking, irregular sleep, emotions wound tight.

When I meet former colleagues, the conversation often becomes a swap of physical-exam reports. Persistent tinnitus. Insomnia and memory slip. Chronic migraine. Not anecdotes — industry weather.

The body is overdrawn. Energy and stress tolerance are falling. The pressure in front of you is rising.

These three mountains do not wait in line. They hit the ship at once. Age is pushing you. AI is substituting you. The body is dragging you. The only card in your hand says “I can write code.”

3. Where the anxiety actually comes from

Root 1: treating the job as the only identity

Ask a programmer what they do. “I am Java.” “I am frontend.” “I am algorithms.” Notice the grammar. I am, not I do. They have bound themselves to a stack and a seat.

When that seat is threatened, what they feel is not “I should change direction.” It is “I am being erased.” That is existential fear.

Compare someone who runs a small business. Clothes today, fruit tomorrow, livestream the day after. They do not say “I am in apparel.” They say “I do business.” If a category dies, they change roads.

Programmers almost lack that flexibility. Identity is so narrow it is welded to a stack. Changing a stack feels like dying.

Root 2: no means of production, no feel for how money moves

Ten years in a company trains a very specific skill: inside a problem frame someone else defined, find a technical solution.

Requirements are given. Goals are given. Whether it sells is not your job.

Which means: a programmer is the most atomic screw in the commercial chain. On independent survival, a lot of programmers off the company are worse than a vegetable seller in the market.

The vegetable seller runs a full commercial loop every day: what to stock, what to charge, how to call customers, how to negotiate, inventory, relationships. She may not know the MBA words. She does the work.

Her capability runs without an organization.

A programmer? Leave the company and nobody defines the problem, nobody gives feedback, nobody strings the work together.

A tiger raised in a zoo, dropped in the wild, that has already forgotten how to hunt.

Root 3: after identity, no agency

The most crushing part of unemployment is not the missing paycheck. It is not knowing what to do next.

Inside the company the rhythm is given: take a req, write a design, build, integrate, ship. You do not decide what today is for. The company already did.

Leave, and those questions arrive at once. You realize you have been executing other people’s instructions for years and have never made a real decision for yourself.

Programmers are used to instant feedback — the code runs or it does not. Exploring a direction gives fuzzy, delayed, sometimes missing feedback.

You do a thing and may not know for three months whether it mattered. That long uncertainty is torture for someone trained on certainty.

4. How to get out

Cutting away from the wreck to build a small boat

From selling time to selling results

What is a programmer’s business model? Selling time.

The company pays monthly for your days. The ceiling is locked to your hours. Twenty-four in a day. Hustle does not create more.

And time cannot be stored, copied, or scaled. The code you write today cannot be sold again tomorrow.

Selling results means the customer does not care how long you spent. They care what you delivered.

Same system: sell time and it is “40k a month.” Sell results and it is “this system saves you 200k a month; I take 100k.” Same work. Completely different ceiling.

Then ask whether you can “do it once, sell it N times.” A course, a tool, a packaged solution. One build, many sales. That is the step from linear income to non-linear income.

Stop stacking “skills.” Start stacking “assets”

A skill only works when you are in the chair. You know Java; you have to sit and write. Stop writing and it produces nothing.

An asset is different. An essay, a recorded course, a following, industry relationships, a personal brand. They work while you sleep.

The programmer habit is to put all energy into skills: new languages, new frameworks, algorithm drills. That is skills, not assets.

Move some energy to assets: content, relationships, reputation. Those three compound harder than one more technology.

Learn to sell. Sell out loud

This may be the biggest stuck point in self-rescue.

Technical people flinch at “sell.” Living by craft feels clean. Negotiation, pricing, sales feel embarrassing.

Whatever you do, you cannot skip “someone else pays.” Consulting: the client has to feel you are worth it. Content: the reader has to feel it is worth paying for. Product: the user has to buy.

The simplest start: solve a real problem for a friend, and charge. Do not do it free. Even a small fee. The act of charging is the training. It forces you into a real transaction, and into feeling how your skill produces value for someone else.

It also kills a bad habit a lot of us share: making money has nothing to do with how elegant the code is.

Use the self-media lever

I genuinely think self-media is the largest lever this era gave ordinary people. High ceiling. Near-zero start cost.

My own path: I started publishing before I left the company. No product yet, so I worked on traffic.

As the following grew, I started connecting with accounts that used to feel unreachable. Founders came looking for consulting and deals.

That is the moment it clicks: skills and experience that feel ordinary to you are scarce to another group — and they will pay for that scarcity.

Self-media connects “the ability you thought was cheap” to “the people willing to pay for it.”

Not everyone needs to be an influencer. In this era, your experience, your thinking, the holes you fell in — written down, spoken — are a digital asset.

Use the lever and you can build a personal brand, attract opportunity, and stop depending on one company.

At the end

Looking back on the first half-year after leaving: anxiety, fog, the panic of losing agency.

This is not a success manual. I am not writing it because I have “made it.” I wrote it because I stumbled this far, started to see a second-half direction, and got resources and chances a big company would never have given me.

The programmers’ Titanic is sinking.

Which cabin you are in — big company or small, five years or ten — does not change that.

Grinding promotion, grinding performance, grinding the next jump is changing cabins on the same ship.

What you actually have to do is leave the ship and start building your own. Small, ugly, slow at first — but yours. Not dependent on a company or a platform.

The process will not be comfortable. Putting down an identity you spent a decade building, being a beginner again, sitting with no instant feedback — all of it hurts.

It is still better than sitting on a sinking ship, fighting for first class.

Comments