如何从一个程序员成长为一名软件项目经理?不同的人可能有不同的环境不同的机遇,或者先后有不同,也有些路线也不同。有些人可能一年,有些人可能要花五年时间,看个人的机遇及所处环境。但通常情况下,要成为一名软件项目经理的路径一般为:普通程序员-项目组长-项目经理这样的路径,当然具体的单位有些差异,还有看自己是否有心和努力。
程序员作为项目经理需要负责整个项目在预算范围内按时优质地完成,并使客户满意。所以这样一看就基本明白项目经理要总揽项目全责,需要做好哪些事情,需要具备哪些能力。软件项目经理不需要事必躬亲,但要全局把控,大概具有以下几个方面的能力:技术能力,计划能力,组织协调能力,领导能力,控制能力等。有些能力在普通项目经理,高级项目经理之间只时能力程度或涉及的能力范围有差异。所以在普通程序员岗位上首先得练就比较拿得出手的技术能力,因为软件行业项目经理基本上是和高级技术工程师一肩挑的,没有过硬的技术能力,那么今后独立承担项目时,核心的项目框架你就会受制于人(比如技术工程师)。单位内部的竞争也并不小,一有短板也许机会就不属于你了。
软件项目经理下一步就是如何晋升为项目组长训练计划能力,组织协调能力,控制能力,领导能力。在项目组长的位置上承担的是项目一小部分,比如子功能模块。项目组长如何计划承担的子功能模块,如何分配任务和内部人员的协调及对外部人员的协调。有可能还会涉及到如何控制该子功能模块的成本(这部分可能项目经理已经预算好了),如何管理该子功能模块的进度质量以及小组人员的管理等等。
程序员晋升项目经理当然项目小组长涉及的范围可能还是有限,还要学习整个项目是如何从开始到结束,人员调配,项目成本及利润预算等。比如从市场或客户调研,到设计,到开发,测试,客户现场培训上线,怎样和客户交流,如何控制项目的范围,如何预算项目的成本等等。只要多经历几个项目大概就会知道项目的各个环节是怎么做的,然后实践积累经验,只要有机会就有可能晋升为项目经理的。这只是一个大概的描述,从程序员到项目经理是一个很大的转变,包括思维上的,行动上的。