作者 | 梁唐
大家好,我是梁唐。
高考已经拉下帷幕,最近又到了紧张刺激的填志愿选专业环节。
不仅刚刚考完的新生面临选专业,许多对原专业不满意或者是即将面临分专业的同学同样面临这个问题:究竟什么专业比较好呢?
今天就和大家聊聊这个问题。
新兴专业的坑
选专业第一要义就是要排除新兴专业,所谓新兴专业,也就是这两年刚刚开设的专业。
像是什么物联网、大数据、人工智能都属于这个范畴,也许这几个里面有你非常非常感兴趣的方向,先别急着反驳,听我聊聊原因。
新兴专业的开课不一定科学
首先一个是新兴专业,在教学上是一个盲区。应该排什么课,怎么排课,谁来讲,这些老师之前有没有过相关经验?你看这么多问题都是未知数,所以很多学校的新专业往往都是硬着头皮讲,甚至很多根本没搞过这个方向的老师恶补一波来临时上课。
加上高校的排课本来就不是非常科学,和工业界脱节比较严重,一直有理论重于实践的诟病,在新兴专业里面这个问题往往会更加严重。
比如我读书的时候有一个专业叫做物联网,是首届招生。许多同学就是冲着这个新专业来的,结果一直到毕业才发现,90%的课和计科是一样的,总共也没上几节和物联网相关的课,甚至许多人连物联网究竟需要哪些技术也说不清。
最后无论找工作的还是读研深造的,后续的方向往往都和物联网没了关系。
新兴专业不一定对口
由于排课不一定科学,加上本科阶段以基础学习为主,还要兼顾有些同学的考研需求,真正能上的专业课是非常非常少的。所以这就导致了很尴尬的一点是,最后毕业的出路不一定对口,甚至是基本上不对口。
大数据专业的基本上当不了大数据开发,人工智能专业也基本上拿不到算法的offer。像是什么物联网就更不用说了,拉勾里干脆就没有这个职位。
不过专业不对口这个问题由来已久,并不只有新兴专业这样。最简单的例子就是,千千万万计科毕业生最后都成了软件工程师。
博学难精
我们来举个实际的例子看一下,假设计算机学院新开了一个专业叫做人工智能专业,是不是很吸引人?我们来大概想象一下,这个专业需要学的内容。
首先,基础课程像是高数、线代、概率论之类的肯定少不了吧。如果学院排课坑爹,搞不好还要上什么模电、数电、电路、大物以及对应的各种实验。
其次,计算机基础的课程也肯定少不了,毕竟考研要考的。像是C语言、面向对象、数据结构、算法导论、计算机网络、操作系统、组成原理等等,这一系列课程肯定也是座上宾。
这些课全部排完了才轮得到人工智能的专业课,但问题是人工智能是一个很大的领域,我们不说NLP、CV这些细分,就从基础开始。Python要学吧,numpy、pandas、sklearn这些基础组件库要学吧,机器学习、深度学习这些基础要学吧,TensorFlow/Pytorch这些框架要学吧,实验课也得安排吧,搞不好还要上什么人工智能概论这些文科课。
想想看,大学四年时间,这么多内容能够深入学习吗?
原本人工智能和计算机科学包含的内容以及对能力的要求都不太一样,比较理想的应该是适当砍掉一些计算机科学的课程,尤其是组成原理、编译原理、体系架构、模电、数电这些偏硬件的课程,多多安排本专业、行业内的东西。但首先排课的老师不一定对这些领域都了解得很深,其次是也要考虑到照顾考研、协调师资力量等问题。
所以国内的这些新兴专业,基本上都是计科/软件叠加几门专业课的缝合怪。真正想从事这个行业,无论是工作还是深造,都依然有很长的路要走。
更有可能发生的是,选课的时候发现计科/软件才是亲儿子,什么课都能选,而这些二级专业课的学生很有可能没有选择权。别问我怎么知道的,sad。
计科vs软件
说完了新兴专业的问题,再来聊聊计科和软件的选择问题。
这个问题有些敏感,很容易引战。我在知乎里写过相关的回答,引来不少人抬杠。事先声明,这只是我个人看法。
计科和软件的选择,我觉得很简单。如果以后励志想要当一个程序员的,不论是什么方向的程序员,选软件就行。如果真对硬件感兴趣,想要搞搞嵌入式,或者是捣鼓电路板以及各种元器件的,那可以考虑计算机。对于不知道以后要干嘛的,我也一律推荐软件。
一个是现在硬件开发的岗位相对软件少很多,薪水、岗位数量都有一定的差距。毕竟现在互联网行业火热,市场上紧俏的往往都是软件工程师。并且做硬件相关的门槛很高,入门不易。
另外一点是计科的硬件也确实是有些拉胯,很多人报考计算机是抱着软硬兼修来的,想的都是既能写代码又能搞芯片,当个野生钢铁侠。但到了最后呢,发现二极管发光、三极管导电的理论学了一堆,实际硬件开发的技术一点不会。什么PCB、EMC更是闻所未闻,甚至连单片机也没摸过几回,一半的同学连树莓派都没听说过。
很多人都说计算机软硬兼修,我觉得也不能说是不对,但是有点尴尬,更实际的情况反而是软比不过软件,硬比不过电气、自动化,两手抓两手都不硬。真正想要软硬兼修的少年,只是指望完成学业是肯定不够的,业余还需要大量的投入和学习,但遗憾的是很多人往往还没入门就被劝退了。
另外,再分享个有趣的事。我特地去我校的官网上看了一下,计算机学院博导简介满满当当写了4页,数十名教授,其中研究方向和硬件相关的连半页都不到。研究机器学习、人工智能的占到了70%甚至更多。
总结
最后做个简单的总结。
新兴专业看着吸引人但是开设时间短,培养方案、排课这些不见得就比计科、软件这些老牌学科强。其次,不要迷信软硬兼修,大部分从业者还是做软件开发,如果不是对硬件特别感兴趣,可以考虑直接上软件专业。
当然了,这些只是理论,具体的还是要根据实际情况来具体分析。选专业重要但也没那么重要,俗话说师傅领进门,修行在个人。尤其是选项缩小在计科、软件上的时候尤其如此。更多地还是看自己,专业再好,老师再厉害,也比不过自己踏实的努力。
以上,祝愿大家都能做上自己喜欢的工作~