当前位置:首页 > 公众号精选 > 嵌入式云IOT技术圈
[导读]写在前面——论几种关系 专注与规划 俗话说,“行行出状元”,说的是无论什么行业,干一行爱一行,总能做出成绩。又有一说:“男怕入错行,女怕嫁错郎”,说的是要慎重选择行业,因为行业决定发展方向,甚至影响个人命运。两者均是经验之谈,看似矛盾,实则相





写在前面——论几种关系

专注与规划

俗话说,“行行出状元”,说的是无论什么行业,干一行爱一行,总能做出成绩。又有一说:“男怕入错行,女怕嫁错郎”,说的是要慎重选择行业,因为行业决定发展方向,甚至影响个人命运。两者均是经验之谈,看似矛盾,实则相辅相成。前者强调专注精神,后者强调的是职业规划。在职业规划的基础上多点专注精神,这才是成功之道!

择校(企)与择业

尤其对于技术人员,专注精神必不可少,职业规划也是相当的重要。谈到职业规划,面临一个矛盾。高中升学时,专业与学校之争由来已久。是优先考虑热门专业,还是选择名校,没有定论!同样,在就业时,是选择一个好的行业,还是为了进名企而挤破头,这也是个问题!在名校,在名企,看重的是丰富的资源,深厚的文化氛围,优秀的人脉关系,以及品牌效应,这些都让人终生受益。行业之间,薪资水平差异明显,发展机会有多有寡,而且行业往往决定了很长一段时间内的发展方向,转行是件痛苦的事情。所以,弃名校名企,而择行业的也是大有人在。这两种观点虽然也能统一,那就是名校名企,热门专业兼而有之,这当然再好不过。但是更多的情况是两者只能选其一,这时的抉择就很关键!

泛与精

软件行业是个大环境,是为软件这个行业实在太大,其中又有很多的分支领域。绝大多数人穷其一生也只能了解某一分支中的某些知识。面面俱到是不可能的,选择一个(或几个)感兴趣的,前景好的,适合自己的领域重点发展,这是必然之路。尤其是对技术人员,专注于某个领域这点很重要。另一方面,分支领域之间也是相互关联的,从而产生一些交叉学科,新的应用点。广泛的了解多领域知识,全面化知识体系结构,有利于培养IT职业素养。站得高,见别人之不所见,这是管理者,创业者需要的素质。所谓泛与精,并非完全矛盾,也是可以调和的。专注于某一领域,广泛了解各相关领域,做到通百艺而专一长。

技术之路该如何走?

职业发展道路

通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型,到技术型销售,技术支持等;随着技术成长,从技术性管理到高级管理。如图。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。

归根结底,技术是基础。在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,系统架构师是个好的选择;如果性格更适合做管理,沟通表达能力突出,技术型管理应该是下一步的方向。

层次不同,难度不一样

软件开发也是有层次的区别的,比如,按层次从高到低可分为:

  • 系统开发:如操作系统、数据库系统、服务器系统开发

  • 专业开发:如网络安全,游戏,人工智能开发

  • 应用开发:如MIS,BI系统开发

  • 简单开发:如网站、简单查询系统开发

不同的层次,难度系数不一样,技术要求,个人素质要求也不一样。要成为系统开发者、专业开发者、高级应用开发者,需要很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简单开发者和初级应用开发者相对容易,正是这样,使很多人走上了软件开发的道路。所以,要根据个人基本素质,技术能力选择开发层次,由低到高,逐步发展。

做行业里的技术专家

无论什么技术,都离不开行业应用。技术只是工具,如何发挥这个工具的价值,跟行业环境密切相关。技术好的是技术专家,行业知识丰富的是行业专家,而技术知识与行业知识结合起来才是行业里的技术专家。这才是技术发展的王道!

