软件开发工程师而立之年职业发展方向规划

当您对某种软件开发语言已经有了一定的了解,给自己的感觉就是"味同嚼蜡",感觉自己就成为了一个开发工具的时候,那您就应该要明确一下自己的发展方向了。平常在软件公司,您可以看到做UI层的开发人员大多数都有20多岁,他们充满干劲,而且没有家庭负担,在两年前ASP.NET MVC 、Silverlight等刚出现的时候,他们可以在晚上回家的时候买几本书或者直接上网看看,研究三五个星期以后,对需要用到技术就已经有一定的了解了。而年过30的人多数是已经成了家了,他们每天9:00点上班唯一的希望就是快些到6:00点,能回家吃饭。吃完饭只想陪子女玩一下,看看子女的功课,对新增的技术缺乏了学习的欲望。所以很多接近而立之年的软件开发工程师都有着一种逼迫感(包括而立之年时候的我自己),再过几年应该怎么办?这时候,您就更应该明确一下目标,努力向自己的发展方向前进了。归纳一下,可从下面几项里选择适合自己的一条道路:

 

软件开发工程师而立之年职业发展方向规划

一、从技术向业务过渡

在国外,很多发达国家都很重视人才,一个高级的软件开发工程师与一个项目经理收入相差一般不超过15%。但中国是世界上人口最多的国家,国内人才众多,所以人才滥用的情况经常可以看到。一个小软件公司的开发部里面经常会见到新面孔,但项目经理却不会常换。因为做老板的对技术是一窍不通,依他们看来只到拉住项目经理的心,那技术方面方面就能搞得定,至于技术部要换人,他们根本不需要费力气去管。所以从一个技术员过渡到一个项目经理是一条向前发展的一个选择,但开发人员也需要知道,要成为一个项目经理不单单是使用技术,而更重要的是对管理方面认识。一个项目经理主要的工作是组织团队,控制成本,管理业务,控制项目进度,与客户进行沟通,协调工作,定期进行工作报告等。所以要成为一个成功的项目经理更要重视组织能力,项目经理必须能提高团队的积极性,发挥团队所长,在有限的开发资源前提下为软件公司得到最大程度上的利润。成为一个项目经理后,通常不需要直接接触技术开发,而着重管理的是业务发展,但项目经理对技术也需要有一定的了解(在下曾经为项目经理对技术了解的必要性写过一篇文章,得到很多支持但也惹来不少的争议)。在这里我还是要强调自己的观点:要成为一个成功项目经理最重视的是管理能力,但对技术也应该有足够的了解,因为这是与团队成员沟通的桥梁,只有这样才能与整个团队的成员有着紧密的结合,让团队成员感觉到他们自己存在的意义,从而调动团队的积极性,而不是漠视软件开发工程师的存在。技术并非成为一个成功项目经理的充分条件但却是必要条件!

二、从软件开发工程师向技术管理发展

其实一个团队领导人的职责与项目经理相像,但团队领导人更着重于技术开发方面,通常一个大型项目都会有一两个开发团队由团队领导人带领,负责开发核心部分,而其它部分分派给不同开发小组或者分派给外包软件公司。在网上常看到几句话,贴切地形容了项目经理与团队领导的区别:"软件开发工程师乐于被领导;但他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥。管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作。管理是客观的,没有个人感情因素,它假定被管理者没有思想和感受,被告知要做什么和该如何做。领导是引领、引导,它激励人们达成目标。领导力是带有强烈个人感情色彩的,它不是你能命令的,也不是你能测量评估和测试的。"

无论是项目经理与团队领导,对业务与技术都要有深入的了解,只是项目经理更侧重于业务的管理,盈利的多少,风险的大小等等,而团队领导则侧重于项目的成本,开发的难度,软件的架构等技术方面的问题。在某些人眼中,技术与管理就像鱼与熊掌,不可兼得,但依在下看来,两者却是秤不离砣,密不可分。只要及时提升自己对技术与管理的认识,不断地向深一层发展,要从软件开发工程师提升到技术管理人员只是时间的问题。打个比方,一个普通的.NET软件开发工程师,开始可能限制于ASP.NET的页面开发,但一旦他有了发展之心,他自然会对ASP.NET MVC、Silverlight、WinForm、WPF这些UI的开发手法感到兴趣,学习不需要多少时间,他可能就会认识这些UI开发只不过是一些工具,其实在开发原理上没什么区别。接着他就会向深一层的通讯模式进行了解,认识TCP/IP、Web Service、WCF、Remoting这些常用到的通讯方式,这时候他可能已经感觉到自己对开发技术有了进一步的了解。进而向工作流、设计模式、面向对象设计、领域驱动设计、面向服务开发等高层次进发,最后成为技术的领导者。上面只是一个比喻,但要注意的是,在学习的时期必须注意的是与同事之间沟通,很多的开发人员喜欢独来独往,开发的项目总

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301