Beyond HR Noise Find Your Edge | Generated by AI
Question: How to deal with job rejection in software engineering job hunting? The company rejected me, HR doesn’t understand the value, while tech leads or technical people can better assess. Some people excel at passing HR screens with good resumes, some at interviews, some at actual work. What do you think about this uncertainty? Wang Xing, founder of Meituan, mentioned the “ostrich principle”: if you are clearly much better than competitors, people will recognize it.
Answer:
Job rejection in software engineering is common and often frustrating, especially when you feel HR misses your technical value while a tech lead might see it clearly. The hiring process has multiple stages with different gatekeepers, each with their own criteria and limitations.
-
HR/resume screening stage — Focuses on keywords, format, company prestige, years of experience, and “risk” signals (e.g., frequent job changes). Many strong engineers get filtered here because their resume doesn’t match the ATS (Applicant Tracking System) or lacks flashy branding. HR often lacks deep technical knowledge, so they rely on proxies like big-name companies or specific tools/languages listed.
-
Technical evaluation — Tech leads, senior engineers, or hiring managers assess real ability through coding tests, system design, behavioral questions, and problem-solving. This stage better identifies who can actually do the job.
-
The three types you mentioned are real:
- Resume masters: Optimize for passing ATS and HR (quantified achievements, clean layout, buzzwords).
- Interview acers: Strong at LeetCode-style problems, communication, and performance under pressure.
- On-the-job stars: Deliver excellent work but may struggle with interviews or resume presentation.
The process is noisy and uncertain — it’s not purely merit-based. Luck, timing, competition pool, interviewer’s mood, and subjective fit all play roles. Even top engineers get rejected multiple times.
How to face and handle rejection practically:
-
Don’t internalize it personally — Rejection usually means “not a fit for this role/process” rather than “you’re not good.” Many great engineers face dozens of rejections before landing a strong role.
- Improve the parts you control:
- Resume: Tailor it per job (match keywords from the JD), quantify impact (e.g., “Reduced latency by 40% for 10M+ users”), get feedback from peers or platforms like LinkedIn/Reddit.
- Apply strategically: Target companies where your background aligns (e.g., if you have strong open-source or specific domain experience, aim for relevant firms). Apply broadly but smartly (50–100+ applications for active searches).
- Networking/referrals: Referrals bypass HR filters — reach out to alumni, ex-colleagues, or LinkedIn connections at target companies.
- Interview prep: Practice coding (LeetCode medium/hard), system design (Grokking courses), behavioral (STAR method). Mock interviews help a lot.
- Build long-term strength — Focus on real skills: build side projects, contribute to open source, deepen expertise in high-demand areas (e.g., distributed systems, ML infra, cloud). Strong work speaks eventually.
Regarding Wang Xing’s “ostrich principle” (鸵鸟原理): He uses the analogy of chickens/turkeys vs. an ostrich — small differences aren’t convincing (a turkey looks only slightly bigger to a chicken), but a massive, obvious advantage (ostrich size) forces recognition. In competition (business or personal), marginal improvements often go unnoticed or debated; only when you’re dramatically better do people (recruiters, competitors, markets) clearly acknowledge it.
In job hunting, this suggests:
- Being “a bit better” may not stand out in a sea of similar resumes/candidates.
- Aim to be obviously stronger in something valuable: e.g., rare domain expertise, proven high-impact projects, exceptional coding speed/quality, strong GitHub portfolio, or referrals from respected engineers.
- If you’re clearly top-tier (e.g., ex-FAANG level skills + results), more doors open, and people “know” your value faster.
But in practice, even very strong candidates face variance. The key is persistence: treat rejection as data, iterate, and keep going. Most successful engineers have been rejected many times — it’s part of the game.
Stay resilient, keep building, and the right opportunity will come when your strengths become “ostrich-level” obvious to the right people.
References:
- Various Chinese sources summarizing Wang Xing’s internal talks (e.g., Zhihu, 36Kr, Xueqiu) explaining the ostrich principle as “only when the advantage is very obvious does it count as real competitive advantage,” using the chicken-turkey-ostrich analogy.