面象对象的编程思想,编程语言(C++/C#/JAVA等),基础的数据结构知识,开发环境(VS.NET等),这些就是工具。将工具运用在某个行业,就需要相应的行业知识。如在企业级应用开发,不同行业(电信/银行/零售等)里有不同的业务规则。在网络游戏行业,网络安全行业,更都需要不同的专业知识。这些才是核心知识。

行业分析

做IT职业规划,选择并专注于某个行业领域。行业的选择是关键,需要清楚这个行业的现状以及发展估计,有哪些技术要求,招聘哪些技术职位,有哪些主要公司等。软件行业分支领域非常多,这里只是根据本人所接触到的某些领域进行分析。有以下分类:

  • 虚拟现实

  • 网络游戏

  • 网络安全

  • 呼叫中心产品

  • 企业级应用开发

  • 无线网络移动开发

  • 电子商务

  • 嵌入式开发

虚拟现实

n 行业状况

目前国内专注虚拟现实的公司不多,且多进行基于VR软件(如Virtools等)的建模绘制工作,基本没有研发能力。仅有一些研究机构(大学)进行VR的研究,包括软件体系结构,网络通信,建模绘制等。北京航空航天大学和浙江大学走在国内研究的前列。

n 技术知识结构

综合利用计算机图形学,网络技术,仿真技术,传感器技术,显示技术等多种技术学科。

n 虚拟现实的应用

  • 医疗和康复

  • 娱乐,艺术和教育

  • 军事和航天

  • 商业应用

  • 机器人和制造

  • 信息可视化

n 主要公司

三维全景软件、虚拟现实软件技术提供商——上海杰图软件

E360(龙安互动),三维全景可视化多媒体技术提供商

虚拟现实仿真中心|虚拟现实&视景仿真———北京黎明公司

网络游戏

n 行业状况

技术门槛较高,行业前景较好

n 技术知识结构

n 行业职位(技术开发类)

n 主要公司

  • EA(中国)

  • UbiSoft 育碧

  • 盛大网络

  • 腾讯

信息安全

n 行业状况

专业技术要求,技术门槛较高

n 技术知识结构

n 行业职位

n 主要产品及公司

  • 赛门铁克·Symantec

  • McAfee 安网(上海)软件有限公司

  • 趋势科技—网络安全软件及服务领域的全球领导者

  • 金山

  • 瑞星

  • 复旦光华

呼叫中心

n 行业状况

服务外包型行业,运营企业软件开发任务轻,技术含量不高。

n 主要技术

n 主要公司

运营商

  • SYKES

  • PCW

设备提供商

  • AVAYA

  • 华为

企业级应用

n 行业状况

知识更新快,业务逻辑紧密,以客户需求为重点

n 主要技术

下面看看大家T行业的职业规划:

我先说说自己的想法吧,就是感觉IT这个行业压力比较大,有学不完的内容,技术更新快,随着年龄的增长,自己感觉会越来越不合适继续写代码(这里面有IT行业环境的因素,大家也知道),所以我决定再做一段时间就转行,去做一些小生意,改变一下自己的生活环境。大家有什么规划呢?

做一辈子屌丝,敲一辈子代码

自己创业,自己给自己打工,管它什么正策了,现在社保都断了好多年了。

練鳥語,混外企。雖然依舊是屌絲,但至少不會太悲催,然後再謀出路--投奔資本主義世界、接私活、創業。

我就是觉得一个月七八千虽然还行,可是不是长久之计啊,因为在中国做IT的年龄不得承认年龄是个问题,再说这些工资也不够啊,现在不说买车买房,就说物价都在涨,令人堪忧啊

先赚点钱再转去做点小生意,Coding没有错但是如果单纯是为了生活而Coding的话进步速度是比不过以此为兴趣爱好的技术狂人,到老了也是根本上年轻人的步子。而且不Coding不代表做不了IT,因为Coding能花钱找人代工,最主要是自己要有明确的IT产品理念

把代码写好,把房子折腾好,然后有点钱,拉点人,做点和政府打交道的小生意,同时无聊拉上员工写写概念软件,骗几千万风投,把房搬了,离公司近点,再换部小破车开开,有空就带着笔记本度假写写代码,平时烧个菜,写个代码,就ok 了

目前在一家不大不小的公司,带一个小小的团队,以项目积累产品,目前正在实现一个架构,可能会开源,看未来的发展,是继续在公司干还是出来创业。

希望有一些志同道合得朋友一起奋斗,我的团队现在还需要若干纯js前端开发人员,若干纯java后端开发人员

那么程序员应该如何规划自己的职业生涯呢?当然谁都不可能一毕业就知道自己想做什么,即便有想法,也可能能力不及,暂时不能实现,即便能够实现,也可能做着做着,发现最初的想法不符合。但是必须指出的是,一个人,无论多么不成熟,无论前途多么迷茫,每个阶段,都应该有一个目标,随着自己的路慢慢的走,经验不断的积累,前面的路能够看的清楚一些,可以根据自己的经验,性格特点,做事风格,已有优势,目标可以进行一定的调整(不必固执于原来的想法,请参考老罗语录Happy Accident),每次调整,可能都会面临选择,没办法,只有像李开复说的那样follow your heart,追随内心,人都有一个特点,追随内心的选择比较不会后悔(至于对不对,人生没走完,谁也不知道)。比如面临A,B两个选择,内心想选A,可是家人,朋友都觉得B好,如果选择了A,A选择顺利,则会庆幸自己的选择,如果A选择不顺,也会想,就算选B也可能不顺,相反如果违心选了B,如果B顺利,会想如果选A说不定更好,如果B不顺,则抱怨家人朋友让自己掉坑里了。(也提醒大家在亲友人生重大问题上,必须让其自己选择)

前面说的比较抽象,下面具体说说。在这里,我把程序员的能力分为以下几个维度:技术深度,架构广度,业务知识,管理水平。当一个程序员从学校里面出来,所掌握的基本只有计算机基础知识以及程序设计语言,这个时候,会面临第一个选择,就是语言方向问题,java/C++/C/C#/PHP/Python/Perl等,有的是主动选择的,非这个我不做,大多数还是被动选择的,可能在学校学习的是C++,擅长的是C++,面试的也是C++,但是分到team后,发现项目是Java的。因为刚毕业,程序员像一张白纸,公司不怎么挑面试者的语言,觉得只要基础好,上手都很快。

如果你有很强烈的语言倾向,则在前三年务必坚持使用这门语言进行开发,如果这三年使用了其他语言,再去面试的时候,公司就不再会相信你在大学的时候擅长某门语言这个故事了,在想转回去难上加难。如果没有强烈的语言倾向,倒也无所谓,每门语言都有自己的优势,也都能出牛人。

在最初的三年,根据接触的项目不同,你已经开始接触某个技术分支,比如linux应用程序开发,linux内核开发,windows应用程序开发,windows driver开发,Java SE,Java EE等。在这三年,你可以不怎么稳定,换项目甚至不断跳槽,职业生涯初期的频繁跳槽还是比较容易得到理解的,但是不是盲目的跳,你要做的一件事情就是确定好自己未来的技术分支,并开始在这个方向上深入研究,形成自己的第一维度的能力——技术深度。根据不同的人基础不同,确定技术方向的快慢,深入研究的努力程度不同,在职业生涯的第三到第六年,技术深度一般会达到一定的程度,大多数人都会成为高级工程师,在这个阶段的后期,一般会再一次面临选择,这是职业生涯中关键的一次选择,将影响职业生涯的第六年到第十年。

有的人会选择更细的技术分支进行进一步更深入研究,继续扩大自己在技术深度这一维度的优势,此类人职业规划简单直接,就是成为某项技术的大牛,不希望找过多的需求结合点,就像郭靖一样,就是降龙十八掌一掌一掌练下去,就靠一技之长行走江湖,跳槽也是容易,只要是需要这方面技术的就可以,其他的我不想做,对于此类程序员,我的建议还是选择一些有技术含量,稳定不易淘汰,不是一时半会儿能学会的方向,比如linux存储系统的开发,数据挖掘,图像处理等。

有的人不希望进一步扩大技术深度这一维,而是希望整个系统从前端到后端,从底层到上层都能够有一定程度的了解,也即开始扩展架构广度这一维度,此类人对每一项技术都会了解到一定的深度,在各项技术大牛的帮助下,能够搭建起整个系统,他们的职业规划就是成为架构师,由于各个模块的技术都有可能更新,所以架构师需要不断的学习新的技术,不至于架构过老而遭到淘汰。

有的人做的软件是面向某个行业的,比如金融,证券,财务,航运,电力等,他们出来技术深度形成一定的优势外,在三到六年这段时间里,也开始慢慢了解这些行业,于是扩展了另外一维——业务知识,他们能够迅速理解这些行业的业务需求,并转换成为软件的需求,他们的职业规划就是需求分析师,他们需要更系统的学习业务方面的专业知识,以期能准确把握需求。

有的人在成为技术主力后,由于有一定的沟通和组织能力,开始带新人,以及领导一些人完成任务,于是扩展了另外一维——管理水平,他们需要学习项目管理,组织行为学,绩效管理等方面的知识,职业规划是成为技术经理,我的建议是有可能的话,做管理开始尽量在大公司,一方面大公司体制完善,培训到位,会更快帮助你成为一个好的管理者,另一方面大公司的管理岗位才有含金量,不像小公司,动不动就冒出个技术总监。

接下来,在工作的第六年到第十年,就是按照上述的选择各自走各自的道路,最终小有成就,成为真正的技术牛人,软件架构师,需求分析师,技术经理。在这个时期的后期,部分人还是会选择多维的结合,技术牛人技术太牛了,大家五体投地,都心服口服的听他的,最终也会发展处管理水平这一维,成为技术型领导者;架构师由于需要协调各方,也会发展出管理一维,成为经理,由于架构师基本能够自己搭建一套系统,有可能会因为一个idea进行创业;需求分析师一般也会参与到架构设计中,发展出架构广度一维,也需要协调团队完成需求,发展出管理一维,从而可以成为乙方的项目经理,甚至会进行接项目方式的创业;技术经理可以进一步拓展管理一维,成为高级经理直至技术总监。在国内,成为大公司的技术总监,中小公司的CTO乃至VP,是大部分的程序员职业生涯的顶端,如果你是国外派回来的海归,或者自主创业成功的英雄,那应该另说,毕竟都是少数。

先做技术,然后再做技术管理

往期精彩

嵌入式系统软件架构设计(长篇深度好文)

分享一个非常有用且简单C语言测试框架

分享一个自己量产项目上的集成测试软件MTTEST

使您的软件运行起来: 防止缓冲区溢出(C语言精华帖)

若觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。


免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