计算机专业还值得报考吗?

计算机专业还值得报考吗?

从我二十多年前参加高考以来,每年高考一结束,#计算机专业还值得报考吗# 就一直热门话题,一些人认为计算机发展了这么多年已经饱和,可能面临毕业即失业的风险,而另一些人则认为计算机专业依然是未来的热门专业,就业前景广阔。

其实“计算机专业还值得报考吗?”这其中包含两个问题:

  1. 计算机专业未来发展前景如何?
  2. “我“是否适合学计算机?

绝大部分讨论都是围绕第一个问题展开的,而第二个问题讨论比较少,毕竟每个个体都不一样,别人很难帮你做出一个准确的判断。

我在这里结合一些自身的经历,分别从两个问题上谈一下为什么我当初选择计算机专业,读计算机专业给我带来的好处,最后再回答一下这个问题。

为什么我选择计算机专业

我是 99 年参加高考,那时候计算机就是热门专业,但计算机可远没普及,我在大学之前完全没接触过计算机,只有高中最后一年,学校食堂开始普及 IC 卡打饭,估计为了安装管理软件,采购了两台电脑,才有幸在给 IC 卡充值的时候看看是什么样的,但我们学生是没机会去使用的。由于不了解,所以我并没考虑过计算机专业。因为小时候对于用火药造土火箭很感兴趣,所以报考了西工大的航天相关专业,最终被调剂到力学专业。

本来我以为我会从力学专业毕业,然后像很多师兄师姐一样,上个研,或者毕业后去个研究所。但上大学后,学校机房上机很方便,自此给我打开了新世界的大门,开始沉迷其中,大部分时间都在机房泡着,一开始是玩游戏,上网聊天。像我这样上大学突然接触计算机就沉迷其中,然后荒废学业挂科直至退学的,每年都不少,我也差点成为其中之一。

我之所以没有一直堕落下去,一是得感谢当时的班主任老师,虽然对我有点恨铁不成钢,但是还是鼓励我把兴趣转移到一些积极有意义的方向,鼓励我去参加学校的网页设计比赛,还借给我电脑使用;另一方面我自己也比较喜欢尝试新事物喜欢迎接挑战,所以我就开始尝试做网页,从零开始,买书,上网查资料,实验各种工具(我还记得用的是 Frontpage 98),最后做成了一个很丑的布满各种 gif 动画和跑马灯文字的个人主页,没能得奖,但是这个过程让我收获到满满的成就感,而不似以前玩游戏上网聊天,每次回宿舍都觉得很有负罪感。

自此我就开始把精力转移到了网页制作上,不满足于只会做静态页面,又开始自学 ASP 等动态语言。后来学校一个网站招兼职维护,因为我有作品(就是那个很丑的个人网页),所有从众多候选人中脱颖而出,进入网络中心兼职,开始和学校一群编程很厉害师兄们混在一起,真正接触网络编程。有师傅带不一样,可以学到很多东西,少走很多弯路,我的编程水平进步神速,能写出比较复杂的应用,当时我做的一个校内的影视播放网站是校内最受欢迎的网站之一。

自此我也终于找到了我终身热爱的事业,那就是编程。

到大三的时候,我已经完全失去了对力学专业的兴趣,挂了很多课,幸运的是,大三的时候,学校开设了软件工程专业,从大三各专业学生里面招,只要求高数成绩在 75 分以上,另外要额外收 3.5 万的学费,很多人就是因为这个学费止步了。当时也有点纠结,但班主任的一句话点醒了我:“力学专业已经发展了一百年,已经没有什么新东西可以让后面的人挖掘了,而计算机还是新兴领域,未来还有很大的发展空间!”,于是我就转过去了,马上有点如鱼得水的感觉,转过去之后真的几乎没再挂过科了。

顺便提一下,感谢国家的助学贷款政策,让我这样的贫困学生有了更多选择,那笔学费靠的是助学贷款,在当时是不小的一笔钱,但是后来计算机专业毕业工作的收入相对比较高,真的不算什么了。

