首页 > 代码库 > 程序员职业规划:让自己变得重要

程序员职业规划:让自己变得重要

昨天在Better Software Magazine上看到一篇文章Make Yourself Essential(杂志不在手边,文章名和杂志期号都记不清了),谈到了IT市场变幻,程序员风光不再,身为程序员应该怎么应对。作者开篇明义:工作外包,公司裁员,是公司的错么?当然不是!一切都是程序员的错。当我们技术沦为大宗商品(所谓大宗商品,就是说商品和商品间的区别主要就是价格了)的时候,我们被收费更低的竞争对手代替的日子也就不远了。而随着技术的进步,很多编程技术也就不可避免地成为大宗商品。而要想增加自己的重要性,变成公司不可缺少的人才,全在程序员自己的努力。为此,作者建议程序员学习企业家精神来提高自己的能力和地位。也就是说,我们的技术相当于我们的产品,那怎么才能让人们需要我们的产品呢?作者提出了四个步骤:
调研。如果你是一家公司的CEO,你会不会因为一个产品有趣,或可能有买家,就轻易投资?显然不会。同理,我们时间精力有限,怎么也不该去学习屠龙术。这点其实对CSDN上很多小萝卜头应该有所启发。成天钻研些i+++++i实在浪费时间。一个企业家在投资前,会花费大量时间精力调研投资可行星。以此类比,我们程序员也应该仔细思考,自己到底应该学习什么东西。作者提出了一些通用的指南,比如学习还处在上升阶段的技术,不要花太多时间在过于大众化的技术,除非你在那方面出类拔萃,等等。
投资。对普通程序员来说,我们的资本就是时间。投资重在持之以恒,放长线吊大鱼。我们应该每周都安排出一定的时间来学习。当然,时间也不要太长。过重的负担只会让人半途而废。学习的要点之一是勤练。普通的程序员只在工作中练手,显然不够,就好像一个优秀的音乐家不会在面对听众时才练习一样。台上10分钟,台下10年功,是为至理。Pragmatic Programmer的作者Andy在他的网站上推出一系列的Code Kata,给不知道怎么练习的程序员提供练习的素材。另外,单纯的编程已经不够了。了解业务逻辑,了解管理流程,能把自己的技术和商务结合起来,解决实际的问题,才大有作为。作者建议我们有空读行业杂志,和做业务的同事多交流。
营销。没人知道的功夫不算功夫。让同事,让老板,让同行知道你的技术费常重要。争取在工作中应用新的技术。向人们展示应用你学到的东西后的功效。参加各种业内会议,结识同行。在新闻组上回答额为那提。写文章,写书。这些都是利人利己,也增加自己影响力的途径。
执行。学以致用。尽量把自己所学用到工作中去。工作态度也很重要。没有那项工作所有任务都有趣。但如果我们致力于完美地完成任务,单调的事也可以变得有趣。
如果对这些职业规划感兴趣的话,Pragmatic Programmer的另一个作者Dave的How To Keep Your Job是必读材料,非常有启发性。
程序员的个人发展

