软件行业校企供需失配现状及建议

1 序言

一个多月前我就在酝酿写一篇这个话题的文章,很巧的是,就在前一周,我接到了昆明学院的邀请,参加昆明学院信息工程学院人才培养方案修订行业专家调研会议。在聆听了老师们对几个专业的介绍和行业内各位同行专家的意见后,我对这一问题有了更多的看法。

作为用人单位而言,对应届生的期望是怎样的?学校培养大学生应该进行一些什么样的教育和引导?学生如何在校期间做好准备迎接毕业后的“社会毒打”?我通过这篇文章,以一个企业用人需求方的视角聊一聊我的看法和建议。

2 本科院校培养现状

我们经历的本科教育通常以理论教育为主,本科教育的定位如此本身并没有任何问题,那更注重实用性的企业是否会更倾向于专科院校呢?因为历史原因,专科教育的定位、生源质量等问题造成社会认可度不高,企业通常倾向于招聘本科学历学生。我今年也接触过一两所专科院校,平心而论,他们的课程设计更具有针对性和实用性,可惜他们的本专业就业情况依旧不乐观,我和老师讨论认为生源质量是最大问题。反观本科院校,尤其是公立本科,大多生源质量会明显优于专科院校。但在我近些年的招聘过程中,我认为本科毕业生通常存在以下几个问题:

2.1 缺乏行业认知

如果你与普通本科院校里计算机专业的毕业生进行交流,你会发现他们对行业认知几近空白,例如软件开发相关的岗位,在他们大部分人眼里,就只有“写代码”这一职业选择,“代码仔”这一认知,劝退了一大批女同学,她们认为自己不擅长写代码自然不适合进入这一行业。殊不知,软件行业内也有明确的岗位划分,并不是每一个岗位都需要很强的编码能力。

在此次研讨会中我也提到了这一问题。在“软件工程”专业的培养计划里,我明显感受到了比其他几个专业更多的专业实操技能培养内容,但是这些培养内容所适配的岗位较为狭窄,重点几乎全放在了通用应用软件后端程序程序员这一岗位上。流水线上其他岗位所涉及到的内容要么完全缺失,要么浅尝辄止。这样的课程安排下,学生难以了解整个行业分工,不能认识到行业发展方向,容易造成自身职业定位模糊、技能选择迷茫等问题。

几天前,我在知乎上看到了一个问题:一个学生问,他学了JAVA、C#的语法,感受到两门语言都很类似,他花了很多时间学习两门语言,不知道接下来应该学习什么?这个学生显然就遇到了技能发展方向迷茫的问题。我在校时,也遇到了相同的问题:我们学了编程语言,考完试以后,我们只会在黑框框里画个三角形,做个赋值交换。如果要做一个具备使用价值的软件我应该如何开始却完全找不到任何方向。

2.2 缺乏专业技能

我毕业时,找工作很困难,企业招人总爱招具备一年以上工作经验的开发人员,而我完全是个啥都不会的萌新。这样的经历让我个人对应届生抱有极大的善意。近些年,我基本每年都会招几个实习生,实习生到了公司后我会给3个月左右的时间明确学习内容,任务目标后让他们自行学习成长,分派有经验的程序员抽空指导并跟踪学习效果。这样的方式下,几乎每年都能找到几个可用的实习生毕业后入职公司,我认为这是双赢的。

从我的经历中能看到,学生不是缺乏学习能力,不少人也具备学习热情,但是并不知道应该学什么,应该如何对自身的专业能力进行提升,也不知道学校所教授的知识如何使用,更不知道去哪学习了解行业专业技能。而大学前10多年的教育方式大学生们已经习惯了等待他人告诉你应该学习什么知识,却缺乏自己寻找知识的能力,哪怕把他丢到了图书馆里,也很难从浩如烟海的图书中找到合适自己的那一本。

缺乏选择能力的学生,自控力差的选择躺平,自控力好的,容易盲从,在朋友圈看到了“Python之父廖xx”的广告,花了大几千,最后发现整个市场就没几个合适自己的岗位。我去年还遇到学了Pascal来找工作的。这样的学生如果还没毕业还能通过实习期培训以满足公司需求,拿了毕业证的都没法走实习通道,变得极其尴尬。

2.3 缺乏实操指导

我是学网络工程专业的,当时在学校学了不少网络基础知识,专业课也上完了,实验课也都按着实验手册配置了交换机路由器,但是全班同学依旧对组网满眼迷茫。大三结束学校把我们安排到某培训学校进行了一个月实习,不得不说,培训学校对实操的教育着实很有一套,短短一个月的时间,我们对组网、配置相关知识都有了极大的认知提升。

工科专业,动手能力最为重要,而我们接触到的学生,往往严重缺乏相关实践。环境搭建、专业术语、常用工具一无所知。前个月,部门招来了一个简历上有学校实践经验的实习生,同事让他写一个简单的后端接口,最终折腾了一整天后过来问是不是写一个interface就好了?

回想我自己学习书本基础知识的时候,多态、异步、委托…这些概念在脑子里全是一团浆糊,理解起来十分困难,更不清楚如何使用。但在项目实操中,真正用过以后,再也不需要任何复杂的定义描述,可谓秒懂。这些实践需要引导,需要学校提供合适的实践课程设计,而现状并不如人意。

