从事IT行业就都是编写代码的程序员吗?其实不是这样的。IT行业有很多职位可以选择,包括但不限于研发、测试、运维、产品经理、设计、算法、DBA……平时所说的程序员基本上都是指的研发岗位,这个岗位对技术的要求也是最高,而且加入同样毕业找工作实力相差不大的情况下研发的工资往往是最高的。不过,这些不同的岗位内部又有很多区分,下面我会挑一些介绍每个岗位的工作内容和内部一些基本的划分。
研发岗的工作说白了就是写负责编写调试代码的,天天熬夜写代码指的就是这些人。这个岗位大体可以分为前端开发和后端开发,当然也有全栈(fullstack)开发、运维开发、Devops…
一个产品一般来说是分为前端部分和后端两部分,比如一个网页,前端部分就是和用户交互的部分,后端则是整个网页的后台逻辑和数据的组织方式,后端往往更加体现业务逻辑。(有些公司的一些项目往往把前端做的富丽堂皇后端却烂的一匹,这样比较容易骗到投资人的钱)
前端开发:前端开发又可以分好多种类,比如按照产品类型分可以分为web前端开发、app前端开发、桌面端前端开发;按照技术的不同又可以分为React开发,Vue开发……
后端开发:后端按照语言可以分为java开发、c++开发、python开发、node.js开发、Go开发……每种开发类型要求的开发语言不相同,一般做后端开发最好了解至少两门语言会比较好。其中国内大部分大公司用java的比较多,但Python和Go在最近几年开始流行起来。论述各个语言的差异不是本篇讨论的范围。当然,后端开发也可以分为ios开发,安卓开发等。
需要一提的是,有些人认为开发测试运维在IT行业三足鼎立,这是最主要的三个职业了。三个职业又相互交叉,形成了包括测试开发、运维开发、运维测试、全栈开发等不同的岗位,每个岗位要求的技能树不相同。但是,随着技术的发展和公司业务的需要,对IT从业人员的技能要求也越来越多,fb甚至要求全部开发都是全栈开发。只能说程序员还是学无止境的。
产品经理、算法、实施……严格来说已经和IT相隔比较远,但也是计算机从业人员可以去做的工作,这里简单介绍以下:
算法:算法工程师,对这个职业我了解不多,但是对学历的要求比较高,很多公司都是要求博士学位去设计改进一些人工智能算法之类的,比如计算机图像识别,产品推荐算法啥的,工资很高。
实施:实施这个行业,我认识一些学编程学不进的一些同学去做这个职业,说白了就是产品售后,进公司以后教给你一些基本的软件使用方法和一些安装方法,技术要求很低很低。
DBA:DBA这个主要是管理数据库,对数据库原理和一些数据库软件比如Oracle,Mysql,Sqlserver要求比较多,基本不需要变成知识,不过了解一门比如python的脚本语言会比较好。
2.对前后端开发人员所需要的技术栈有个大概的认识
首先,明确你的方向,你是想做一个后端开发还是前端开发or全栈开发。我现在分别介绍以下从事这几种开发作为一个小白所需的技术栈和学习路线。
首先介绍作为一个研发人员都建议掌握的一些基本内容
web前端开发
从事前端开发需要了解的技术如下:
后端开发
从事后端开发所需要的技术如下:
3.我是一个小白,我该怎么从完全不会到找到一份开发的工作呢?
我想,很多想入门这个行业的新人都面临一个这样的问题,甚至是一些本科院校的专业学生,毕竟学校教的东西和工作的内容是不一样的。下面我就分别从非本专业学生和本专业学生两个角度来介绍一下入门的步骤:
我不是该专业:
当完成了以上学习后,对于找到一份实习工作不是什么问题,当然,这些也只能算是一些简单的花拳绣腿罢了,如果想让面试官对你的技术和能力信服口服,尝试由一个点引出一个面,向周围更深的内容学习:
技术的掌握往往是多多益善,只要你掌握的越多,就越能让面试官对你的技能有所肯定
我是本专业学生
如果你是计算机专业的学生,而且你发现在学校老师教的都是纯理论的东西,如果你还对这个行业不太了解,那么请认真看我想要说的话: