如果是计算机科学与技术专业,只是选择学习/研究方向的话,那么——
从就业角度看:
软件开发>网络空间安全=人工智能。
从升学角度看:
网络空间安全=人工智能>软件开发。
上述两个排名有个前置条件:资源相同。
就业中,将软件开发放到第一位,只是因为软件工程偏应用,就业的面更广,相较于其他两个方向来说更有优势。
升学中,则专业影响相对较弱,影响升学的主要是三方面:一是个人能力,二是学校资源,三是导师水平。
普通本科(非顶尖高校,非985、211优势学科),其实我更推荐选择软件开发方向。因为这类学校针对软件开发所设置的科目更偏向于实战和应用,更容易就业。
软开方向的学生在校期间可以参加一些软件开发的项目或比赛(HR更倾向于要有项目经验的应届毕业生),就业应聘开发类的岗位,基本不会找不到工作,如果自身条件好,能力强,去大厂也不是不可能。
<hr/>网络空间安全这个方向其实很难评价,主要还是看学校的教学更侧重什么,一般就是实战和科研两个方向。
选择科研这条路的基本都是读研党,若是不读研,本科毕业杀入就业市场,竞争不过搞开发的同学。
实战则需要看学校和老师的水平,没有老师带队搞安全的比赛如CTF,那么就不要轻易选择这个方向,不然学习的时候抓瞎,毕业找工作还是抓瞎。在有一定基础的前提下想去好点的安全公司,一是要靠老师的推荐(看关系),二是要看自己的努力。
既然提到网络空间安全,我多说两句。
虽然各大“机构”、媒体对网安专业都持有较高的评价,但我对这个专业不太看好。
一般说,网络空间安全专业由计算机科学与技术专业的二级学科信息安全发展而来。信息安全这个专业十多年前就已经有了。
毫不夸张地说,信息安全是我见过的产学脱节最严重的学科之一。
大多数信息安全(网安)毕业的学生,要想从事安全相关的工作,只能通过自学,而大部分该专业学生的出路,一般就是升学、公考和从事开发工作。
那些信息安全领域大佬,很多都是半路出家从事信息安全工作的。
<hr/>至于人工智能……怎么说呢……
普本的资源有限,不太建议选择人工智能方向。如果有兴趣,可以自己利用业余时间学习和研究,想要深入研究下去,建议到更高层次的学校(读研读博)。
普通本科另一个劣势是,接触不到太前沿的东西,即便接触到了,也不一定有能力/条件/时间去搞。本科生搞人工智能的这个定位很尴尬,应用度太高太前沿的专业,就业和升学都比较麻烦。慎重选择。
(不过也有例外,如果学校肯投入资源,然后老师牛逼,那可以考虑入坑)
<hr/>既然推荐软件开发这个方向,那么就粗略讲一下关于软件开发的学习和进阶思路。
1.基础
计算机专业特别重视基础,何为基础?
编程语言、数据结构、算法以及软工相关课程。
要想从事开发工作,最起码要掌握C、C++、Java,有条件再掌握一下Python,其他语言根据需要选择学习。
语言掌握不在多,而在精,精通一到两门编程语言即可。
2.项目经验
提高软件开发能力最有效的方式就是做项目,通过项目开发中的问题,增加经验,提高编程能力和项目宏观把控的能力。Github上有非常多的项目,可以fork研究一下。
也可以选择一个自己感兴趣的领域或主题入手,比如微信小程序开发、游戏开发、Android程序开发,用兴趣驱动学习,完成一个实实在在的项目。
3.进阶提高
现阶段的软件开发,借助AI大语言模型(如ChatGPT)可以带来非常明显的效率提升。越来越多的程序员开始借助AI大模型提高开发效率。
那么究竟如何应用大语言模型辅助开发呢,举个例子:
借助大模型辅助(使用某个方法/框架/工具)实现某个功能:
比如,我想让AI大语言模型帮我写一个使用Ajax进行前后端交互的代码。
我把这个问题提交给大语言模型,它很快就能为我提供一个准确有效的解题思路。
下面就看看大模型具体是怎么回答的:
代码正确,注释详细,一目了然,可以像拼乐高积木一样,将模块化的代码直接置入项目代码中,再根据需求增删改。
借助大模型开发比传统方式开发高效地多。
AI大语言模型使得开发变得简单,它会尽可能地将你所需的准确检索出来,然后打包给你,省时省力。
想学习AI大语言模型辅助开发的同学,可以了解一下知乎知学堂联合AGI课堂推出的【程序员的AI大模型进阶之旅】免费课程。深入了解AI前沿技能知识,掌握程序开发的新技术。
戳↑卡片加微信,可以领(bai)取(piao)免费的学习资料。
4.大厂实习经历
从事开发工作,最有效的途径还是去大厂实习,一来是可以接触到最新的开发技术,二来是积累人脉多认识几个行业内的人多条路。
除非特别优秀,否则大厂实习到留用比较困难,。不过,拿到大厂的实习经历去其他互联网企业应聘,也是有优势和竞争力的。 |