`

从程序员到项目经理:思维一换天地宽

阅读更多

从程序员到项目经理:思维一换天地宽

程序员和项目经理是两种完全不同的岗位,工作方式也大不一样。以前是一个人单干,现在是团队一起干,以前是自己亲自干,现在是指挥别人干,这是一种巨大的变化。要适应这种变化,首先必须要转换思维模式。思想决定行为,思维模式就好比在陌生城市找路用的地图,拿着过时的地图,自然无法到达想去的目标。思维不换走老路,思维一换天地宽。

1.从单干到群干

从程序员到项目经理,不只是职位的变化,其工作性质也发生了根本性改变,简单的说,是一个从单干到群干的过程。

严格来说,程序员并不是单干,他们也是在团队中,需要具有团队合作的精神,但其实程序员的工作具很强的单干的特征。在项目中,程序员的基本工作,也就是完成项目经理分配的开发任务,而这些开发任务,是项目经理或团队进行工作分解后的小的工作包,是一个确定的功能点,一个人足可以胜任,因此程序员只需要自己构思、自己编码就可以了,并不需要很多人一起来合作完成。

项目经理不一样,他面临的不是某个确定的功能点,而是整个项目,无法一个人完成,必须要整个项目组齐心合力一起来做,这就是群干,也就是团队作战。项目经理不只是自己需要团队精神,更要能够激发其他人的团队精神。

我们看一看程序员和项目经理两种角色的比较:

 

角色

主要特征

目标

主要工作

合作

技能要求

程序员

单干

完成项目经理安排的开发任务

编码

要求具有团队精神,能与其他人合作完成任务

开发能力

项目经理

团队作战

“快好省”实现项目验收,并使各方满意

制定计划、指导和安排工作、项目监控、团队建设等

使团队更具有合作精神,建设凝胶型团队

领导力(管人)

执行力(理事)

 

正如黄健翔的名言说的一样:“你不是一个人在战斗!”项目经理要时刻记住这一点,不要只顾自己闷头编码。只有学会发挥团队的力量,才能管好项目,成为一名真正合格的项目经理。

2.为什么软件企业人难管

从单干到团队做战,项目经理最大的变化就是以前只需要管自己一个人,现在你要管一个团队,以前独善其身就可以了,现在要兼济他人了。可以说,项目经理最重要的一项工作就是管人。

但是软件企业的人是出名的难管。软件公司的经理管人有两难,一是留人难,人才流失成了很多公司的心病;二是用人难,要把程序员用好,把大家的潜力发挥出来,决非易事。

(1)留人难

每年春节过后大约三月份,是很多软件公司的人力资源部经理最“兴奋”的时候,一方面他们要大量招人,另一方面,大量程序员辞职流失,让他们叫苦不迭。

程序员的离职率高,一直是行业的普遍存在的问题。据前程无忧网站2012提供给《中国经济周刊》的信息表明,IT行业人才流失率高居所有行业的首位。另外据CSDN的一份调查显示,43.6%的开发者在5年内换了3份以上的工作,这么高的跳槽频率真是让人瞠目结舌。我们不禁要问,为什么程序员这么“喜欢”跳槽呢?

我曾经接触过数以百计的人员离职,根据对他们的分析,我将程序员离职的主要原因分为三种:

表 程序员离职原因分析

 

类别

原因

分析

行业原因

程序员就业情况比较好

既然选择多,也就没有必要担心离职问题了。

行业不成熟

很多软件企业生存艰难,大部分软件企业给员工提供的薪资福利有限。 

行业内“贫富差距”大

少数优秀的公司如阿里巴巴的高薪,导致程序员这山望着那山高,影响了员工作稳定性。

公司原因

人际关系紧张

人人都向往愉快、和谐的工作环境。

对公司前景没有信心

如果说公司是大海中的一条船,没有人愿意待在一条没有方向,船身也破破烂烂、摇摇晃晃的小船上,不如趁早离开,找一条更大更坚固的船。

晋升机会少,个人能力得不到发挥。

   良禽择木而栖,既然英雄无用武之地,那也没有必要在一棵书上吊死。

工作压力太大,或长期出差

要钱也要命啊。为了工作可以忍一时之苦,但长期搏命,那就要考虑值不值得了。很少有公司真的把员工当作家庭成员,那只是说说而已,同样也不要指望员工真的把公司当成自己的家,把公司的事当成自己的事

个人原因

期望获得更高的薪酬

跳槽是公认的涨薪最快的方式。

想换多换几个公司,多学一点东西,开阔视野

自己有一身武功,到哪里都会吃亏。在一个小环境中待久了,不了解外面的世界,能学到的东西也有限。

有些人抱着“此处不留爷,自有留爷处”的想法,不认真对待工作

既然这样,公司也不会认真对待他们,更加不会委以重任,最后他们也就边缘化为可有可无的人物了,跳槽也就成了唯一的出路。

 

以上枚举显然不能穷尽所有的问题,但能抓住主要原因就可以了。

这么多问题中,最重要的还是薪资问题。据《北京青年报》的调查显示,“职业收入高低”是促使人们跳槽和选择新职业的首要原因。然而在这一问题上,公司其实也有其苦衷。

很多人从学校毕业,对开发基本上一无所知,经过在公司一年多的培训学习,取得了巨大进步,个人能力提升很快,此时必然对薪资要求也比较高,这是可以理解的。然而,站在公司的角度,这一年你基本上还谈不上什么贡献,公司却付出了较大的成本,大幅加薪一时难以接受,难道我把你招进来就是为了培训然后再涨工资干活吗?你也许会认为公司非常短视,这样的公司不待也罢,殊不知,软件行业看似光鲜,其实大量的企业挣扎在生死线的边缘。据工信部统计,2011年上半年我国软件行业利润仅占软件业务收入的1.28%,这么低的利润率,能活下来就是成功,对公司提出过高的要求也是不现实的。

在这一场博弈中,没有谁对谁错,但公司肯定是受伤的一方。真正将员工利益与公司利益统一起来的凤毛麟角,大部分公司里,公司和员工就像一对冤家,虽然互相需要,却又矛盾重重。

当然,其实公司也应该转变思路,不要总抱着我培养了你、你应该感谢我的心态,在程序员进步巨大的情况下,还是要给员工相应的薪酬,真正留住人才,毕竟软件项目禁不起人员剧烈变动的折腾,从长远来看,公司还是划算的。

(2)用人难

留人难,用人更难,要把程序员用好,则是难上加难。员工用得好,每个人都奋勇当先,以一当十。用得不好,员工死气沉沉,没有朝气和干劲。在我所见过的软件项目中,虽然有不少程序员工作主动积极、富有效率,但更多的是缺乏激情、消极怠工、甚至不服从项目经理工作安排情况。

为什么软件开发人才就这么难用呢?这是由多方面的因素所决定的:

●软件开发的特点

软件产品有一个非常显著的特征,就是它是一种无形的东西,在生产过程中看不见也摸不着,完成以后可以看到运行效果,但你还是无法知道它是不是一个“豆腐渣工程”。它里面暗藏的问题也许若干年后才能看到,也就是说它的质量评价非常困难。这与传统的制造行业有着非常大的差别,比如你是造一栋房子,生产过程中我们就能看到它的结构设计是怎样的,它的地基是不是够牢固,它有没有用“牙签钢筋”等等。

第二个重要特点是对人的依赖性非常大。同样的一个功能点,由不同的程序员来做,所花的时间可能会相差很远,比如有经验的人来做可能只要1天,没经验的人来做,可能1周甚至1个月都完成不了,做出来的质量也可能有天壤之别。即使是同一个人,由于其工作状态的差别,也会产生巨大的差异,如果主动积极做,可能只要1天,消极怠工的做,就无法预期了。这样的情况,在传统行业是无法想象的,只要按规定的程序和规范来做,即使换一拨工人,也可以在同样的时间建造出来,建出来的房子的质量也不会相差太远。要知道,再烂的挖土机也能挖出一个大坑。

总之,软件开发存在非常多的不确定性,非常依赖于每一个开发人员。虽然管理专家们发明了很多方法企图来减少这种不确定性,减少对人的依赖,让软件开发像传统行业一样变得可控,但迄今为止,仍然没有一个通用的行之有效的方法,专家们也不得不无奈的发出“没有银弹”的感慨。

● 程序员的个性比较强

不得不承认,与其它行业人员相比,程序员显得更加内向、不合群,有些人自视甚高,看不起别人。他们做事冲动、不服管,也就不足为奇了。

●程序员的想法比较多

程序员都很聪明,对自己的期望值也很高,不会满足于现状。有想法本来是好事,但人人都很有想法时,经理就没那么好当了,没有高超的领导技能是难以应付的。

综上所述,软件企业对人的依赖性非常强,却又面临着留人难和用人难这样两难的困境。要解决这些问题,一方面要求软件企业真正要做到以人为本,另一方面也对管理者提出更高的要求。

3.转换思维提升领导力

留人难、用人难,难道我们真的就无能为力了吗?这两难困境中,有行业原因、有公司原因,对于这些,作为项目经理也许力不从心;但也有程序员的原因和项目经理自身的原因,对于这一类问题,项目经理并非无能为力。即使在同一个公司,不同项目组中的人员流失情况、团队士气也会有很大的差别,这说明项目经理完全是可以有所作为的。对于有强大领导力的项目经理而言,人员的流失率会更小,工作效率会更高。要提升领导力,首要的是转换思维。

在前面博文中曾介绍了管理的五大思维:以目标为中心的思维、整体思维、平衡思维、以人为中心的思维、团队思维。其中前面三项与理事有关,而后面两项与管人有关。下面我们对这两种思维进行详细的解析:

表 管人的两大思维

 

思维

主要观点

分析

以人为中心的思维

软件产品主要取决于人

虽然流程、规范也很重要,但软件产品的质量,项目的进度、成本等因素,更多取决于每个人的技能与投入程度。

人的潜力是巨大的

一个人的能力就像海上的冰山,项目经理无所作为,你得到就只是露出水面的那5%。一个优秀的项目经理可以通过其领导力,将员工的潜力挖掘出来。

人是有感情的

员工绝不是木头,可以随便搬来搬去,搬到哪里都是一块木头。首先项目经理不可以做伤害下属感情或面子的事情,进一步可以利用这一点,适当使用感情牌,提高团队的凝聚力。

人是有动机的

员工可以努力工作,但这有动机的,要学会分析、利用员工的动机,并采用合适的激励手段。

人与人之间是有差异的

每个人在能力方面和思维方面均存在差异。这一方面要求项目经理不能吹毛求疵,要容忍员工的不足,另一方面,项目经理不能一味以己之心,度人之腹,要尊重人的个性思维。

团队思维

团队的力量可以是1+1>2,也可以是1+1<2

“三个和尚没水吃”,这是典型的1+1<2,其根本原因是他们之间没有建立坦诚相待、团结合作的关系。一个项目团队也是如此,不要以为人多就力量大,那还要看项目经理会不会领导团队,会不会用人。

团队成员之间相互影响

近朱者赤,近墨者黑。正面的情绪也会给别人施加正面的影响,不好的因素同样会扩散,而且会更快、影响更大。因此,项目经理必须要带动正能量,并注意将那些负面的东西扼杀在萌芽状态。

团队之间的协用程度是团队战斗力的关键

团结就是力量。一个木桶能装多少水,不仅取决于每块木板的长度,还取决于木板之间结合是否紧密。项目经理的领导力,就是木板之间缝隙的粘合剂。

项目经理在团队中起着至关重要的作用

一头狮子领着一群羊,要胜过一只羊带着一群狮子。项目经理是团队的核心,他在团队中起着协调作用、激励作用、榜样作用,可以说他直接决定了团队的战斗力。

 

可以看出,这种以人为中心的思维和团队思维,真正体现了以人为本的思想。它们与程序员的机器思维、单干思维大相径庭。许多项目中的问题,就是由于项目经理的思维还停留在程序员阶段造成的。

管理学之父彼德.德鲁克说:“管理是一门反映人的内心,与人性息息相关的科学。”项目经理只有跳出程序员思维的局限,实现思维的转换,尊重人性、遵循人的社会法则,才能真正把人留住、用好,项目团队才能具有更强的战斗力。

 

4.项目经理也是人事经理

在管人的方面,除了要建立上面两大思维之外,还要提高一项认识,那就是项目经理其实也是整个团队的人事经理。

很多项目经理对下属关注的重点往往是他有哪些具体技能,比如他有几年工作经验,他会用JQuery吗,熟悉NHibernate吗等等,而对于项目组成员培训、薪资、离职这些事情,则认为统统是部门经理或人力资源经理的事情。如果将问题交给人力资源部,需要跨部门协调,比较麻烦,因此干脆直接全部推给部门经理。

我担任部门经理的时候,曾无数次遇到这样的情况:

项目经理找到我说:“经理,某某要辞职了,帮我安排一个人。”

“你跟他谈过没有?”我问道。

“还没有。”

“他为什么辞职?”

“还不清楚,可能是工资问题吧。”

我找员工沟通过之后,原因自然是五花八门,有要求加薪的,有抱怨环境的,还有跟项目经理合不来的,不一而足。经过多轮沟通,该开导的开导,有合理要求的尽力帮助争取,还有一部分可以承诺延迟满足,或者用前景来“诱惑”等等,采取这些方法之后,还是有不少人愿意留下来继续做的。其实,大部分辞职的人并不是喜欢换工作,而是有一个心结,需要上司来帮他打开。

其实我做的这些工作,项目经理一样可以做。项目经理与员工朝夕相处,要时刻关注员工的动态,发现异常情况,及早介入沟通,也就不需要其上司费尽心力了,而且员工可能根本不会走到辞职这一步,沟通效果会更好。

项目经理还有一个普遍存在的误区,就是在评价下属时,习惯于说某某不听话、不好管。殊不知,一个员工好不好管,其实也取决于项目经理本人的态度和做法。一个看似不好管的员工,经过引导,同样可以成为项目的骨干,这样的例子屡见不鲜。

所以项目经理在碰到管人的难题时,不要再总是想“这个我管不了”、“那个我没办法”,而应该抱着“我也是人事经理”这样的心态,主动沟通、想办法。如果经过分析或者努力后,确实需要上司出马的,才去请上司来帮忙解决。直接把问题丢出去,当然是最简单,但这样做一方面你在团队中的威望会受到影响,项目的凝聚力下降,另一方面你的个人价值也大打折扣。

5.打造“凝胶型”团队

著名职业经理人唐骏说,管理的任务就是“造一条船,然后让船划起来”。对项目经理而言,我们已经有了一条船——就是项目团队,现在的任务要把它划起来。

软件质量之父沃兹.汉弗莱曾经提出,一支高效的团队应该是一种“凝胶型”的团队。在这样的团队中,大家有着清晰的共同目标,彼此合拍,每个人都全身心投入,团队显示出超常的战斗力。

我曾有经过一次项目灾难拯救的经历,这一段时间我真正体会到了凝胶型团队的力量。项目上线后发现软件运行效率极低,故障不断,人人疲于奔命,客户发出最后通牒,三天之内搞不定就下线。在这种情况下我临危受命,临时接管项目。接手后我主要做了以下几项工作:

1.找出当前影响最大的几个问题,采用头脑风暴法一起找出解决方案,在短时间内让客户体验有较大改善,让客户重拾信心,然后不失时机安抚客户情绪;

2.每天客户下班后开会,与项目组成员一起进一步研究项目存在的问题,按轻重缓急做成任务列表,制定阶段目标,并检查上一阶段完成情况,更新任务列表;

3.向公司申请了充足的经费,保障后勤,改善工作环境和吃、住条件,解除后顾之忧;

4.与团队一起加班加点,一起分析问题,并亲自完成一些力所能及的功能修改。

有随后一段时间里,项目团队的状态让人难以置信。项目组虽然夜以继日的工作,却没有一个人说出一句怨言。其中一位同事才刚当上爸爸一个星期,就驻现场无法回家;还有两位同事的女朋友半夜打电话过来,他们只能躲在一边苦苦安慰;还有一位同事,由于个人原因早先已经申请了离职,仍然与我们一起奋战到最后一刻…… 经过一个多月辛苦修改完善,项目总算彻底摆脱了危机,项目组高高兴兴打道回府。

在这一次经历中,虽然大家都很辛苦,但每个人都过得很充实。大家同心合力,每个人都贡献了自己全部的智慧和力量,也都做到了以前难以想象的事情。

我为什么举这个一个非正常项目(陷入灾难)的例子呢?这是因为要建设一个真正的凝胶型团队非常不易,不只是依赖于项目经理和每一位成员,还与公司的制度、氛围、项目的任务特点等多方面的因素密切相关。在这个例子中,项目灾难显然也是激发大家战斗力的一个重要因素。不过,即使是不能完全做到,但通过项目经理努力,还是可以近似实现的。

根据项目经理团队中充当的角色和发挥作用的不同,凝胶型团队可以分为两种,即星型和网络型,如下图所示:

 


图 两种“凝胶型”的团队
● 星型

项目经理处于中心位置,好比一颗红太阳,把大家吸引在自己的周围,整个项目组依靠项目经理领导力团结在一起。这要求项目经理个人能力极强,富有魅力,具有绝对的权威。星型团队的决策方式常常是这样的:项目经理收集意见,项目经理决策,再反馈给大家,或者由项目经理单独决策,再分发给大家。

● 网络型

网络型的团队中,项目经理看似在其中不占主导地位,项目经理的权威被弱化,实则项目经理的对团队的控制已经内化到每个人的潜意识之中,达到了一种近似于“无为而治”的境界,因此对项目经理的要求更高。

这种团队的决策方式一般采用民主制或民主集中制。把大家联结在一起的不只是项目经理领导力,更是富有挑战性、具有吸引力的目标,以及共同的认识和价值观。项目经理往往是外柔内刚,能够不动声色,于无形中实现对项目掌控。

能够建成星型团队的项目经理已经寥寥,能做到网络型更是可遇不可求。不管有多难,目标不能丢。我们就好比是一群已经出发的登山者,来到了山脚下,怎么能够因为看到山太高太难爬就放弃攀登呢?

 

from   http://developer.51cto.com/art/201211/364725.htm

分享到:
评论

相关推荐

    程序员第二步:从程序员到项目经理

    针对文件信息,接下来的内容将基于“程序员到项目经理”的职业发展路径进行详细的知识点阐述。 首先,程序员与项目经理虽然都属于IT行业中的职位,但他们的工作职责、技能要求、以及日常活动有着根本的不同。程序员...

    从程序员到项目经理:让员工为目标而干活.doc

    【标题】与【描述】提及的是从程序员转型到项目经理的过程中,如何有效地管理和引导团队,让员工为共同的目标努力。文档中的主要内容围绕着目标在项目管理中的核心作用展开,以下是相关知识点的详细说明: 1. 目标...

    从程序员到项目经理

    作为一个程序员,你的职业生涯可能会经历从编码到管理的转变,而这个转变的核心角色就是项目经理。项目经理不仅是技术团队的领导者,更是项目成功的关键人物。在这个过程中,你需要掌握一系列技能和知识,包括但不...

    程序员到项目经理:从内而外的改变和提升.docx

    【程序员到项目经理】的转变是IT职业生涯中一个重要的里程碑,涉及到角色、责任和思维方式的重大变化。从技术专家转变为团队领导者,意味着需要从关注代码细节转向管理项目整体,协调团队资源,确保项目按时按质完成...

    程序员第二步 从程序员到项目经理--高清版.pdf

    从程序员到项目经理的转型是一条在职业发展过程中常见的晋升路径。程序员通常具有一定的技术背景和编程经验,而项目经理则要求具备更多的管理和协调能力。这一转变涉及到多个方面的技能提升,从技术知识到团队合作,...

    程序员的数学4:图论入门.pptx

    在有向图中,边的两端连接到两个节点,但方向是从一个节点指向另一个节点。在无向图中,边的两端连接到两个不同的节点。 图的表示方法有多种,包括邻接矩阵和邻接表。邻接矩阵是一个矩阵,其中每个元素表示两个节点...

    图灵书籍(程序员第二步:从程序员到项目经理.pdf+Node即学即用.pdf)

    《程序员第二步:从程序员到项目经理》这本书,主要探讨的是程序员如何在职业生涯中实现角色转变,从编写代码的技术人员晋升为管理项目的领导者。书中可能涵盖了以下几个关键知识点: 1. **项目管理基础**:讲解...

    程序员成长路线图:从入门到优秀

    程序员成长路线图:从入门到优秀 程序员成长路线图是 IT 行业中一个非常重要的主题,作为一个 IT 行业职员,我经历过一个普通程序员成长的过程,同时也接触过许多不同层次的程序员。他们或在我身边匆匆而过,或与我...

    程序员和项目经理职场经验杂谈

    在IT行业中,程序员到项目经理的转变是一个从技术专精到管理协调的转型。本文通过一位项目经理的亲身经历,分享了他在职场中的点滴故事,揭示了如何从一个普通的菜鸟程序员逐步发展为一名有影响力的项目经理。这个...

    程序员到项目经理

    【程序员到项目经理】的主题探讨的是IT从业者如何从技术岗位转型到管理岗位,即成为项目经理的过程。这个转变不仅仅涉及技能的升级,更是一个从内在态度到外在能力全面转变的过程。 1. **为什么要当项目经理** - ...

    从程序员到项目经理.doc

    从程序员到项目经理.doc

    [程序员的思维修炼:开发认知潜能的九堂课(中文版)].(Andy.Hunt).崔康.扫描版

    [程序员的思维修炼:开发认知潜能的九堂课(中文版)].(Andy.Hunt).崔康.扫描版

    程序员&项目经理

    从程序员到项目经理的角色转变,不仅仅是技术能力的提升和职责的扩展,更是一种思维方式的转变和综合素质的提升。程序员主要负责的是软件开发、编写代码、调试程序以及相关技术工作,而项目经理则需要具备全局观,对...

    程序员成长路线图:从入门到优秀.pdf

    ### 程序员成长路线图:从入门到优秀 #### 一、程序员的梦想与现实 ##### 1.1 程序员的梦想——中国的比尔·盖茨 在IT行业中,很多程序员都有着一个共同的梦想——成为中国版的比尔·盖茨。这种梦想不仅仅是对...

    程序员成长路线图 从入门到优秀

    程序员成长路线图 从入门到优秀

    程序员的思维修炼:开发认知潜能的九堂课

    《程序员的思维修炼:开发认知潜能的九堂课》是一本专为IT从业者设计的书籍,旨在提升程序员的思维能力和开发潜力。这本书的核心是通过九个主题课程,帮助程序员解锁并提升自己的认知潜能,从而在编程和软件开发过程...

Global site tag (gtag.js) - Google Analytics