解答了一位信息与计算科学的大三同学的问题(见“信息与计算科学大三学生,加强算法还是做点项目?”),回味中感觉这里有一个很关键的问题:目标与学习路线。IT产业中,科学型人才和工程型人才起着同样重要的作用,在学习安排时,这完全需要成为考虑问题的一个维度。围绕当前的市场和就业岗位规划自己并不很靠谱,还是应该自己第一,岗位第二的。
下面是我给他补充的观点,供感兴趣这个话题的读者参考。
仔细想你提出的问题,实在是一个好问题,这也造成了给你确定的建议的难度。我们常说大学中有理工科,其实再分是理科和工程,信息与计算科学是理科,发理学学士学位,软件工程、网络工程等是工科,发工学学士学位,而计算机科学与技术可以发理学,也可以发工学学士学位。所以,就信息与计算科学的培养目标看,应该是要重“科学”部分的。
按着这种思路,信科的学生要树立在算法上优势。现在国家大力提倡应用型人才培养,按“科学”型发展可以去从事“科学研究”,而将已有的“科学”中的成果在工程中应用出来,也是很重要的事,也是一种可行的选择。要做到这一点,需要在大学中将位置定好,并安排出适合的学习路线。建议可以再次找来(上网搜最方便)这个专业的培养目标作为参考。
如果按这一目标学习,算法是需要深入钻研的,并且算法应该要超越一般性的算法,目前各种智能算法、密码学、网络科学中涉及的算法,就我的视野,感觉是热点领域,应该关注。
矛盾之处就在于你的大学中,能安静地学习的时间不到一年了(数学学得不错其实我觉得是你糊涂两年多之余最大的资本),如果在以前积累不深,将有“高不成”的感觉。从就业岗位的角度,岗位远没有从事实际开发的工程型的适合岗位多(物以稀为贵,“科学型"岗位不多,这方面符合要求的人更少)。如果从大学毕业找个工作的角度,走工程型更稳妥,只要行业景气,学得再差有地方要,而在科学型上有自己的一套,可能会在一时不畅,但其工作前景和持续期更应该看好。目前大公司招人要计算机科学与技术专业的研究生,相比本科毕业生,其主要优势在算法能力。这也不是说绝对不招本科生,只要学好了,不愁出路。
”科学“好,还是”工程“好,没有标准答案,要从是否更适合个人特点和兴趣的角度看。优秀的IT工程师也并不是好得的,就业率、岗位多少之类的问题对大众有用。”科学型“IT人才和”工程型“IT人才成长的路线不同,从事的工作重点不同,彼此之间也有交叉,在整个职业生涯中,也可能会发生改变,但在大学中,尽早定位,并安排出有效的学习是一件很重要的事。