当前位置:首页 > 经验

学程序员需要的基础 编程员主要做些什么

互联网行业的岗位纷繁复杂,种类繁多,除了每个公司必备的技术,产品,运营,销售,HR,客服等等,结合公司的具体业务,主营方向,都会影响到公司的岗位设置。而程序员则是互联网企业中最重要的岗位,但是干编程的方向那么多,到底哪个才是对的?真的很让人头大!

程序员的岗位方向和所需技能都有哪些?

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,现在过30岁的已经慢慢多起来了,也不见得混得不好。

JAVA、C、JS、C++、Python……10多种热门的开发语言,哪一种最有发展潜力呢?其实开发语言只不过是一个工具,”与其分散进攻,不如全力一击”,无论是哪一种开发语言,只要您全力地去学习,到有了一定的熟悉程度的时候,要学习另一种的语言也是轻而易举的事情。

给大家介绍一下程序员的各种岗位以及所需的不同技能,方便大家更明确清晰地规划职业发展。

1. 前端开发

目前前端开发岗位需要掌握的技术越来越多,只会jquery和ajax的Java工程师逐渐失去了对前端的掌控能力,越来越多专业使用js语言的前端工程师出现了,并且随着h5和nodejs的出现,前端乃至全栈工程师变得越来越常见,前端技术发展之迅速,使得前端工程师需要不断跟上技术的脚步。

岗位要求:熟悉html,JavaScript和css5,以及angular,vue和react等框架中的一种,还要掌握浏览器内核知识,以及HTTP协议有关的一切知识,另外越来越多公司要求前端工程师懂一些后端,如果你是nodejs方向的全栈那就…优先考虑!

2. 软件开发或后台开发

后台开发也可以理解为是软件研发岗位,一直都是企业最需要的岗位,由于现在企业里的岗位越来越细分,后台开发可以理解为是应用开发,不会接触到太多底层技术的岗位,其中以Java为主,c++为辅。

岗位要求:熟悉后台语言,计算机基础,算法,数据库,分布式技术,反正就是后端技术懂得越深越好,越多越好,基本上大厂的研发主要还是喜欢招收硕士,以及优秀的本科生。

3. 移动端开发

移动开发火了这么久,比拼流量的时代不再,人口红利不复当年,移动端应用也日渐成熟,爆款的app也渐渐变少,于是移动端开发的热度也骤减,取而代之的是人工智能。

曾经入局移动端开发的人们,有实力的逐渐成为了手机系统的内核开发人员,做更加专业的定制化开发,而其他人有的投入了H5的怀抱,或者另求出路。

岗位要求:岗位要求不算高,ios开发要会C或object c以及swift,Android开发要会Java和Android。然后就是熟悉IDE的使用,了解操作系统内核等等。

4. 游戏开发

游戏开发可以说是集众多技术于一身,特别是在图形学技术方面,要求比其他大部分产品都高。除了写写游戏逻辑和网络游戏的通信,越来越多的工程师开始投入到游戏AI和游戏引擎,图形引擎的研发当中。

岗位要求:大部分PC游戏都要求对C++特别熟悉,因为大部分端游都是基于C++开发,毕竟windows。并且由于手游时代来临,越来越多使用Java,Python等语言的公司出现,当然,也可以使用基于unity的开发方式,搭配C#和lua等语言开发。腾讯网易级别的公司需要你了解图形学,以及脚本语言。同时,越来越多公司要求同学了解分布式,Linux操作系统等方面的知识。

5. 云计算和基础架构方向

基础架构方向还可以再分为存储方向,网络方向,甚至还可以细分为CDN方向,SDN方向等等,总之,做底层技术研究的公司比较少,除非公司体量比较大,或者是做云计算的公司,所以这些岗位的需求量也比较少,未来基础架构趋于稳定,这个方向需要的人力也会越来越少。

