实战干货:选择编程方向,必须知道的事

实战干货:选择编程开发方向,必须知道的事

大家好,我是潭子;如果你是一名初学者,对编程非常感兴趣,想成为一名合格的程序员,那么这篇文章就是为你写的。

潭子根据多年的编程经验,并结合当前的互联网行业的发展前景,给大家分析一下编程开发的几个大方向。


1 服务器后台开发


现在做服务器后台开发的编程语言,常用的就是Java、PHP、C++等; 入门比较难,但是后期发展潜力大;不论是APP,还是网页,智能硬件等都需要后台提供服务的,我个人还是比较看好这块开发的。



2   APP移动开发

APP移动开发包含:ios开发、Android开发等;ios的开发语言是OC(object-c)和swift;Android的开发语言是Java;对于移动端开发,首先得去掌握去基本的开发语言,再去学习不同平台的系统API和框架,就可以去开发了。

随着移动互联网的浪潮,APP像雨后春笋般涌现出来,各大互联网公司,出高薪去挖人,因此做ios、Android开发人员的薪资待遇就水涨船高.....

但是随着培训机构APP移动开发人才输出,企业的人才缺口也越来越小;加上2016年,资本寒冬,很多创业型公司也死亡了,所以APP移动开发人员的工资待遇慢慢的也回归到市场理性状态(很多学习APP移动开发的朋友,得理性对待)。



3   智能硬件


智能硬件已经从可穿戴设备延伸到智能电视、智能家居、智能汽车、医疗健康、智能玩具、机器人等领域。比较典型的智能硬件包括Google Glass、三星Gear、FitBit、麦开水杯、咕咚手环、Tesla、乐视电视等。

做智能硬件开发,需要学习嵌入式和单片机,不仅要会写代码,还要了解硬件,所以入门门槛比较高,知识也比较庞杂,学习时间长;若想去学习的话,建议有一定软件或者硬件基础的。



4 . 游戏开发

游戏开发,一般有端游(如魔兽世界)、页游(如传奇)和手游(如阴阳师、皇室战争等);端游和页游,这里就不做过多探讨(主要潭子也没有开发过几款,哈哈);我就聊聊比较热门的手游吧。

手游主要是用Cocos2d-x游戏引擎开发的,一个基于C++的游戏引擎;所以该引擎就得有C++基础哦(不过现在也有基于JS 和 lua版本的啦)。

游戏一直是人们长久廉价的娱乐方式,可能有很多人会问为什么是廉价呢?你想想看,很多游戏可以不用花费一分钱,可以玩很久;随便买个玩具还有几十块钱呢,所以我还是比较欣赏有付费意识游戏玩家(哈哈,主要2016年,潭子和朋友一起创办了一家手游公司,虽然现在失败了…)......总的来说,手游开发前景还是不错的!!!



5     VR/AR开发


潭子先来普及一下什么是VR和AR吧,当然还有MR(这里就不做过多解释啦)。

虚拟现实(Virtual Reality,简称VR,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。

增强现实(Augmented Reality,简称AR),也被称之为混合现实。它通过电脑技术,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。

那VR和AR的区别呢?

简单来说,虚拟现实(VR),看到的场景和人物全是假的,是把你的意识代入一个虚拟的世界。

增强现实(AR),看到的场景和人物一部分是真一部分是假,是把虚拟的信息带入到现实世界中。

建议用国内的easyAR,然后掌握相应的unity3D 技术,C#建议学下,基本就可以开发了了。而VR开发,主要的3D软件框架还是U3D和Unreal,对应的编程语言是C#和C++。

现在VR/AR开发,是比较新的领域;发展前景还得依赖硬件等其他发展因素,所以个人觉得目前去学这方面开发,风险还是有点大!



6  web开发


也就是做网站;一般分前端和后台(Java和PHP等),前端主要负责网页的设计,需要学习HTML、CSS、JavaScript等。而最近的微信小程序也挺火的,很多人都认为这是下一个风口;很多做web开发的朋友,都按耐不住心中的激动,去做微信小程序开发啦!



7  算法、底层开发

对于从这两个技术方向开发的人员要求,还是蛮高的,当然待遇也是蛮高的;算法对数学等思维要求比较高,我之前有个同事是从事语音识别算法研究的,数学系的硕士,编程能力也不错;而对于底层开发,一般指的是框架甚至操作系统开发,要求就更高了.....



8  测试(QA)

QA(Quality Assurance,译为“品质保证”),一般分黑盒测试和白盒测试。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求;白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

QA测试人员就是为程序员把关的,不但要能看懂代码(大概理解什么意思),还要掌握一定的测试技巧,更重要的是心思缜密,有耐心有毅力;若产品的bug过多,有权驳回程序员的产品,这时就会影响程序员的绩效;所以公司的测试和开发通常都有小矛盾的;不过很多公司的测试人员是妹子,也会促成一对欢喜冤家的。bug的程序猿,通常勾搭测试妹子的机会多些,脱单的机会大些,哈哈。。。



 小结


总的来说,IT编程行业在市场上,待遇还是比较高的;但是每个行业都有自己的特殊性,互联网变化很快,企业为了跟上市场发展,技术开发开发的朋友,还是比较辛苦的............


推荐阅读更多精彩内容