IT行业道路是一条充满了挑战和冒险,收获和艰辛并存的挑战之路,你的每一分收获都是要实实在在的拿出你的努力去拼出来的。
今天我们说说IT的各个岗位和相关所需要的技能。现在IT的岗位很多大概分为了软件工程,网络工程, 信息管理, 多媒体设计几个方向。这里我主要针对前三个方向来说说,尤其是前两个方向。
首先我们来看看这几个方向的岗位到底关注的是些什么样的工作:
软件工程:包括开发和测试两大部分,主要面向于软件的开发和相应服务的提供,相对来说就业人数最多的方向,高级职位一般为系统架构师和分析师或其他同级职位。
网络工程:主要面向系统工程和网络工程行业的,立足于物理网络环境的规划,建设,维护及优化等等,高级职位为网络规划师,网络分析师或同级职位。
信息管理:主要面向数据服务方向,通常关注大数据的存储,检索等方面,高级职位应是信息系统分析师,或同级职位(我并不是该方向的,所以不太清楚)。
多媒体设计:平面设计,3D设计,音乐制作,CG动画制作,画漫画,UI设计等等,高级职位不知,原则上你可以理解为一群和IT紧密相连的艺术家。
接下来主要说一下软件工程相关的工作~
首先来说说软件工程:
入门职位:程序员
很多人以为,作为一个程序员,就已经进入IT行业了。对不起,我不想打击你们,但是,你们错了,你们只是刚刚摸到了IT行业的门槛而已。
或许建筑设计师不需要会砌砖头,调水泥,产品设计师,不需要会操作机床;但是任何一个最基本的软件设计师,一定会编程——这就是IT行业和其他行业的差别,如果你不能顺溜的写出程序,你根本就不算是IT行业的人。所以你也还没有任何资格来评价IT行业如何。
而且这个为新手所设计的职业充满了大量的加班,无聊,压力,和你所不太喜欢的一切——除了那一行行美丽的CODE,如果你连CODE都不喜欢的话,那么请你轻轻的关上IT这扇大门,因为他并不适合你。
进阶职位:测试工程师 OR 开发工程师
到了这一步,恭喜你第一次转职成功,你现在算是真正的站到了IT的大门里,这两个职位的技能需求差不多——需要精通至少一门编程语言,熟练掌握基本算法和数据结构,掌握网络相关知识,了解计算机原理和体系结构,了解编译原理,熟悉开发和测试的模式和流程,关注点等等。唯一的差别在于,一个关注于测试,一个关注于开发。简单来说:
开发工程师关心的是如何制造一个产品;而测试工程师关心的是开发工程师造出来的产品是优秀,优良,合格还是不合格。
从这里开始,你的月薪通常会在6K~10K。你会发现突然之间,加班少了很多,CODE少了很多,你变得沉默了不少(你不会轻易的批评人家的代码,你经常在思考如何更好的写代码)。
不用担心,这是你必经道路,因为对于一个工程师来说,CODE已经不再是关键,关键在于如何去CODE,如何更好的CODE。同时你也开始思考生活,由于你的个人时间和可以支配的金钱变得充裕了不少,你会开始常常和朋友聚会,旅游,打球等等,你会开始关注生活的品质(比如去电影院,偶尔购买一些奢侈品,买东西时不再选便宜的,而是选择价格合适而性价比更高的)。
高级职位:系统分析师/架构师/需求分析师 等同级职位
到了这里,你已经逐渐成为了一头可爱的小牛,忽然回顾,自己,你会发现似乎已经很久没有摸过代码了。偶尔写写项目上需要的小工具,会发现,效率似乎不减当年甚至更高了。你会发现你懂得了更多的东西——项目管理,软件架构,需求分析,安全性,可靠性,可用性,扩展性,你发现你已经可以信手用两到三门语言编程,即使是新的语言,你也能在很短时间内上手;你深深的理解着计算机工作的原理,体系的结构,网络工程的相关知识,所有的东西你好像是你本来就会的一样。而在公司里,你已经俨然是一颗小型太阳,你能够轻松的解决大家解决不了的问题,你总是能够出其不意的提出独到而有效的见解。
你或许发现,CODE和怎么写CODE都不是太关键的问题,而如何去设计,从全局进行考量才能行之有效。
而你的生活水平也在提高,你认识的人也都越来越大牛,你会忽然发现,有些人提出的问题很简单,甚至有些人开始狂热的追随着你。
而再往后,你的发展已经无法用一个职称,或者类似的东西能够描述了的,你会逐渐体现你独一无二的价值,你所说的和所作的或许会成为后人的经典案例分析,或者是大家模仿的对象。但是一切都建立在你自己为之不懈的努力和奋斗的基础之上。
网络工程方向(薪资可以参考软件工程方向):
入门职位:网络管理员OR同级职位
你的第一份职位甚至没有什么名字,你所做的事情无非是学着做做网线,在机房里爬上爬下的看哪个端口出错了。拿着仪器到处造哪里可能出现了错误;更换线路,更换接口,更换设备,等等诸如此类无聊的工作,你的薪水不会比一个程序员高出多少,你或许以为这就是你一个默默无闻的小兵的苦逼IT生活的开始。很不幸,你之所以如此苦逼,是因为你正在学习如果成为一个网络工程IT人,而不是因为你是一个网络工程的IT人。
进阶职位:网络工程师
随着你的的学习和工作,你或许已经理解什么是计算机网络,你也能够用编程语言轻松的写出需要的网页,小工具;你的个人主页或许开始充满人了人家无法复制的特点(个性的装扮,个性的功能等等);你或许已经开始了解算法和数据结构,你能够轻松的理解网络协议的地位,当遇见网络故障的时候你不会立刻拿着仪器进行检测,而是开始分析可能出现问题的地方和原因;你甚至能够从一张拓扑图中发现可能存在的问题和优化的方案。
而工作之外的时间,你也开始关注哪里有好玩的,或许你会有一点点职业病,评价你看见的一切网络环境,思考他们的优缺点和改进空间。
因为,你已经到了你第一次转职的时间,你即将成为一个真正的网络工程师,你的努力让你足够在网络工程的IT大军中占有一席之地。漫漫长路终于展现在你的面前。
高级职位:网络分析师或网络规划师等同级职位
你终于已经不在对着拓扑图抓耳挠腮了,你现在能够根据客户的需要相对轻松的勾画出他们将会拥有的网络拓扑,你的心中会知道他们最中意的,性价比最高的网络方案以及这个方案大概会在什么时候出现问题而需要重新设计,你甚至能够根据他们的需要设计一套全新的私有协议供他们使用。
当网络出现问题时,你早已不会拿着仪器跑现场,你的首要工作是检查并调整网络拓扑以及估算损失和减小故障带来的损失。
你是团队中的主心骨,你就是一本网络工程的活字典和工程指导书。同样,开始有一群人会开始追随着你的脚步,你开始和大牛们探讨现有网络的问题,你开始关心如何更好的建设网络,你开始试图对协议进行改进,而你的道路也越来越宽阔。
以上,是从技术方向,对一个IT人所面临的,或者即将面临的问题和困难进行的一些总结,其中主要来自于我自己的经历和发展。
希望对IT行业充满着兴趣的朋友不会因为眼前的困难而被吓倒,迷失了方向。也希望那些对IT行业充满了幻想的同学能够及时的了解他们所面临的刀山火海。
IT行业的道路固然是充满了阳光了,一路上充满了美景,但是也充满了艰苦和崎岖,在突破了之后一路的阴霾,云霄之上,必然是一番广阔的云海。
如果你希望走管理路线,那么你会在成为工程师之后转而成为项目经理,走项目总监等工程管理方向的工作,那条道路同样广阔,但无论如何,你首先得过第一关。