ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

IT就业难背后:结构性错位与破局之道

IT就业难背后:结构性错位与破局之道

先聊点实在的。这两年只要打开社交平台,输入“IT就业难”这几个字,满屏都是吐槽贴:应届生投了几百份简历石沉大海,工作五六年的开发说“裸辞三个月找不到下家”,还有转行培训机构出来的朋友抱怨“包装了三年经验还是被一眼识破”。作为一个在行业里摸爬滚打了十多年、也面试过上百人的老开发,我想说,这句“难”是真的,但“难”的原因和很多人想的不太一样。它不是一个简单的“岗位少了所以难找”,而是整个行业的人才供需结构、技术栈迭代节奏、企业用人预期,甚至连求职者自身的定位方式,都同时发生了偏移。这篇文章不卖焦虑,不灌鸡汤,就带着大家把“IT就业难”这个筐里的东西一件件倒出来,看看里面装的到底是什么,有哪些是能避开的坑,有哪些是必须面对的现实。

1. 内外双重变化:供需失衡只是表象,结构性错位才是根子

1.1 供给侧的变化:入行门槛降低,海量候选人在同一赛道挤

先说一个绕不开的基本盘。过去十年,IT行业经历了“造富神话”时期,高薪、高福利、远程办公、期权股票,这些标签把大量人才吸进了这个池子。不仅仅是计算机专业科班出身的人,数学、物理、机械、土木、甚至文学专业的朋友,都通过自学、培训班、考研转码等方式涌入开发岗。我身边就有几个真实的例子:A同学本科是学材料的,在工厂干了两年受不了倒班,花了四个月时间学完某培训机构的前端课程,转行成功;B同学原来做行政,白天上班晚上刷LeetCode,愣是把Java后端啃了下来。这类“逆袭故事”在社交平台上被不断放大,让很多人形成一个印象:IT的大门是敞开的,只要肯努力就能进来。

但问题恰恰出在这里。当一条赛道涌入大量选手时,游戏规则就会从“谁跑得快”变成“谁排在前头”。企业招聘是一个漏斗,底层岗位的数量是有限的,尽管这些年新增了不少数字化的需求,但供应的增速远远超过了需求的增速。更关键的是,新进入者大多集中在同一个水平段位上,也就是那些“可替代性最强”的岗位。结果就是,同一个初级Java开发岗,收到的简历可能有大几百份,其中一半都是“三个月速成班”出品,项目经验高度相似,连简历模板都像是一个师傅教出来的。HR在这种简历堆里挑人,只能机械地用学历、年龄、过往公司规模来做硬性筛选,很多人连被面试官看一眼的机会都没有。

1.2 需求侧的逻辑变化:行业从跑马圈地转向精耕细作

再看需求端。互联网行业的早期阶段,核心逻辑是“抢用户、占地盘”,只要有功能能上线,哪怕技术一塌糊涂,也能靠运营和补贴把盘子做大。那个阶段,企业需要的是“能干活的人”,怼上足够多的人手,加班加点把业务堆出来就行。所以那几年出现了大量简单的增删改查岗位,只要会几个主流框架,入行几乎没有门槛。

但现在时代变了,整个行业进入了存量博弈阶段。用户增长到了天花板,资本开始要求盈利和现金流,企业从“砸钱换规模”转向“抠成本提效率”。表现到招聘端,就是一个非常明显的变化:企业不再需要一个“会写代码的人”,而是需要一个“能解决问题的人”。这两者之间有巨大的鸿沟。会写代码,意味着你熟悉语法和框架,照着需求文档能把接口调通;能解决问题,意味着你要理解业务逻辑、设计可扩展的架构、预见潜在的性能瓶颈、保证系统在极端情况下的稳定性。这种能力并不像背几个面试题那样能速成,它需要大量真实项目的锤炼。

1.3 结构性错位的具体表现:企业要的是“即插即用”,市场供的是“半成品”

把供给侧和需求侧放在一起看,就业难的本质就清晰了:不是“没岗位”,而是“匹配不上”。

