程序员规划(转载)
对于大多数程序员来说,微软是一家值得崇敬的公司,能够加入微软,也是很多程序员的愿望。在付出足够的努力后,一旦进入了微软,也就意味着可以和最先进的技术终日为伍,一直沿着技术这条路线走下去了。对吗?错。今年九月份刚刚加入微软开发合作部的王洪超就为自己规划了一条技术管理的路线,除了在技术方面继续学习之外,他还希望在未来的时间里有意识的提升项目管理的能力。王洪超说:"微软为员工的职业发展规划提供了足够的学习机会。"
对更多的程序员来说,进入微软仍旧是一个梦想。然而,与以往任何一个时候相比,做出职业规划的必要性更加迫切。面对层出不穷的新技术,激增的就业压力,不断分化的开发角色,再加上IT发展的不明确,做出职业规划既是一种挑战,也是必须之举。
以前,学校的学生只要考取一个认证就很容易开始自己的职业生涯,已经工作几年的程序员更是成为公司抢夺的对象,而就在互联网热时,高级程序员更多想到的是自己出去创业。现在一切都改变了,混乱的认证市场让毕业的学生失去了一块招牌,企业更注重其技能和做项目的经验,而少有工作经验的学生和企业需求之间形成了无法弥补的裂痕。已经工作的程序员又面临着学习软件工程规范和技术更新换代的压力,不明朗的软件行业前景让他们在走向三十的路途上遭遇困惑。对于已经具备相当水平的资深技术专家或者技术领导者来说,风险投资对软件项目的谨慎使得创业变得更加困难。即便如此,仍然有很多非软件专业的人员源源不断的加入到这个大队伍中,更为市场增加了很多竞争的对象。
与企业需求接轨是学生的职业规划的第一步
很久以前,企业要承担起学生的培训工作,毕业的学生要在公司经过一段时间后,才能融入整个开发团队。而现在,很少有公司愿意承担这样的培训费用了,在激烈的市场竞争下,发着工资却无法带来利润的职员是大部分企业无法容忍的。
大学教育是普适教育,教给学生的只是知识,而企业对学生的需求是技能。这之间就是一个很难弥补的差距。中科天博总经理王健华表示:"大学生学习完了之后,只是知道是什么,根本不会用。学习了C、Delphi,学习了Java,只能够按照书本的案例照着做下来。但让他做一个最小的项目,包括一个带后端数据库的小网站,都很难独立承担。" 前IBM 软件部高级软件工程师李巨锋现在担任科瑞尔思培训中心专职教师,他也表达了同样的看法,"企业更关心你学习到了什么技能,做过什么,如何把学到的技术应用到实际中去。"
应届毕业生很难克服这个困难,因为学校不具备这样的环境。IT大环境没有解决的情况下,就需要大学生自己想办法。如果在学校通过某些方式已经积累到了经验,当然是最好的。但如果没有积累到这些知识,就必须寻找机会通过其他途径弥补了。
曾担任亚信公司软件开发技术总监,现在创办达内培训中心的韩少云有也切身的体会。 "原来我也在亚信做人才管理,需要不断从社会上招聘好的软件工程师,组建开发团队。我发现很难找到合适的人选,但是一些被淘汰的人是很可惜的,他的基本素质,包括计算机专业的相关背景非常不错,但具备的技能和企业不能很好的匹配。"为此,韩少云萌发了要做IT培训的念头,希望将企业需要而学员缺乏的知识和技能通过这种培训进行弥补,创办达内科技以来也取得了巨大的成功。
对学生来说,提高适应企业需求的技能也是为了寻找到适合自己的公司,职业生涯就是进入正常的轨道中。寻找到适合的入口,面临毕业的学生要谨慎的做出自己的选择。如果不好找入口,起点太低,对未来的发展也没有好处,甚至导致以后的工作习惯都不好。金山公司负责人力资源的副总裁王春伟说:"《哈里波特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年时间至少能够做到做独立需求分析和设计的。