首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机专业有哪些发展方向?-软件篇(2)

计算机软件技术

书接上文。

随着计算机性能的提升,现在软件体积越来越大,一个 G 以上的软件司空见惯,甚至10个 G 以上的都很普遍,靠一个人的单打独斗很难完成这么大的工作量,在『软件工程』这门学问的推动下,软件开发人员采用了分工合作的方案共同完成软件的开发,其专业细分越来越强。从大的框架体系上来说,软件技术可分为设计与开发、测试、UI、产品经理、运维和安全等细分专业,下面对这些细分专业的工作逐一展开介绍。

一、设计与开发

设计与开发,就是传统意义上我们说的『程序员』,俗称『码农』,负责撰写代码的人员。设计与开发又可细分为架构师、web前端、web后端、算法工程师、数据库工程师、手机程序员等。

1.1 架构师。架构师的职责是开展软件的整体架构设计,站在顶层的角度,对软件的开发、未来发展方向等具有决定性影响力,例如软件采用什么体系结构、选择哪种技术方案、由哪些功能模块组成等等。一般来说,架构师都是由资深程序员或者业务骨干晋升得来的,在软件开发团队中处于领导性地位。

发展前景:架构师需要强悍的技术实力和深厚的技术积累,是精英程序员,因此月薪很高,好的架构师更是天价。以笔者所在的地处西北的西安为例,架构师月薪在3万以上。

1.2 web前端。 我们用浏览器打开一个网站,例如www.qq.com,会呈现出一个界面显示出网站的所有内容,这个网站界面,就是 web 前端工程师写出来的,主要是用于人机交互。Web前端开发技术包括三个要素:HTML、CSS和JavaScript,这些都是计算机语言,学习起来并不难。web 前端入门容易后面进一步提升比较难,需要有美工、工业设计等等学科的支撑。

发展前景:很好,当前及未来相当长一段时间内,对 web 前端的需求很大。当前起薪在1万元左右。

1.3 web 后端。web后端工程师主要实现业务逻辑, 提供接口给前端使用,或者说是给前端提供数据。例如,网站页面,肯定属于动态的,要实时更新的,不能说让前端工程师写死,那整个网站永远都没有变化的话,用户怎么能忍呢。所以这就需要后端工程师,也就是服务端工程师做数据处理并把数据提供给前端用于显示出来。前端与后端,类似于计算机显示器和计算机主机的关系,计算机真正的运算是在主机(后端)当中进行的,运算完毕后,把数据输出到显示器(前端)显示出来。

发展前景:很好,而且随着技术能力提升,收入增长很快,普遍要比前端好。当前起薪在1.4万元左右。

1.4 算法工程师。算法工程师是完成特定问题求解的工程技术人员,例如深度学习算法、机器学习算法,数据挖掘技术,自然语言处理技术,分布式计算等等。举个例子,很多门禁采用指纹识别或者是面部识别技术,如何根据拍到的一张图片,让计算机『认识』出具体是哪个人,这就要涉及到面部识别算法,这个,就是算法工程师的职责。

发展前景:非常好,超出你的想象。选择人工智能算法工程师起薪已经到了50万年薪的级别,而且发展前景特别广阔。当然了,这个专业对数学、计算机等专业知识要求很高。

1.5 数据库工程师。几乎所有的软件都需要有数据库的支撑,完成结构化数据和非结构化数据的存储、访问和修改等操作,这都需要有数据库工程师的支撑。基本的数据库软件包括 MySQL、Oracle 等。『双十一』的时候,一大堆人同时在淘宝上买东西,我们有的时候就会发现网页很卡,或者抢购的时候网页卡住付不了款,就是因为同时在线的人太多,数据库并发能力有限,使得网页响应不了请求。解决这个问题,就是数据库工程师的职责所在。

发展前景:很好,而且随着技术能力提升,收入增长很快,当前起薪在1.6万元左右。

1.6 手机端程序员。主要是完成 Android 系统,和苹果 iOS 系统软件的设计开发。在手机几乎普及化的今天,手机软件开发成了当前的热门。Android 手机开发主要用 java 语言,iOS 系统软件开发主要用苹果自有的swift 语言。

发展前景:很好,而且随着技术能力提升,收入增长很快。当前起薪在1.2万元左右。

二、测试

软件写完后,总是会有很多漏洞或者 bug 存在,为了找出这些缺陷,需要软件测试人员采用各种方式对软件进行全方位测试,确保交出去的软件足够强壮,不会轻易遇到 bug 后崩溃导致计算机蓝屏。随着技术发展,现在软件公司主要采用一系列的自动化测试工具对软件缺陷进行测试。

发展前景:一般,在西安地区一般起薪是8000元左右。

三、UI

这个就是负责软件的界面美化,主要有美工完成,另外随着行业发展,也需要美工人员需要一定的计算机编程能力,设计好界面持续模板后,由前端工程师调用即可。这个工作,最适合学美术的人员来完成。

发展前景:很好,在西安地区起薪是8000~9000元。

四、产品经理

客户往往是不知道自己的需求的,例如一家餐厅要设计一套智能化管理软件,以提升管理效率。那么软件的主要任务是什么、都有哪些功能模块组成、软件界面是什么样子、软件如何迭代滚动优化,这些内容,往往甲方自己提不出来。这个时候产品经理的作用就发挥出来了,产品经理的主要职责,就是把用户的需求转化成程序员们能听懂的语言,并讲给他们听。行业知识是产品经理最重要的能力,产品经理可以不会编程,但一定要能懂行业,或者是拥有能快速了解行业的能力,例如地产、金融、财会、餐饮、制造业等等行业,产品经理要能够快速了解行业并提出基本的解决方案。

发展前景:和架构师差不多,在软件行业里拿头筹。例如微信的张小龙,就是个产品经理。

五、运维

运行维护的检查。一个大的公司网站或者软件系统建立并运行起来后,有可能会遇到很多故障或者 bug,就需要由运维人员完成日常的运行维护工作,公司越大,运维工程师就越重要。例如银行、电信部门等,这些大的软件系统绝对不能故障停机,一旦停机,所有人的电话就打不出去,银行取不出钱,转账等交易也会停止,就有可能导致不可弥补的损失。按照咱们的日常经验,我们很少或者说几乎没有遇到过电信部门服务器死机的情况吧,这背后就是运维人员的功劳(当然设计与开发人员也很厉害,写的软件很强壮,几乎没有 bug)

六、网络安全

在信息化时代,最重要的就是个人信息安全。网络安全工程师就是负责完成网络的漏洞发现、修补、病毒木马查杀等工作,确保安全无虞。有盾就有矛,和网络安全工程师做对手的,就是黑客,主要做信息窃取、篡改、劫持等事情,黑客又有白帽子和黑帽子之分。

发展前景:对技术要求很高,而且学无止境。当然了,收入非常丰厚。这个行业经常游走在法律的边缘,据我对行业的了解,好的黑客/网络安全工程师,年薪百万是起步。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180501G1DR0Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券