举个例子,同样是招一个后端工程师,三年前的要求是“熟悉Spring Boot,做过一个简单的CRUD项目即可”;今天的招聘JD(职位描述)里写的却是“熟悉高并发场景下的缓存与消息队列使用,有分布式系统设计经验,掌握微服务治理手段,具备性能调优能力”。但市场上的候选人,大量还停留在“会用框架+能写CRUD”的阶段。企业根本不想花时间培养你,因为培养的成本太高,而行业流动率又大。很多中小型公司甚至明确表示,只招“来了第二天就能上手写需求”的人。

这里提到一个经常被误解的现象:大家总觉得是“35岁被优化”最难,但实际上,在当前的市场上,最难的是“工作经验在2到5年之间、技术深度不过关、又期望薪水涨幅”的这一批人。应届生反而还好,企业本来就没指望应届生能直接干活,更看重潜力;资深专家也不愁,因为真正能拍板解决复杂问题的人永远稀缺。卡在中间的同学,简历写“精通”又没底气,写“了解”又过不了筛选,求职体验最煎熬。

2. 技术栈迭代与“八股文”式面试:供需之外的另一座大山

2.1 知识更新速度远超个人学习速度,经验贬值比想象中快

IT行业有一个反常识的特性:在其他行业,往往是“年纪越大,经验越值钱”,比如医生、律师、会计师,知识的有效期至少有十年以上。但在IT行业,一套核心技术的流行寿命可能只维持三到五年。拿前端来举例,早年间用jQuery一把梭,后来火过Backbone,再后来被Angular、React、Vue相继取代,而现在React Hooks和Vue3的Composition API又成了新的主流。要是你过去几年一直在一个老项目里维护jQuery代码,哪怕你有十年的工作经验,放到今天的人才市场上,竞争力可能还不如一个学了两年代码、把React生态摸透的年轻人。

这种快速迭代带来一个残酷的后果:经验贬值。你可能花了几年时间深耕某个细分技术,结果这个技术还没到达顶峰就被人替代了。我见过不少做原生Android开发的同行,这几年明显感受到岗位需求下滑,跨端方案(React Native、Flutter)出来之后,纯原生开发的岗位缩水得很厉害。你说你擅长的是“技术深度”,但市场需要的是“适配当前业务的技术栈”,这两者如果不能同频,再有深度也得先学会新工具再说。

提示:我不是在说“学新框架就是一切”。恰恰相反,框架只是术,真正重要的是底层原理。但现实是,多数公司的面试官自己都不一定能问明白底层原理,他们只能用“你会不会这个热门技术”来粗暴过滤候选人。所以即便你再怎么强调“底层扎实”,简历上没几个热门关键词,依然过不了机器筛选。

2.2 八股文面试与算法刷题:应试化筛选加剧了“会做不会讲”的错位

另一个把就业难度推高的现实,是面试方式的应试化。现在很多公司的面试流程,尤其是大厂,基本是“算法题+背诵八股文”两步走。算法题考察的是数据结构和基础逻辑能力,这本身没错;但问题在于,它已经被过度严重地“题库化”了。很多人为了通过面试,把LeetCode前300题刷了三遍,背熟所有解法套路,但实际工作场景中根本不会用到,甚至在工作中写一个简单的递归都要查半天资料。

八股文更是重灾区。“谈谈你对JVM内存模型的理解”“MySQL的索引为什么用B+树”“说说TCP三次握手和四次挥手”,这些问题已经固化成标准答案,面试官问出来,候选人背出来,整个过程毫无识别度。这种筛选方式的直接后果有两面:一方面,它误伤了一部分实战能力强但不擅长应试的工程师,他们写代码很厉害,但让他完整描述某个源码细节就卡壳;另一方面,它也放进来了一批“只会做题、不会做事”的选手,他们简历漂亮,面试应答如流,真正分到业务里开发功能时,遇到一点跟教程不一样的异常就束手无策。

企业也不是不知道这种筛选方式有问题,但为什么还在用?因为大公司收到的简历量太大了,在人力资源有限的前提下,标准化考试是唯一能高效批量处理候选人的方法。算是一个“次优选择”。但对求职者而言,这意味着一场求职需要准备两套完全不同的能力体系,一套是工作用的,一套是面试用的,这对很多人来说是额外的巨大负担。

2.3 AI工具的冲击:效率提升了,岗位预期也变了

