一、 前言
2017年曾经写过一篇关于学什么编程方向的文章,当时反响很大,有不少在校的社团组织私下授权转载我的文章。现在的大学,两极分化极其严重,优秀的同学毕业找工作顺风顺水,平庸甚至较差的同学,找工作意味着即将面临失业的风险。
社会上普遍存在着这样一种观念,学计算机的的毕业了不愁找工作,薪水也不低。的确,在互联网迅速发展的年代,计算机相关专业的就业率相对较高。
然而,高薪的却不只是IT这个行业,认识的很多IT业内人士都有这样的误区,觉得除了IT,其他行业打工都赚的不多。这也恰恰是IT从业者的一个严重误区,实际上,IT人员的交际圈非常窄,几乎天天都是和计算机打交道,很多人不关注外面的世界。其实,除了IT,很多行业,比如教育,金融等,完全不输于IT。
因此,计算机相关专业的学生应该提前规划自己的职业生涯。专业没有再次选择的机会,但是职业还是可以根据自己的喜好,选择适合自己的职业路线。
二、 学什么?
计算机专业的学生在大二开始陆续学习专业课,这个阶段除了学校的必修的专业课,我们就可以适当开始针对性学习自己感兴趣的课程了。
1、研发方向
如果未来想从事研发方向,可选的余地比较大。从大的方向分为移动端、服务器后台、web、嵌入式、客户端、算法等。
1)移动端开发
移动端开发目前没有过去几年热了,主要是android、iOS、小程序、公众号。
android从2008年到现在,已经有十年的时间了。由于生态开放的特点,不同的厂商定制了不同的系统,所以开发过程中除了实现需求之外,还要考虑不同机型的适配。android开发目前也有两种语言,Java和Kotlin。
iOS和android恰恰相反,系统是封闭的。但是随着苹果机型的不断升级换代,适配工作相比以前也有了一定的工作量。iOS开发语言包括swift和objective-c。
微信小程序和公众号是腾讯基于微信推出的应用。随着社交的深入人心,这两年也比较火。采用的开发语言主要还是html、css、JavaScript的变体,腾讯做了二次封装。
2)web开发
这里的web开发包括传统的pc端BS结构的开发,以及移动端的web开发,比如移动网站,移动端混合开发等。开发语言主要还是html、css、JavaScript。
3)服务器后台开发
服务器后台开发是支撑上述的移动端开发和web开发。移动端开发和web开发从某种分类上讲属于前端开发,访问的数据都是来源于后端。服务器后台开发涉及数据库、接口等。开发语言包括Java,PHP,Node.js,python,C++、C#、C、Go、Ruby等。
4)嵌入式开发
嵌入式开发典型的应用场景比如可穿戴设备,银行的 ATM取款机,以及我们使用的各种上网设备等。嵌入式开发也包括应用、驱动、底层开发等。开发语言包括C++、C、java等。
5)客户端开发
这里说的客户端开发指的pc端的CS结构的开发,最早的比如MFC,之后的QT等等。使用的开发语言包括C++、C#、C等。
6)算法
算法指的是服务于其他应用的底层处理。比如我们使用的手机,如果部署基站能让信号最优,或者像我们使用的打车软件,如果规划路线能让乘客付费最少等等。算法的目的是优化程序,不局限于以上的五大分类,每种编程语言都有自己的算法。
当然,实际应用中还有其他的分类,也可能各自有交叉,大家对号入座。
2、测试
测试的目的是为了减少bug,提高系统运行的稳定性、安全性等。所以,测试和开发是不能分开的。测试也分两类,一类是开发性测试,有时需要编写代码,比如自动化脚本等;另一类是业务类测试,重点是测试系统的运行是否符合预期,软件的操作是否流畅,体验性好坏等测试。
如果你是计算机专业相关的学生,但是对编程有没多大兴趣,不妨可以尝试培养测试的能力。
3、运营
运营在互联网领域强调的多,经典的四大运营职能划分包括内容运营、用户运营、活动运营和产品运营。
典型的应用场景比如先前很火的拼多多,我们在各种平台上都能看到它的身影,一方面是拉新客户,另一方面是宣传,这些都是运营需要考虑的。
如果你是计算机专业相关的学生,对编程无感,也不想搞测试,但是对市场、销售有兴趣,不妨可以考虑这样的职业发展路线。
三、 怎么学?
1、报班不一定可取
很多学生在大学期间不好好学习,指望着报班快速培养,这样的思想是不对的。当然不是完全否定市面上的各种培训机构,这里说的重点是你必须有一定的基础,起码对计算机有个初步了解,然后再想办法提升自己,否则即便是培训完出来找工作也只是懂得皮毛,只能是复制粘贴的重复劳动。
2、实践是王道
计算机领域,懂得理论和实际应用是完全不同的两个概念,一定要多动手,在实践的过程中总结经验。
比如,刚开始我们可以去看看一些基础教程,学习基本的语法或者方法论;然后,尝试着做一些小的demo,讲所学的知识点应用进来,逐步去优化、扩展现有的功能。久而久之,头脑中就会有做产品的流程,也会从多个角度优化算法解决问题。
3、抬头看路,广涉猎
IT可以说是更新迭代最快的行业,每年都有新的技术诞生。据我最近几年的观察,几乎每一年行业内都会出现一种宣称颠覆的技术产生,比如VR、AR,人工智能,区块链技术等。
所以一定要抬头看路,调整自己的路线,在精一门的同时,主动尝试了解其他的技术,多条腿走路。当然,也不是跟风学习,区块链、人工智能等这类技术,对个人门槛还是高了,没有可以自由发挥应用的平台。要根据自身的特点,不要盲目跟随某种技术,互联网行业的泡沫很大,脚踏实地,一步步走好。
四、 总结
大学是塑造个人职业素养的第一站,交一好友,得一良师,养成一种良好的学习习惯,未来你一定会感恩现在的你。