技术&管理&做人&行业
每天晚上,请你问自己这些问题:
1, 今天我是否克服了技术上新的困难?
2, 今天我是否多读了一些新书?
3, 今天我是否就某方面的问题与人进行了交流?
4, 今天我是否多认识了一个新同事或新朋友并准备与他们保持联络?
5, 今天我是否更多的接触到身处的行业需求,现状,和发展?
精通技术
精通技术是技术人员的根本要求,也是技术人员人生发展的必经之路,只有首先精确掌握一门技术,才能触类旁通的掌握其他技术。精通技术不仅仅是为了精通技术,而是为了触类旁通,为了掌握精通技术的学习方法,研究方法,体会身处技术顶点的感受和境界,这样,下一次准备或需要进入另一个领域时,才会有明确的目标。
为了精通技术,就要有以工作为乐的精神。不主张过于频繁的换工作(常常被认为是不热爱工作,不适应环境,或者不忠诚的表现)。以工作为乐,才会投入更多的精力和时间,才能够飞快成长,成为该方面的能手。以工作为乐,是朝着技术高峰阔步迈进的享受过程。
如果仅仅的是以工作为乐,仅仅号称自己喜欢工作,而没有“朝着技术高峰阔步迈进”,则是一种浪费。要做工作和生活的有心人,才不会迷信技术,才会避免骄傲,才不会在达到某个水平以后停步不前。不仅要做有心人,还要学会研究。研究该门技术的发展方向,该门技术最好的学习方法,在该门技术上取得突出成就的道路,和激励自己沿着正确的方向前进的诀窍。做好了这些问题的研究,就会在以工作为乐的境界中做出超凡的成绩。
总之,
1, 反对不认真对待技术。
2, 反对不热爱工作,一心旁鹜。
3, 做生活和工作的有心人。
懂得管理
懂得管理,既要学会管理,也要学会配合管理。那些对所有人和所有事情都吹毛求疵的人是不适应社会的,也是不容易成功的。懂得管理,既要学会管理工程(进度,过程,资源,需求分析,客户交流),又要学会管理人。要重视团队建设,重视团队的合作,重视团队的文化建设,重视团队的凝聚力,重视管理者的个人感染力。
在用户不能提出明确的需求的情况下,要综合经验,替用户提出明确的需求。
符合标准的过程控制,方法论的实际应用可以引导工程有一个可期望的好结果。否则就是运气的功劳。资源的合理配置,建设一个每个人舒适工作的环境,不要让你的组员不得不总是把精力放在环境建设等问题上,是让人做出更大成绩的捷径。
与人畅快交流的能力,成为软件人员必备的素质之一。懂得行业的知识就从这里开始。
那些单纯学过管理的人,无论进入那一个行业,都需要不断的迅速的学习一些关于该行业的专门知识,至少是名词术语,基本原理,关键技术,主要应用。这样的了解初步管理知识的人,一定不要对技术人员指手画脚,否则一定得不到应有的认同,反之,如果他们从过程本身的流程或者方法论等方面提出建议,就可以更好的体现自己的价值。
进入行业
软件工作,离不开行业,尤其是应用软件。一个仅仅懂得实现技术的人,是不够的。所以一定要拓展你的知识,对你所处在的行业有一个更全面,更准确,更实质性的了解。
软件人员看到需求分析,常常想到如何去实现它,而不会认真的去研究这份需求,站在用户的角度上来做更多的工作,这是值得软件人才所注意的。
研究你所在的行业,也需要有一种系统的方法。了解其中的关键点是进入这个行业的捷径。了解触及该行业更多方面的关键点,是掌握这个行业的必经之路。对该行业做系统的总结分析,是深入该行业的目的。初步的研究成果经过更多的提炼和交流,就会成为金子般的智慧。
以下是几点建议:
从点滴做起。先做好那些你力所能及的工作。标准化你的行业。你所处的行业虽然确定,但是每一家公司的需求各不相同。掌握他们做事情的流程,可以帮助你做好标准化。同时学习那些该行业的标准,以用户的标准为标准,更加深刻的理解标准,是代替用户做好标准化的方法。
掌握核心技术。任何行业都有核心技术。掌握某一项核心技术,就可以让你进入这个行业并在其中生存,反之仅仅浅尝辄止,就会让你遭遇失败,抱怨不公。
影响你职业发展的几项能力
1, 研究问题的能力
2, 影响他人的能力
3, 个人履历
请相信以下观念 1,教育不是万能的。希望学校或者任何一个教育机构为你准备所有的知识,能力,水平,是不可能的。最好的大学是自己和无字书。
2, 成长在工作中。工作中的表现和积累才是人生腾飞的实际动力。 1,教育不是万能的。希望学校或者任何一个教育机构为你准备所有的知识,能力,水平,是不可能的。最好的大学是自己和无字书。 2, 成长在工作中。工作中的表现和积累才是人生腾飞的实际动力。 从今天起,请做好
1, 培养你自己更广泛的兴趣,并坚持你的人生目标
2, 锻炼你的演讲能力
3, 多认识朋友,以他们为荣
4, 培养你的远见卓识
程序员职业规划!(文中多次引用韩少云老师的话)
很多人刚毕业时充满活力,然而几年的摸爬滚打后,冲劲就会慢慢减弱甚至消失。再加上IT大环境的
起伏不定,一旦无法跟上技术或者行业发展的步伐,便会迷茫。王洪超说:"以前晚上睡觉之前想事情,
经常都不知道自己以后做什么。"
  这并不奇怪,工作的新鲜感褪程序员首先需要提高系统设计能力。从2000年以后,软件业的编程思维