即使如此,还是有很多当年进入云计算行业的从业者,现在在阿里云,华为云,腾讯云等企业做的风生水起,这些平台也就是云计算产业金字塔顶端的那些玩家。

岗位要求:熟悉底层技术,对网络,存储,或者某一方向有深入研究,对操作系统非常熟悉,特别是Linux内核有研究,同时对虚拟化,容器技术,以及OpenStack架构了解,对kubenetes熟悉。现在也逐渐出现了做gpu虚拟化的公司,为了跟上AI时代的脚步,云计算行业还是有很多工作要做。

云计算和基础架构方向其实可以当成同一个方向,因为做基础架构的基本就是在做云平台,在管理公司的机器资源,和云计算密不可分。

6. 大数据

大数据一般服务于内部,所以技术栈自成一派,同时大数据平台也开始火热,基于大数据的广告投放,精准销售,用户画像和个性化推送等应用现在也已经非常成熟。

大数据依然火热,在AI时代来临后,大数据产业也会和AI结合得更紧密,做大数据方向的人也会逐渐向AI靠拢。

岗位要求:Hadoop技术栈,一门后端语言或脚本语言,具体要求依据公司而定。熟悉sql语句,熟悉Hadoop组件在Linux环境下的运维操作,还要懂得shell脚本,以及数据分析的技能。

现在越来越多的岗位还需要熟练使用flink,spark和storm等等工具,需要有很强的实战能力。

7. 算法和AI

算法和AI无疑是今年最火热的方向,因为AI和算法岗位往往能给出超过研发岗位一大截的薪资待遇。

近几年越来越多的AI科技公司进入人们的视野,商汤,Face++,优图等等独角兽和新晋公司不断地进行融资和业务扩展,让人们感觉AI落地离现实越来越近了。

同时这些公司也不惜重金招聘优秀人才,特别是一些重点院校的博士硕士更成为这些公司的首选目标。

岗位要求:非常高,首先要求学历和院校,其次要求在算法和AI方向有所研究和建树,对于竞赛,论文非常看重。大公司的AI岗位往往最后竞争的人都是985或者海外院校的硕博。

算法方向其实也可以继续细分,比如NLP自然语言处理方向,CV计算机视觉方向,以及机器学习方向等等。

算法岗位可以说是高学历研究型人才的最佳选择。

8. 硬件方向,嵌入式方向、安全方向,无人车方向

近几年自研芯片比较热,并且GPU技术应用火爆,做这个方向的同学大有用武之地。

嵌入式的话,主要还是像无人车这样方向的部门会有比较好的前景,当然,还有AI智能设备,比如近年来兴起的智能家居,以及无人机方向等等。

安全方向做的人很少,虽然很酷,但是行业中发展的好的安全公司都不怎么赚钱,360是少数能叫出名字的安全公司了,所以这个方向其实也非常冷门。

岗位要求:硬件和嵌入式方向必然对硬件,电路,信号系统等知识有所要求,另外一般使用c语言。安全方向则需要对加密算法,攻防实战,以及网络安全基础等比较在行。

9. 运维开发

虚拟机和云计算出现之后,运维需要了解虚机原理,懂Linux内核,并且还要写shell自动化脚本进行运维操作。更夸张的是,现在的运维还要做开发,做devops自动化运维开发。打造自动化运维流水线体系。

岗位要求:懂Linux越多越好,最好懂内核,Linux命令随手来,要会shell脚本,最好会开发语言,同时要懂devops,以及云计算相关技术。

10. 软件测试和QA

软件测试和QA做的事情差不多,其实游戏测试也可以包含在其中。软件测试一般就是让测试同学写一些代码去测试开发同学的代码,保证开发同学代码的正确性,并且要保证整个系统的综合测试也是正确无误的。

岗位要求:软件测试要求比其他几种测试要高,包括写自动化脚本检测代码错误,要熟悉测试语言,以及基本测试流程,同时有时候要求测试同学自己开发测试工具,可能会有开发方向的要求,这种一般称为测试开发。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章