欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-24 10:13:52
互联网行业的岗位纷繁复杂,种类繁多,除了每个公司必备的技术,产品,运营,销售,hr,客服等等,结合公司的具体业务,主营方向,都会影响到公司的岗位设置。而程序员则是互联网企业中最重要的岗位,但是干编程的...

互联网行业的岗位纷繁复杂,种类繁多,除了每个公司必备的技术,产品,运营,销售,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做的事情差不多,其实游戏测试也可以包含在其中。软件测试一般就是让测试同学写一些代码去测试开发同学的代码,保证开发同学代码的正确性,并且要保证整个系统的综合测试也是正确无误的。

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