和模式、方法发生了翻天覆地的转变,与九十年代、甚至2000年前是完全不同的。但是,很多在企业工作
的程序员的知识架构很难跟上。中科天博谢新华老师直率的指出:"现在很多程序员不是按照应该如何设
计最好做得,而是按照我会什么来做的,最终造成设计思想落后。现在做项目需要的是新的、巧的设计思
想。我们可以将从无数次失败中得到的理念告诉他们,包括如何学习,如何思考,技术变化的原因在哪里
,其核心在哪里。这样程序员的理解力就会完全不同。现在,对程序员的要求降低了,但对系统设计的要
求提高了。所以程序员必须要提高系统设计的能力,否则永远出不了头。"
  而曾经从事过宏观经济研究工作的李巨锋更喜欢从行业走向来谈问题。他说:"现在中国纯软件公司
不多,但是,中国的经济非常好,从整个社会的经济和行业角度可以得出很多有价值的内容。很多人不了
解行业的需求情况,因此做不了判断。"
  跟随一个快速发展的行业,就比较容易取得发展,而在一个发展缓慢的行业中成功就比较困难。当然
,有了市场容量有多大和机会,并不代表一定会成功,但没有这个因素成功的几率会更低。工作一两年的
人,最关键的是要有一个方向感,不要太盲目,这就需要程序员有一定的判断力。
  李巨锋认为,电信行业新增的市场容量每年有1万亿,而且由于是新增市场,人员也比较容易进入。
此外,中国的手机市场非常大,由于无线应用的迅速发展,可以预料,基于手机和电信结合的软件的就业
前景就比较好,事实证明,很多人也在向这个方面转变。达内的成功与行业需求也不无关系,韩少云说:
"从金融和电信行业角度看,对软件人才的需求每年以30-50%的比例增长。熟悉这两个行业所需要的IT技
术和背景的人才,需求量是最大,缺口也是最大的。"
  中国的信息管理软件市场也是容易就业的市场。现在市场上有数不胜数的小管理软件公司,这是同中
国社会走转型之路相关的。李巨锋说,"基于商流、资金流、信息流、物流的行业都有相当的发展前景。
通过产权交易的商流,带动资金流和信息流的发展。物流是新兴的行业,这些都需要主流的IT技术。中国
的物流成本现在是20.9%,美国是9.8%,差距非常很大,这其中有1万亿的市场容量,如果软件和信息化
服务占20%的份额,也有几千亿的市场,行业需求很大了。事实也证明供应链等类型的软件市场发展非常
迅猛。"
  而对于游戏,李巨锋认为这不能称之为一个产业,因为它不像电信那样带动很大的一个产业链,现在
取得成功的只有几个游戏,而且还主要偏重销售,不是一个上下游的产业。尽管比较热,但李巨锋认为相
比来说,至少一两年内可能不会有很大的市场容量,这就需要进行判断。
  李巨锋认为,已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施
顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java还是.NET,还是数据库领域,都
要首先成为专家,然后才可能继续发展为架构师。"尽管架构师的职位可以工作一辈子,待遇也非常好,
对于科班出身的程序员最为适合,但这种工作职位非常有限。"一位毕业的学员到IBM软件开发中心后,过
了一年左右,开始请教其未来的发展,结合对方的情况,建议他先深入的技术,因为在中国架构师需要的
条件比较复杂,而且需求量也比较少。
  实施顾问和销售就比较偏向市场了,除了一定的技术能力外,需要掌握很多IT以外的知识。这些发展
