IT行业的公司组织架构和大多数公司一样,有管理、行政、运营、技术、市场、销售等许多岗位,今天我们主要讨论一下IT行业的技术岗位。就大方向而言,技术岗位有研发、数据库和测试三个方向;从一个网站的整体来看,则分为服务器端与浏览器/APP端,如图所示。
典型的互联网行业的技术组成图
很多新人在准备入行时,会有按照大公司的招聘职位描述确定学习目标的想法,事实上,这是一个误区。因为一般在大公司内部,按组干活的情况是常态,每个组负责整体项目中的一个或几个模块,再到个人专属负责更小的部分;并且,由于不同公司之间的业务与使用的技术栈不同,即使是相同的岗位对技术人员的具体技能要求也可能大相径庭。
所以说,除非是认准了某家公司的某个岗位非去不可,否则不建议对着职位描述上的技能去学习,很多行业老手也不一定能满足招聘页面上的所有技能需求。
接下来从三个大方向来说一下IT行业技术相关的职位有哪些。
一、对编程能力要求最高的研发类岗位
研发工程师主要负责公司产品的开发,对编程能力要求最高,如果确定要做研发岗,入行前最好明确将来是要向web前端、web后端还是全栈等方向发展,以便做好长久的职业规划。
我们以观看视频网站为例,来简单阐述一下客户是如何看到一个视频的:
客户通过浏览器/APP告诉你,他要看一个视频,你在收到客户的请求后,把视频从你的机器(服务器)中找到然后发给客户。整个流程完成后,也就是完成了一次互联网服务。
在上面的流程中,客户所能看到的——可以向你发起请求以及最终收到你发回给客户信息的界面,叫做“前端”。在前端领域,有两件事情要做:界面的设计与实现。设计界面的人,并不需要直接面对技术,而前端开发人员,则是需要用技术手段将界面设计实现。相对于前端,服务器部分我们习惯称其为”后端”。后端指:接受前端发来的请求、处理请求并把相关的内容发回。这就像是完成了一次对话。
1、前端工程师
前端领域有两类,一类基于浏览器,另一类基于移动端的APP。对于浏览器,前端开发人员掌握HTML、CSS、JS(在前后端分离的构架开始流行的今天,PHP已经不再是必须了)就足以应对前端工作;对于APP,前端开发人员则需要熟练掌握安卓与IOS的开发语言。
2、后端工程师
后端服务可以使用的语言有很多,如Java、Python、Go等,对于初学者,优先推荐学习Java。Java已经发展了多年,有许多现成的网站框架可以使用,相关技术足够成熟完备,学会Java之后,Python与Go这类新兴语言的学习就更加会得心应手,融会贯通。
数据库部分,目前主流的数据库所使用的语言叫SQL语言,所以志在后端的新手入行,Java+SQL的学习方案相对来说实用性更高一些。
后端工作,只会编程实现后端服务是不够的,还需要学会管理和维护后端,也就是说,至少要学会基本的Unix-like系统(主要是Linux)命令与脚本语言,如Bash。如果这些都掌握了,那么,恭喜你,你基本上可以成为一名合格的后端开发人员了。
当然,如果有更高的追求,可以考虑学习项目架构的相关技能,目前业内在这方面常用的是Docker。把以上技能运用熟练之后,便可以尝试挑战如产品经理、技术总监等更高的职位,成为管理或者技术难点攻关的角色。
3、全栈工程师
全栈工程师可以通俗地理解为前后端都可以做的技术人员。全栈工程师熟练掌握多种技能,具有全局性思维,能够独立完成产品,是许多创业公司优先选择的热门人才。
以上研发工程师里要求最高的是架构师和算法工程师,架构师需要丰富的大型项目经验,一般不提供初级岗位;算法工程师标准比较高,要么精通数据结构和算法,能够迅速破解面试官给出的算法题,要么是你在某些方面的算法进行过深入的研究并且取得了一定成就。由此说来,初学者想成为算法工程师,对天赋还是有一定要求的。
二、数据库领域
如果想攻数据科学方向的话,主要使用的是统计学知识和机器学习算法。如果数学基础比较薄弱,又不太喜欢数学的话不建议选择这个方向。并且,数据科学家也比较看重经验,新人可以在kaggle上找一些工业级的数据和项目进行练手。
三、测试工程师
公司在招聘的时候,对于新人测试工程师一般来讲不会有什么具体的技能要求,很多时候并不会要求你有测试经验或者会用测试工具。面试的时候会考察数据库、计算机网络等基础知识,并且会要求写一些算法题,测试工程师的算法题相对不难,熟练掌握数据结构和基础算法就能应对。
综上,0基础入行,首先,学一门主流编程语言,目标是研发工程师或者测试工程师的话建议是Java、 JavaScript 、C++(非科班出身可以不考虑)、Python(强烈建议会Python,但不建议只会Python);其次,了解计算机组成原理,这是一个IT从业者必备的基础素质。
磨刀不误砍柴工
最后再给新手提一些忠告:如果基础不扎实就去追赶新技术,会越追越累,对初学者而言,重要的并不是新技术,而是一颗耐心,只有脚踏实地地把基础打好,才是王道,打好基础后,也许你会发现新技术“不过如此”。
感谢阅读,祝大家学有所成!步步高升!