这两年里,AI对就业的冲击是一个绕不开的话题,尤其是大语言模型类工具流行之后。很多人担心“AI会让程序员失业”,这种说法过于极端,程序员这个职业不会消失,但岗位形态确实在发生变化。以前一个功能模块可能需要专门安排一个初级工程师去写CRUD代码,现在借助AI辅助编码工具,直接由有经验的工程师带着AI就能完成,效率可能是以前的三到四倍。

这就意味着,企业不再需要那么多“执行型”的程序员。当代码生成变得越来越容易时,初级岗位被大量压缩。以前你需要“写”代码,以后你需要“审核”AI生成的代码、修改提示词来控制输出质量、识别AI未覆盖到的边界条件——这些能力恰好是初级工程师最欠缺的。于是整个行业出现了一个诡异的场景:岗位的整体存量在缩减,但单个岗位对能力的要求却在上升。这个剪刀差,进一步加剧了就业的难度。

3. 被误读的“难”:哪些声音在放大焦虑,哪些才是真问题

3.1 幸存者偏差:被声音最大的一群人所主导

在分析“IT就业难”时,有一个非常重要的认知偏差要纠正:在社交媒体上抱怨就业难的人,往往是求职受挫的人,而找到工作的人很少会发帖报喜。打开一个求职吐槽贴,底下可能全是“难兄难弟”在互相响应,这就制造了一种“全行业都找不到工作”的错觉。

真实的就业市场是什么样?我从一个比较可信的角度说:市场上肯定不缺岗位,缺的是“让企业觉得划算”的候选人。同一家公司的两个岗位,一个在招资深后端(高薪但难找),一个在招初级测试(低薪但门槛低)。前者一直挂着招不上来人,后者投递量爆满。这时候你说“就业难”还是“就业易”?答案是:都成立,取决于你处在什么位置。

3.2 地域错位:一线城市卷成麻花,二线城市招不到人

另一个被忽视的原因是地域分布的极度不均衡。我国的IT岗位高度集中在少数几个一线城市和强二线城市,其他地区的岗位供给非常有限。但求职者并没有跟着岗位走,有很多人因为生活成本、家庭原因、落户政策等因素,想留在非一线的城市。结果就是:一线城市一个岗位几百人抢,二三线城市一个岗位挂出去一个月招不到合适的人。

这其实是一个“错配”的问题,而不是“总量”的问题。如果你愿意打开地域范围,比如接受去中西部某一座二线城市工作,很多岗位的竞争压力会骤降。但现实中,多数人求职时默认只搜“本市”的岗位,看到当地没几个机会,就以为行业彻底凉了。

3.3 外包与用工模式:干活的不少,但“名分”变了

再来说一个很多人进了行业才会发现,但求职时很难理解的点:用工模式的变化。早些年,外包公司是IT行业消化初级人才的重要蓄水池,很多大厂的外包岗位,虽然是第三方合同,但工作内容、技术栈跟正式员工差别不大,给履历镀一层金也算划算。但现在,外包岗位的数量虽然还在,但薪酬、转正概率、项目质量全面下滑,已经变成了一个“不值得去”的选择,很多人宁可不接外包,也不愿降低身价。

与此同时,灵活用工、短期项目制、一人多岗这些模式越来越普及。企业需要人的时候,临时找一个顾问团队来,做完就走,不再养长期员工。这种模式对个人能力要求极高,但对普通人来说,意味着职业安全感下降、跳槽风险上升,进一步加剧了“找不到工作”的体感。

4. 破局思路:当前环境下,求职者能做些什么

4.1 停止横向搬砖,聚焦一个纵深赛道

说了这么多客观环境的问题,最后还是要落到“个人还能做什么”上。我的第一个建议,也是最核心的建议:不要试图在所有方向上都做一个“差不多先生”,要尽早选定一个细分领域,把纵深做出来。

什么叫纵深?举例来说,同样是做后端开发,你可以是“一个会用Java写业务接口的工程师”,也可以是“一个对Java虚拟机垃圾回收机制、并发控制底层、高并发下的线程模型都了然于胸的工程师”。前者的可替代性极强,后者在人才市场上则属于稀缺资源。具体到一个求职场景,企业为什么愿意给一个有五年经验的人开高薪?不是因为他多写了五年代码,而是因为他在某几个特定场景下踩过足够多的坑,遇到线上问题时能给出靠谱的判断。这种能力,只有聚焦在某一领域持续深耕才能获得。

