作为一个刚刚从事软件开发的程序员来说,当面试官或的朋友问以后的职业规划时,总会有这样的答案:我准备先从程序员开始,以后慢慢做到项目经理.这个答案对于提问者来说已经足够了.但是对于回答者来说,你真的认真想过这个答案.关于这个问题,我也仅仅经过了粗浅的思考,也许有不严谨.
虽然我没有去查找有多少程序员最后转成项目经理,但是大致观察一个项目经理少则带领3-5人团队,多则20多人团队.当然我的所见还是非常狭隘的,但意思就是这么个意思.也就是10个左右的程序员出一个项目经理.虽然没有权威数据显示程序员的工作年限,以及退休年龄.但是通过所见所闻给人的感觉也就40岁左右.
那么问题来了,程序员都去哪了?你准备去哪?
向IT培训师转型,向IT营销转型,向项目管理努力,做某些领域的专家.因为我经历有限,对上述的各个职业也不敢妄加评论.
很多人对程序员都有一种感觉,性格内向,不太擅长沟通,技术很牛每天就对着电脑敲代码.有人说程序员发展的纵度是很窄的.初级程序员=>中级程序员=>高级程序员,而且关于级别的也不容易判定,凭借个人的能力和努力,有些人也未必能做到.从程序员的转行我们也不难看出:程序员是不断的从幕后走向前台.无论是培训老师,还是项目经理都需要与人交流沟通.
好了,最关键的问题来了.很多刚毕业的大学生或者是所谓的初级程序员,由于其基础的薄弱,造成了开发难度大.所以自然而然的十分看重编程的技术,千方百计提升自己的编程能力,包括我在内也是这么做的.但是我们往更深的程度想一下,我们以后更好的发展不仅需要硬技术,还需要软实力.就拿项目经理来说:过硬的技术和项目经验必不可少.同时沟通交流,人脉,管理.如何利用自己的演说能力和人格魅力使员工全力工作,如何利用自己的谈判技巧接更多的项目谈更好的价格.举个不恰当的例子:历史的长河中武艺如同岳飞的大有人在,但并不是每个人都能带领出岳家军来.
于项目经理来说:编程技术只是为了更好的理解员工,更好地分配任务和对进度全局的掌控.大家都知道项目的延期后果是很严重的.项目经理主要通过需求分析确定项目的大致交付日期,确定项目的架构,什么时候项目应完成到那个进度,相反而不再是整天编写代码.对于IT培训师而言,就是如何深入浅出的讲解一个知识.把想法翻译成语言,并被人理解和接受是很困难的.
因此,我们要在提高自己的硬技术的同时还要注重自己的协调发展,假想一下10年之后,你成功的成为一个高级程序员.这时候一家外企想招你做项目经理,你发现你的管理能力和沟通能力却不是十分符合.但是你英语却说不好,你说当年高考英语多少多少,大学六级多少多少分.但是10多年没怎么用,一时半会儿很难提高.最后却因软实力而失去机会..所以有些东西需要你自己尽早的知道,并有意识地锻炼.比如说你每天抽出10分钟锻炼自己的沟通,在工作中有意识的锻炼自己的管理.每天背两句英语,英语这东西丢的三年五载连自己都没有信心在捡起.
写这篇文章的目的主要有两个:
第一,指点迷津.不是说技术不重要,只是想提醒年轻的程序员不要把宝都压在技术上,也应该考虑一下自己的软实力.做到兼顾.如果等到30岁之后才明白就有点晚了,因为软实力提升也需要大量的时间和磨练.
第二:抛砖引玉.希望看到这篇文章的人有所启发,进一步思考总结这个问题,告知自己的朋友和后来人.希望走过这些历程的先辈们将自己的经历与我们晚辈后生分享,以作我们航海的指路灯.
最后,要特别感谢迪士尼经理对我的指导,听君一席话,胜读十年书.