软件工程专业,大学怎么规划?
下面几点是你以后要做的,现在不一定马上能做到,是提前跟你说,让你准备。
1、保成绩。你要保证你的主课,大课不能挂科,尤其是专业课程,再进一步,任何一门课都不能挂科。这点很重要,应届毕业生面试时总要拿成绩出来,一个大学课程都学不好的人怎能让别人相信你的能力?你说我在校成绩不好但能力很强说出来谁信?竞争激烈,面试者众,不一定给你机会解释就会把你直接淘汰。在2人实力相当时,你觉得企业会要成绩好的还是成绩差的?要从未挂科的,还是要挂了很多科的?所以一定要先保证功课过关,而且成绩还要达到学士学位毕业的标准。
2、编程思维。一般来说,在大学之前学编程的人很少,你很有可能还没有编程思维,那么未来就要重点培养编程思维,有了这种思维模式,写程序才容易。
什么是编程思维?举个例子,给你5个数字,让你从大到小排,你肯定会说这太容易了(是啊,如果这也不容易的话我真怀疑你是怎么上的大学了)。
但是,怎么写程序让电脑来实现排序呢?如果给你6个数字呢?如果要从小到大排序呢?听说过冒泡排序法吗?这是最简单最经典的算法。
如果要1累加到100,程序你怎么写呢?如果你写1+2+3+4。。。说明你还没编程思维。
等你能够根据别人的要求转换成程序语言并实现,就说明你有了编程思维。
大学一般都有学C语言的,这可要认真学,在学C语言时要培养自己的编程思维,没有编程思维,后面的什么语言什么数据库你将会比较难懂。
3、定方向。了解当前行业动态总是必要的,行业分为哪些细分领域?每个领域都有什么职业可以选择?可能你现在还没办法马上确定你的方向,但每个领域需要什么技术?哪些是基本的,哪些是高级的?当前什么技术热门?哪种职业比较抢手?是不是要做到心中有数?
如果你觉得游戏开发不错,这年头手游流行,也应该不错的。确定后,你看看做桌面游戏,手机游戏需要什么开发语言,是否需要数据库等等,需要什么网络知识,4G协议?5G协议?不懂就赶紧找资料学了
比如你觉得图像设计有意思,你就看看招聘上做图像设计需要什么软件,PS?,还需要别的什么不?不懂就赶紧学了
4、定技术。等将来确定你要去哪个领域发展了,那是不是该领域所有技术都要学呢?也不是,精通一两门语言或技术比你每个都会一点好的多,这个不难理解。另外,学热门的最新的,当今技术发展很快,淘汰的也快,我在学校里学的是PowerBuilder出来就过时了,毕业后改学Delphi,但10多年后Delphi也凉凉了,被C++,Java,Python取代,但在当时连Java都还没出,谁会预判到Web应用盛行?谁会预判到出Java?我们很难预判若干年后会出什么新技术,所以只能学习当前的新技术、热门技术。就拿ERP、HIS来说,以前桌面应用流行时,PB,Delphi,VS这些就很热门,但Web应用盛行后,C++,Java就出现并流行,原有的旧语言就慢慢退到一边了。至于N年后会出什么新语言谁也说不准,你也不用猜,要学的自然就是Java这类热门语言和技术了。
5、选课程。这个就比较好理解了。确定你要进入哪个领域,确定你要学什么技术后,接下来就是看哪些技术是学校就能学的,选课时就要有目的的选,哪些是学校里学不了的,课余时间是不是就知道要学什么了吗?
这里多说一句关于课程的问题,有同学说,我们学的课程五花八门什么都有,但都是浅尝辄止,学完感觉跟没学一样,学校是不是骗人的?你问问自己,你进大学后擅长哪方面,喜欢哪方面,将来愿意往哪方面发展,你自己可能都不清楚,那学校就更不清楚了,是不是?那怎么办?学校就开设各种课程,网络的,理论研究的,开发的,多媒体的。。。。。让大家都学一下帮你了解自己,帮你指明方向,你觉得哪方向有兴趣的,想在哪方面发展的,将来你自己就往哪方面重点发展。有些同学学了一学期就转专业了,是不是?自己上了课程发现选错专业了,学校是不是帮你指明了方向?学校的目的是不是达到了?
举个不太恰当的例子,你看过饭店的菜单吧,是不是五花八门什么都有,学生就像顾客,学校就像饭店,进来的顾客口味各不相同,总不能让顾客都只吃一道菜吧?所以菜色越多,顾客的选择性越大,越容易找到顾客喜欢吃的菜。
6、写作品。这是重点。写作品的另一个意思是问你有没有开发经验。面试时你说我会C++,Java,Python,会各种数据库,面试官一般会问你,写过什么作品没有?没写过作品人家怎么相信你是不是真的会开发呢,是吧?所以,会一种语言与会用语言开发是两码事。有些同学说,很多招聘都要求有工作经验,但我一应届生刚出炉哪来的开发经验?拼不过社会上的人啊。没错,社会上的往届生都是有工作经验的,但在校生就没经验吗?不是的,没有经验就创造经验嘛。
那么问题来了,关于大学期间怎么才有项目经验呢?这里告诉你们些窍门
1、学校有很多社团,社团需要管理,会员要管理,财务要管理,活动要管理,内部事务要管理,那么你就可以做会员管理,财务管理,活动项目管理,社团内部管理等等,这些都是项目题材,而且相对社会上的系统要简单的多。
2、参与校内的项目,有些老师会接校外的项目来做,如果适合你就可以报名参加,学习老师是如何进行项目管理的,自己作为项目成员如果参与,功能如何开发等等一系列问题,这么好的机会可千万不要错过。要知道,参与一个项目胜过你读10本书,而且你的毕业设计也可能同时完成了,一举两得。
3、参与校内系统的开发、维护。这个就比较高级了,学校通常都有自己的网站,有时要改版,服务器要维护,微信公众号之类的经常要发布消息,如果你能参与进来获得的经验值将会非常高,但对你的要求会很高,一般很难进去,因为你等级太低学校不放心,所以你要多做项目多出作品技术过硬才有机会。我有同学就参与了学校网站的开发建设,让我很是羡慕,这经验值不是一般的高,如果写入学校的评语里,那面试时说出来太能涨分了。
大学期间老师接了校外的一个项目,我跟着老师一起做,负责部分功能的开发,这样我项目经验有了,毕业设计也有了,到了答辩时那实在太轻松了,因为所有老师都知道我参与过这项目,真实性不用说,能力已经摆在那里了,你问什么问题我都很有信心,因为这就是我做的我肯定懂啊,还有点收入(700元,别笑),所以校内一样可以有项目经验的。
你在学语言学技术时,不能单纯的学,而是要应用,能写出一些作品来说明你已经会开发了,写出作品才有经验。一个从来没炒过菜的厨子是合格的厨子吗?企业招你来工作,是要完成开发任务的,如果你只会Java,但从来没写过作品,说的过去吗?企业愿意招你吗?如果你把在校期间做的项目拿出来,甚至是像我这样卖到校外有收入的项目,说明你能力已经得到校外企业的认可,这时企业肯定对你刮目相看的,接下来就是你挑企业,而不是企业挑你的问题了。
7、查资料。写第1个作品是比较困难的,从环境搭建,项目设计
,到开发,你会碰到大量的问题,但到了第2第3个再往后你就会越做越顺手,所谓高手就是这么来的。幸好当今互联网的知识容量大的可怕,大到你甚至不用买专业书,不管哪门技术在网上都有海量的资料,不怕你学不完,就怕你不想学。遇到不懂的就赶紧上网查。
8、准备工具。不少同学还在问要不要准备电脑,你说呢?计算机专业的连电脑都没有,怎么熟悉电脑?出了问题怎么诊断?会不会重装系统?怎么做编程和实验作业?怎么写论文。。。。所以在大学期间有台PC或笔记本是很必要的。
不知道我这么说同学们能明白没有,里面的重点已经加粗表示了,希望大家能重点理解。
如果没明白或不清楚,欢迎点赞并找我咨询,谢谢。
原创不易,收藏不忘点个赞,谢谢!