3 企业需求现状

作为市场组成最多、就业容量最大的中小企业,成本极其敏感,对应届生的期望本是即招即用。近两年在越发寒冷的就业环境下招聘难题却越来越明显。据某位与我熟识的老师说,他所在的二本院校计算机相关专业里他们的学生专业能力不错的占比仅10%左右,其中又有近一半选择考研,剩下的大多也选择考编。最终进入企业的毕业生其实很少,这样的培养效果不得不令人惋惜。

在学生找工作的过程中,又极易掉入一个大坑:培训学校。在我前文中说到,培训机构对实操能力的培养是很有一套的,但是,培训学校在发展的过程中也走向了“应试套路”。他们把企业面试当作了考试,让学生学习“面经”,教学生简历造假,使用欺骗性话术应对面试。往往这些培训学校的培训费用很高,动辄五位数起步,很多拿不出这么多钱的学生培训机构还让他们办理培训贷款,经济压力让学生很自然地选择了“欺骗”这一捷径。当面试官识破套路后,往往直接否决,见得多了以后,只要看到简历上有培训学校经历的,直接Pass,培训学校只能教学生采用更加隐蔽的简历欺骗手段。这是恶性循环,从一开始就选择了欺瞒,有了诚信污点。更有甚者,利用招聘渠道,将学生欺骗至培训机构,进行一番话术洗脑,将招聘变成了招生,十分可恶。

长期来看,企业对本科生还是更加青睐,本科生往往基础更加扎实,对于长期发展而言更具优势,随着从业经验的增长,很多学校里觉得没用的“基础知识”会成为比其他人看得更远的基石,也因为接触过这些晦涩难懂的东西,了解学无止境,让他们懂得了对专业心存敬畏,这样的人,专业成长潜力更足。
而高校如何平衡好对学生的技能水平与理论基础成为一个重要的课题。企业逐利,不愿意长时间等待学生的成长,高校求稳,从国家的课程要求到学校的教育资源配置都更倾向基础理论教育,更何况还要兼顾到考研、科研等面向高校本身的资源配置。处理好这两者的关系是一门艺术。

4 我的建议

4.1 学校教学建议

这次昆明学院还聘请了50位社会行业人士作为毕业生毕业设计行业指导教师,这是一个很好的开端。让学生在大四开始,毕业设计阶段就能有机会了解社会需求,也能根据社会行业专家的指导意见进行有针对性的学习。如果学生能够切实按照软件开发常见流程完成一个有质量的毕业设计,那么在做的过程中也一定完成了很多职业技能知识的学习,我相信这样的学生一定能够顺利找到本专业工作。

在培养计划讨论会的过程中,昆明学院的老师着重强调他们保留了难度较高、实用性略低的《编译原理》的作为必修课,我深感欣慰。这是本科院校理应保留的骄傲,本科教育不应该一味地讨好就业而过多地放弃理论。例如汇编,几年前,我读到了一句话:“学汇编不是说一定要用这玩艺做多牛X的事情,问题的关键在于,学透了汇编会使你真正理解计算机。在工作中你迟早会在某个阴暗的角落遇到汇编。”去年,我为了绕过一套软件奇怪的限制,确实和汇编来了一次亲密接触,对这句话深以为然。基础理论教育不能放弃,这是本科教育的根本,是为了给学生更进一步留下了可能。

加大力度引入社会资源进入校园为学生带来方向性指导。正如我前文所说,很多学生并非不愿意学习,而是缺少了适当地引导,导致对学习方向的迷茫。如果能尽早引入社会资源对学生进行引导,明确告知社会岗位需求及对应的技能需求和学习方法,以当今互联网上海量的学习资源作为支撑,一定能够对很多学生产生积极影响。很多人说的“技术更新换代快,学校教育无法跟上”这一问题在我看来是个伪命题,追赶技术、就业技能培训本就不是本科院校的职责所在,为学生很好地学习这些技能铺好路,告诉他们学习的方法才是教育的根本,这样看来,重基础毫无问题,目前所存在的问题是缺失如何自行学习就业技能这一方法的教授,而引入社会资源进行指导恰恰能很好地满足这一需求。

4.2 学生学习建议

我们身处互联网时代,信息变得极其廉价,如何获得有效信息、如何验证信息是每个独立存在的个体都需要掌握的技能。知识的获取从未如此廉价,你们需要的仅仅是获取行业岗位需求资讯,结合手边资源进行广泛尝试,分析自身优势并有针对性发展即可。身处软件行业的各位是幸福的,历史上从未有一个行业像软件行业这样开放,随处可见的免费教程、动动手指就能拿到世界最顶尖项目的开源代码,一台普通配置的电脑即可搭建足够用的开发实验环境,拿着学生证就能申请便宜到近乎白送的公有云服务器。没有什么能阻挡你们学习的脚步。

在当下看来,横向对比其他专业,计算机类专业依旧存在明显的就业优势,大把的岗位等待着未来的工程师们,在可预测的几年内,软件行业依旧是一个具备侵入性的行业,它能渗透到各行各业,存在巨大的市场空间等待着大家。

我的微信公众号
我的公众号