如果有机会再选一次的话,我会在一开始就选择计算机专业,而不是懵懵懂懂的随波逐流。而我之所以会再选择计算机专业,原因也很简单:

  1. 最主要的原因还是因为我真的热爱,从我开始接触编程到现在 20 多年了,我还依旧热爱。我享受那种从无到有创造的过程,享受那种看到自己的作品被别人使用的成就感。因为这种热爱,让我可以忍受枯燥,花很多时间在电脑前,不断的学习,不断的尝试。

  2. 我有强烈的求知欲,愿意去学习新的技术。计算机专业是个新兴的领域,新技术层出不穷,这意味着以前掌握的技术可能很快就会过时,所以需要不断的学习,才可能跟的上时代的步伐。如果背后没有求知欲的支撑,这种不断学习的过程是很痛苦的,也很难坚持下去。

  3. 其他相对没那么重要的原因:

  • 我数学还不错,逻辑思维比较强,写程序不会被一些复杂的算法绕晕。但这不是计算机专业的必要条件,毕竟计算机领域很广,像产品经理、项目经理、UI/UX 设计师等等,都不需要太强的数学基础。
  • 有一点英语基础,毕竟计算机相关最新的资料文档,基本都是英文的,日常离不开要大量查阅英文资料。

我的这一套原因,当然主要是适合我个人的,毕竟怎么选专业从来没有一个标准答案,每个人的情况都不一样,所以我也不会建议别人一定要学计算机专业,只是希望大家在选择专业的时候,能够多从自身考虑,不仅仅是看计算机是不是热门,是不是能找到高薪工作,毕竟能让你走的远的,是那份热爱。我也见过跟风选择计算机专业的,后面也面临很多问题,比如业绩垫底,干的很吃力,也不开心,有心转行,但也下不了决心,也是很痛苦的。

当然就像我高三毕业的时候,年轻的我根本就不知道自己喜欢什么,也很难做出正确的选择,那么选个热门的计算机到也不见得是坏的选择吧,人生还有重新选择的机会,有决心的话以后还可以转专业或者考研换专业。

读计算机专业给我带来的好处

在大三下学期之前,我还不是计算机科班出身,但我已经自学了很多编程之一,也开始在外面接一些外包项目。比如我大二暑假没回家,熬了好多通宵,2 个星期就给人山寨了一个办公 OA 系统,赚了几百块。

我常自嘲那时候是编程速度的巅峰,纯野路子,甭管代码多烂,实现就好,很快就能糊一个版本出来,至于能不能维护,那是以后的事情了,毕竟那时候做的很多项目也没多少真的需要长期维护的。

但没有科班系统学习,短板也很明显。

一个是计算机专业技术方面的。我接了很多外包项目,大部分都是企业网站,每次接个新项目都是把以前的代码复制粘贴一份,再修改,但是没能力提取一些通用模块重用,所以有很多体力活在里面。涉及复杂一点的算法也完全不知道如何下手,安全性更是大问题,也出过 SQL 注入的事故。

另一个是软件工程和项目管理方面的,我接手的项目都是自己一个人完成的,有人要帮忙也不知道如何分工,别人也看不懂我写的代码。有一次有一个校外的比赛,我拉了几个人组了个小团队,想去参加,大家一开始热情满满,但是我也不知道如何大家一起分工协作,最终到截止日期到了我们还是没能做出来什么东西,只得放弃。

到了我转入软件工程专业后,系统的学习了很多专业课程,比如数据结构和算法、面向对象、数据库设计、软件工程等等。当学习了这些专业知识了,后面再写程序,就知道要考虑维护性、安全性、性能等等,写出来的代码也更加规范,更容易维护。当然也有副作用,再也不复当年的编程速度了,每次写代码之前要考虑很多,纠结很多,提升质量的同时也降低了速度。

我一直觉得学计算机专业后,对我最有用的一门课程是“软件工程”,正是因为学习过软件工程,给我埋下了一粒种子,等我工作后,在项目实践的时候,就会有意无意应用软件工程中的一些方法论,比如需求分析、设计、编码、测试、部署等等,不再是把自己局限在编程这个狭小的领域,而是开始关注整个软件开发的生命周期,站在更高的角度去思考问题。