方向对于从其他专业转入IT的人员更为适合。比如用友就培养了很多实施顾问,这些人加上行业背景,收
入也很高。要做行业专家,就要比自己的行业客户还了解这个产业的发展现状。李巨锋说:"比如烟草行
业,一定要了解大的趋势,中国最多的烟民在哪里,其实是在山西和辽宁,烟草行业的产业政策是什么,
直接导致我的需求是什么,这些信息对于职业发展很重要。IBM的一些顾问都是行业内的资深专家,他们
的发展就非常具有代表性。"
  对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域
的专家,第三步,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会
走向行政管理,这和个人性格有关。
  要获得职业成长,培训也很有帮助。韩少云说:"在北美,职业培训是一种高端的培训,即便是专业
的人员也需要职业培训。一个人在一生中需要经过很多职业培训才能成为一个资深或者专业的人员。而在
国内大家的观念中,职业培训还没有被大家广泛的认同。"
  对于更高级的技术人员,他们所关注的就不是解决基本的生活问题了。他们所关注的就是发展和成就
感。从现在看,他们更为缺乏的是交流,尤其是和水平差不多或者更高的人进行交流。李巨锋说:"我建
议他们做一些国产的产品,做一些自主产权的技术。比如,我们还有产品开发的部门就在做国产数据库设
计。"
职业规划带动更好的成长
从中国的软件开发人员的层次看,工作几年以内处于初级水平的程序员占据最大的比例,至少在50%之上
,高级的人员最多也就10%左右。但无论处在哪个层面,一定要有规划,按照自己的个性和优势做一些规
划。
  一个程序员的成长,学习过程中首先要读到好书,然后是交到好的学友,找到好的老师,在这三个外
围的条件下,找到适合的工作环境,结合自己的特点,然后在一些重要的环节上遇到适合的人和合适的项
目,这样才能成功。有些职位可能在开始的时候不适合,但工作一段时间后,可能就可以走上更高的职位
。最近,IBM软件学院就开始做一个"软件人才库"的项目,为的就是跟踪技术人员的成长,给他们在合适
的时机提供合适的职位。业内人士说:"IT行业良性的人员流动也是很好的。"
  有了一定的职业规划,就需要补充自己缺乏的经验,只有经历过足够的项目,才有可能不断积累。对
行业的判断有一定的理解之后,对一般的企业适应起来是没有问题的,但高级的人才需要长时间的积累。
  在中国,除了个人的基本技能,还需要具备一定的社会资源,行业资源和资本。学生要学会在提高智
商的情况下,提高自己的情商。因为,在人和人交往中情商起很大的作用。技术人员需要慢慢改变自己的
一些思维方式。个人成长要有意识的积累社会资源,认识相关的人,了解相关的政策和行业发展的过程和
规则,这些东西是非技术的,非智商的,只要你关注就是可以得到的。我觉得最关键的就是多认识人,然
后有意识的寻找合适的事情来做。情商也就需要有渠道,有多少人能够帮助你,否则成不了。
  机遇和经历对于职业的发展有相当的影响力。某些人或者某些事情都可能会影响到未来的发展。王洪
超也认为成为微软MVP是自己的一个转折点,由于成为MVP,便有机会接触更多的技术朋友和微软人,为自
己的发展奠定了基础。
  总而言之,每个人至少三年要点评一下自己:是环境的原因,还是自己个人的原因,如果是环境的原
因,可以考虑是否需要换地方,如果知道自己,可以调整自己或者设的目标现实一些。从一个普通的程序
员做起,3年时间至少能够做到做独立需求分析和设计的。色后,就设法需要通过一个目标为自己输送动
力。这便是职业规划。

 

程序员职业规划:让自己变得重要