4.2 把简历从“技能列表”改成“问题清单”

很多人的简历里写的都是“熟练掌握Java、Spring Boot、Mysql、Redis…”,这种写法在今天已经毫无区分度。你要知道,HR和面试官一天要看几十份简历,每份停留在上面的时间不超过15秒,技能点罗列越多,越证明你没有有意识地选择。

更好的策略是:把简历改写成“问题清单”。每一段经历都描述一个你遇到的具体业务问题、你分析这个问题的思路、你用到的技术选型、最终的效果量化指标。比如“将日志查询平均耗时从3秒降低到800ms”,比如“通过引入消息队列,解决订单高峰期的数据库连接池占满问题”。这种写法的好处是,它直接向面试官展示了你的思考方式,在面试开始前就建立了一个“这个人能解决问题”的第一印象,而不是让他从一堆动词里猜测你会什么。

注意:简历上写的内容,一定要是自己真做过的。面试官一定会围绕项目细节往深处追问,如果对某项技术或方案的理解停留在表面,很容易在追问两三层之后露馅。真实做过和“了解过”的区别,在这个环节暴露得特别快。

4.3 重建学习和求职的关系:以终为始,拒绝“收藏即学会”

在焦虑情绪下,很多人会陷入一种“无效努力”的状态:天天看技术公众号,收藏了一堆面试题,买了各种课程,但真正打开动手敲代码的时间寥寥无几。这种学习方式最大的问题是,它给了你一种“我在进步”的错觉,但并没有形成任何可迁移的能力。

更高效的做法是“以终为始”反推学习内容。如果你想求职的目标岗位是“大数据开发”,那就直接去看这个岗位最新的三份面试要求,把里面提到的核心技术栈列出来,然后挑一个真实的业务场景,从头到尾做一遍。比如用本地电脑搭一套简化版的实时数仓,处理一份公开的日志数据,再写一个可视化页面展示结果。整个过程不需要很复杂,但它能逼着你把技术栈串起来,遇到问题时学会查文档和排查,这个过程本身,就是面试官最关心的“解决问题的能力”。

4.4 调整预期曲线:先求生存,再谋发展

最后一条建议可能不那么“励志”,但我认为在当前环境下非常务实:如果你已经在求职市场上挣扎了几个月,不妨重新审视一下自己的预期。

第一层预期是薪资。市场给出的价格是由供需决定的,不是由你上一份薪资或生活开销决定的。如果薪资期望高于市场能给到的范围三成以上,求职周期会无限拉长。第二层预期是岗位方向。不要死守某一个职位名称,把视野放宽一点,相关的岗位,比如测试开发、技术支持、解决方案工程师、实施工程师,都可纳入考虑范围。第三层预期是公司规模。大厂进不去,可以先去中小型公司,积累一两年真实项目经验后再往更大的平台跳,职业生涯是一场长跑,没有必要在最难的时候非要实现一步到位。

5. 写在最后:这个行业没有变差,只是回归了理性

我个人的看法是,IT行业并没有“变差”,它只是褪去了泡沫,回归到了理性状态。前些年那种“随便学几个月就能拿到高薪”的故事,本质上是行业处于非理性扩张期的特殊产物,那种窗口期本来就不可能持续。现在的行业状态,更像是一种正常的、成熟行业该有的样子:门槛变高了,要求变多了,竞争规律变清晰了。

对我自己而言,这些年的感受是:市场对“真正会解决问题的人”的饥渴程度,其实远超过想象。一个靠谱的、有独立解决问题能力的工程师,无论在什么时候都不愁出路。难的不是就业,而是如何把自己变成一个“会给企业创造价值”的人。这两者之间,隔着的是持续学习的习惯、逆水行舟的耐性,以及一点点面对现实及时调整策略的勇气。如果你正在经历求职的困难期,我想说,这种感觉所有从业者都经历过。调整策略、专注纵深、保持输出,剩下的,就交给时间。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进