程序员如何才能晋升为项目经理?最大的困难是什么?
程序员出身,做过项目经理,完成过两个省级政务平台的交付。踩过很多坑,也收获很多……
对于我来说,我觉得程序员转项目经理最大的困难就是难以摆脱“技术思维”……
我在项目初期做整体方案时,我会过多的考虑技术成本、技术框架、技术难点,而忽略了项目整体成本、项目周期、交付难点。
当我在项目建设期时,我的注意力总是特别容易被研发进度吸引,总是被各种软件问题和流程吸引,忽略了项目实施进度,项目风险把控,用户关系维护。
当我在项目交付期时,我总是在意软件是否有技术问题,用户体验是否到位,忽略了方案以及合同内容,忽略验收需要准备的各种材料。
总之来说就是这句话:在项目整个生命周期中,我投入了过多的精力和注意力在技术相关的工作上,而忽略了其他非技术的工作。
可能每个程序员在晋升到项目经理岗位时遇到的难点都不一样,我再列出程序员转项目经理后,最常遇到的难点,希望大家对有用。
01
心态问题
对于一个专职程序员来说,其工作是相对单一的,有产品经理把控需求,有项目经理把控项目进度,有研发经理把控研发进度,而你只需要把功能用代码实现即可。经验丰富或者岗位级别较高的程序员也会接触到部分需求确认和进度把控,但是心态大多还是一个执行者的心态。
而项目经理面对的就不仅仅是技术了,而是要面对整个项目,要经历售前方案讲解、招投标方案编写、建设方案编写、项目推进、验收汇报等等等等。同时还要接触代理商、甲方用户、硬件厂商、公司市场等诸多人员。
所以首先要摆正的是心态,当你做到项目经理这个岗位,那么以上提到的所有工作以及遇到的所有困难,你都必须先自己面对。当你有了独自面对这些事情的决心和勇气,那么才能再遇到这些工作和问题时能从容的应对。
02
站位问题
上面已经提到过了,项目交付面对的是整个项目所有相关的工作。需同时满考虑合同要求、甲方需求、公司成本要求以及项目交付质量等等条件。
所以必须提高自己的站位,并且考虑周全,才能平稳按时完成项目交付。
且不可受“技术思维”影响太大,顾此失彼。
如果说程序员是饭店里的大厨,那么项目经理就是饭店的大堂经理。
大厨只负责接到菜单后,做好每一道菜,而大堂经理则需要处理好每一桌客人的就餐。
要考虑服务是否周全、上菜是否及时、服务人员是否高效,还要照顾用餐客户的情绪和诉求。
最终还要让用户满意的付款结帐。
所以说,程序员出身的你,在做项目经理之后,一定要提高自己的站位,全面把控,多方统筹,项目才能平稳推进。
03
方案问题
写代码出身的技术人员,文笔能力大多比较差。我就是个标准的理工男,写代码没问题,可遇到写材料的工作真是一个脑袋两个大。
记得第一个省级项目,在初次沟通后需要在五天内写一个项目概要汇报材料。
我每天从早上写到晚上,从晚上熬到深夜,三天时间,我写了五页材料……
真是相当崩溃,建设背景、政策要求、政府标准、建设目标、内容……
这还是刚开始,到招投标阶段,那个上百页的材料更是头疼。
有些公司的方案材料并没有交给项目经理来写,但是一个项目经理不会写方案,那只能说你还不合格。
04
表达问题
程序员大多都内向闷骚,平日里同事间调侃、吹牛头头是道,一但见了用户就是满脸通红,结结巴巴。
我是怎么知道的? 被甲方用户批评多了,脸皮厚了,练习多了,自然就会了……
对于解决表达的问题,我目前是没有发现太好的办法,我的方法就是硬着头皮上。
经历的多了,沟通的多了,自然就自信了,熟练了。
当某个时刻你发现你不管遇到再难缠的用户或者级别再高的领导,你心里都不慌了。
那才是你真正提升表达能力的开始。
05
沟通问题
前文说过,项目经理要面对各种人员,沟通能力也是必备技能。
我个人的经验其实就是俩字,利益。
在跟任何人沟通时,一定要考虑对方的利益,站在对方的立场上,在考虑对方利益的前提下再提自己的要求,你会事半功倍。
比如:跟用户讨论产品时,不要从你的软件功能谈起,要从能解决用户的难点和痛点谈起
比如:跟厂商协商合作时,不要从你的诉求谈起,要从厂商在项目中想要的利润谈起
比如:跟领导汇报工作时,不要从方案谈起,要从领导想要的政绩谈起
好的,篇幅有限,不可能讲的太细,有问题的小伙伴可以关注或者私信。