Industry Insights 38 min read

China's Programmer Surplus Debate: Veterans Reveal Real Hiring Barriers

A compilation of Zhihu expert opinions reveals that while China has many programmers, companies struggle to hire competent talent due to widespread gaps in fundamentals, problem-solving, and self-driven learning, with hiring managers listing concrete skill benchmarks that most applicants fail to meet.

ITPUB
ITPUB
ITPUB
China's Programmer Surplus Debate: Veterans Reveal Real Hiring Barriers

Overview

The article aggregates eight responses from Zhihu to the question "In China, is the programmer population already excessive?" Contributors include embedded engineers, hiring managers at major tech firms, and developers across domains. The consensus: raw headcount is high, but competent practitioners who can think independently, use tools effectively, and master fundamentals remain scarce.

1. Embedded C Perspective: Basic Skills Missing Even Among Experienced Developers

An embedded C engineer (北极) shares screenshots from a vetted professional group (no students) showing alarming gaps:

Developers unaware of BSP (Board Support Package) basics.

Code with elementary errors detectable via compiler warnings.

Inability to configure compiler parameters (solvable by a quick search).

Engineers with expensive dev boards not knowing what U-Boot is.

Failure to use extern for cross-file global variable references.

The author summarizes: many coders, few thinkers; few doers; many "hand-out" types unwilling to search for answers; basic tooling, API lookup, and source-reading skills absent. Even veterans with years of experience lack these basics. In their 985-university CS class of 30+, only 5–6 remain in frontline development; only ~10 could correctly implement bubble sort by senior year. "Learning CS ≠ programming."

Chat screenshot discussing BSP basics
Chat screenshot discussing BSP basics
Chat screenshot showing compiler warning ignorance
Chat screenshot showing compiler warning ignorance
Code screenshot with basic errors
Code screenshot with basic errors
Chat screenshot about compiler parameters
Chat screenshot about compiler parameters

2. Hiring Manager View: Bar Is Reasonable, But Few Clear It

A veteran of BAT, a CV unicorn, a foreign OS/office software firm, and startups (木鸟杂记) observes that core roles attract hundreds of resumes yet remain hard to fill. The stated bar:

Education: top-tier non-CS or ordinary CS degree.

Algorithms: LeetCode first 200–300 problems practiced 2–3 times; clean code, known data structures.

Fundamentals: OS (processes, threads, FS, memory), networking (5-layer model, common protocols), DB basics.

Project experience: clear, honest, communicative.

Domain knowledge: after a few years, ability to synthesize principles behind the work.

Meeting all five virtually guarantees a core role at a large company. The requirements are achievable with persistent curiosity over a few years. The author advises: if you enjoy programming, keep curiosity; outcomes follow naturally. If merely chasing a paycheck, competition is fierce because the pool of "coasters" is huge.

3. Sarcastic Counterpoint: "Don't Come, It's Terrible"

Moenova jokes that the market is oversaturated, work is miserable, pay low, and programmers can't find partners—adding that this narrative benefits incumbents by reducing supply. The tone signals in-group humor rather than genuine discouragement.

4. Niche Domain Observation: Same Small Circle

An audio/video developer (流年) notes that after joining several specialized groups, the active participants are essentially the same handful of people, implying the effective community is tiny.

5. Long-Term Veteran: Complacency Creates Your Own Obsolescence

杨熙栋 recalls being warned 10+ years ago that CS grads would be unemployable. Jobs were fewer then but still attainable. The answer: not too many programmers. However, adopting a "shortage" mindset and stopping self-improvement makes you part of the surplus. Focus on skill growth, not headcount debates.

6. Project Manager: Too Many "Slackers," Not Enough Doers

方应杭 manages 32 people across 28 projects (70% implementation). Even pure coders must mentor juniors and oversee multiple projects. The problem isn't total numbers but "mixers" (混子) — people unsuited for programming who still occupy seats.

7. Seven Filters That Each Eliminate ~50% of Candidates

An anonymous user lists progressive filters:

Ability to bypass the Great Firewall (for faster access to foreign resources: 10 KB/s → 1 MB/s).

Reading English documentation directly.

Command-line proficiency.

Completing a canonical "XX Primer" or "Learn XX The Hard Way".

Maintaining technical summaries (e.g., blog).

Continuous learning of new technologies.

Open-source contributions or demonstrable private projects ("Show me the code").

Each filter cuts the pool roughly in half; the intersection yields very few reliable engineers. Notes: "can" ≠ "daily use"; firewall bypass is for download speed, not just access.

8. Java Team Lead: Experienced Hires Rarely Meet Core Requirements

A Java lead (匿名用户) details expectations for experienced hires:

JVM internals basics.

Read source code of common collections.

Understand Spring/Spring MVC/MyBatis core implementations.

Proficient Linux usage (not kernel development).

NIO, async, multithreading principles and practical coding.

Networking familiarity.

Database proficiency.

Design pattern recognition in existing systems (bonus).

Few experienced candidates satisfy these, forcing the company to hire fresh graduates and train them.

Source: https://www.zhihu.com/question/51359754
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Career DevelopmentJava developmentindustry insightsskill gapembedded developmentChina tech industryhiring standardsprogrammer job market
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.