最终软件工程课程埋下的这粒种子生根发芽,如今已经是一颗参天大树,不仅对自己助益良多,还能去帮助其他人。甚至于我不仅将软件工程的这些方法论应用于软件开发,在日常生活中也时常应用,比如我以前写过一篇文章教孩子在 MineCraft 中搭公寓,指导孩子们在游戏中复原公寓,就是用了软件项目管理的那一套方法论。

当然很多人也会说,虽然我不是计算机专业,但是这些课程我可以自学呀,毕竟现在网上学习资源这么多。这话理论上成立的,也真有牛人能做得到,但是对于绝大部分像我这样的普通人来说,如果没有一个像大学这样的环境,有老师的指导和监督,有考试的压力,很难坚持下去,多半就是半途而废了。

还有很多人会担心,大学的课程设计相对比较落后,和实际工作中的要求脱节,就算学了计算机专业也学不到什么东西。大学课程与实际工作要求脱节这个是事实,而且也很难短期改变。但换个角度想,虽然计算机领域发展很快,有一些课程是需要与时俱进,比如像编程语言框架,但还有很多是不怎么变的,比如数据结构和算法、操作系统、软件工程这些,这些课程是计算机专业的基础,是不容易过时的,也是你在工作中最常用的知识。

至于那些最新的计算机知识,比如生成式 AI、Transformer,网上有很多可以学习的资料,比如 YouTube、B 站的教程、各大名校的公开课,只要有心和舍得下功夫,都可以学到。

这样大部分基础知识通过专业课程学习,再自学一些最新的计算机知识,甚至于不限于计算机专业领域知识,还有很重要的一点就是在大学时就养成好的自主学习习惯,成为终生学习者,这样你就不用担心计算机专业的课程设计是否脱节了,未来也总能通过自学去跟上新技术的发展。

计算机专业还值得报考吗?

前面都是围绕我自身角度来谈的,那么计算机专业还值得报考吗?就如我前面说的,这是两个问题,一个是计算机专业未来发展前景如何,另一个是“我“是否适合学计算机?

我并不知道每个个体的情况如何,我也谈了自己选择的原因和收获,所以我也只能再稍微谈一下计算机专业的未来发展,尤其是最近 AI 兴起后,很多人担心 AI 会取代人类,计算机专业的就业前景会不会受到影响。

计算机专业未来的发展,取决于两个方面:学术界和工业界。

  1. 学术界是否有新的突破?就像新的生成式 AI 的突破,会给学术界带来很多新的研究方向,这些新的研究成果会再应用到工业界。
  2. 工业界是否有新的需求?就像最近 AI 的火爆,是不是会创造出很多新的工作机会,比如将现有 IT 系统升级,整合 AI 等。AI 自然会替代一些新的岗位,但是新的需求也会创造出新的岗位,只要新需求多于被替代的岗位,总体前景还是好的。

就现在的发展趋势看,我还是倾向于新需求多余替代的岗位,AI 还没有能达到替代专业程序员的地步。但是转型过程是痛苦和漫长的,因为新的需求要求的技能和以前的技能重叠度没有那么高,那些主动掌握新技能的人才能很快转过去,而那些被动升级技能的会经历很多痛苦,而那些不愿意学习新技能的,可能会被淘汰。

这其实也是我前面提到我自己选择计算机专业的原因之一,因为我喜欢学习新技术,喜欢尝试新事物,所以当像 AI 这样的新兴技术出现的时候,我反而是那批受益者。当然如果未来我不能继续学习,也一样会很快被淘汰。

至于你要不要报考计算机专业,不妨问自己几个问题:

  1. 我真的喜欢计算机吗?
  2. 我愿意当一个终生学习者吗?
  3. 毕业找不到工作或者被裁员我会后悔当初的选择吗?

当你想清楚了这些问题的答案,那么你也就知道了“计算机专业还值得报考吗?”这个问题对你来说是什么答案了。

最后祝你心想事成,如愿进入心仪的学校和选到喜欢的专业!