1. 请问一个程序员,怎么进化到一个项目经理
那得看你是不是有这样的志向了,如果你的目标是成为项目经理,那么你现应该做的就是开始关注项目开发的全过程。
程序员和项目经理是两个工种,这一点你一定要清楚,只有思想先转变了,人才有可能跟着转变身份。
程序员是技术工作,主要承担的是项目中某一部分的具体任务,完成某些需求,去把代码都敲完,保证测试的时候不出问题,没有BUG,也就够了,别的事不用操心,也用不着一个程序员去操心;作为程序员最多就是学点新技术,可以更快更好的完成自己那摊任务即可。
项目经理是管理岗,至少理论上是这样的,不过现在很多软件开发工司的项目经理多半也是一个项目组里的技术骨干,其实这也没有什么不行的,只不过想做好项目经理,仅仅懂技术是远远不够的。
项目经理的工作更多的是协调内外关系,确保项目可以按期合格完成。协调则是主要工作,内部 ,需要协调项目组里各工种之间的工作,让大家可以配合起来更高效的完成工作;同时还要和公司进行协调,比如人员的借调或者资源的调配,琐事更多一些。
与此同时还要和项目的建议单位进行协调,因为人的沟通是不可能百分百理解的,项目开发更是如此,对于很多细节上的问题,都是应该由项目经理去和建议单位协商的,若沟通不畅后续将面临着很多设计变更的问题,会耽误时间与资源。
所以如果你想成为项目经理,在忙完自己程序员的工作之后就多留心去学一些管理方面的知识吧,以备哪一天的荣升之机。
2. 从一名程序员过度到项目经理
从一名程序员过度到项目经理
1.从程序员到PM,是一条脱变的路,事实上程序员走的路最终不应该是项目经理。首先有一点需要明白的就是,一定规模的项目中,项目经理不需要太懂技术,他可以是一知半解。项目经理的任务不是在技术方面,技术相关的应该交给SA去做。项目经理更多地是做管理,沟通等工作,你如果可以的话到书店查看一下关于项目管理的书籍,你就会明白。当然对于小项目来说,有可能是PM,SA是同一个人,而这样的项目经理更多只是SA加上一些管理工作。要做项目经理,你就首先告诉自己不再去碰技术细节了。程序员并不是一个培养项目经理的好环境。所以没有什么从Coder到什么developer再到SA然后是PM的路,这是一条比较悲哀的路。在大公司,SA下一个目标不是PM,而consultant,然后是seniorconsultant,PM走的是另一条路,所需要的技能不是技术,技术给PM带来的能力提升是很少的。在项目中你最后能分清楚PM与SA的关系及各自在项目中的分工与用途。
2.其实我蛮同意gzlucky(Lucky)的看法的,确实是我们公司不少项经理就是不很能跟得上现在的一些技术,因为很多人都快年近四十,儿子都上高中了,要他们再学新技术真的难度比较大,他们的工作基本上就是天天找手下的程序员,布置这个任务,询问那个任务做的怎么样了。不过我的头倒是和我一样编程,他手下写代码的就我一个人,他自己也会ASP和JSP,但是可能对。NET不熟,就由我来主负责了。我觉得项目经理还是像他这样的好,自己也能懂不少技术,可以服人。但是我的头儿好像在沟通这一块不是非常出色,当然也有可能是俺太内向,不太与他沟通,所以他也只是在交待任务后就不再多询问,而不像别的项目经理天天追程序员后头问。我想问问各位,你们看哪种项目经理才是比较好的,像我的头儿这样的,还是像某些喜欢追程序员后面问进展的。
3.原来在一个小公司做过半年的.DM,一年的PM,后来为了让自己的技术更扎实一些,离开了原来公司,现在在大公司做程序员,开始后悔了,在大公司里很难接触管理方面的东西,也很难晋升,个人认为在小公司做DM,PM,有经验后直接找大公司的PM,这样也是一条路。
或者考PMP之类的证书,然后直接找管理的工作。
希望过来人能给予更好的意见和建议,我也现在想往管理层发展。
技术很硬了再去做PM,这种想法是错误的,我就犯了这个错,边搞好技术(为了生计)边学管理知识(为了将来),慢慢向管理发展,不能等。有句话说的好,机会是属于那些有准备的人的。利用业余时间多学些管理方面的东西,所谓人的差异在业余时间。
要走向管理层,英语一定要学好。
沟通很重要,要做好管理者,先学会做人。多跟下属沟通,多为下属着想,而不要去巴解讨好上司。体谅下属,把项目计划做的尽量合理,不要让下属加班,给下属发展和晋升的空间,这样才能是下属有干劲,才能把项目做好,你才有更高的升迁机会。
只有把自己知道的不断的让你得力下属知道,只有提拔起一些得力的下属来,你才有时间和精力去向上爬,不然你抱着不放,就没有升迁的机会。
管理不是喝酒抽烟那么简单,那只是过去的那种不思上进,耽误自己前程。
吃尽苦中苦,方为人上人。
做PM不是混,是要把项目做好,这跟做人是一个道理,这也就是为什么做管理要先学会做人的道理。
pm的整个工作重点是什么?如果做为一个PM,技术不高怎么对付组里的牛人
我们经常会因为公司里的顶尖人才、个性化太强,不能与其他人合作而感到棘手,要解决这一问题其实也是有法可寻的。
一、在肯定其价值和优势的前提下,明确地制定改进的目标;
二、顶尖人才能够面对中肯的,明确及一对一的批评作正面反应,所以要加强与他沟通的力度;
三、可以根据具体情况调整考核目标,加强与其他员工合作的内容;
四、把"顶尖人才"调到相对能独立发挥其才能的岗位,减少与别人发生矛盾的机会。
;
3. 3年程序员辞职去应聘当项目经理,没经验如何才能被认可
你这个最好是腔庆考个证,诸如项目经缺圆哪伏码理证书之类的,因为我有个朋友和你一样,开发干了3年,想做项目经理,但是你去面试项目经理的时候,有一定的项目经验再加上一个证书,应聘的机会大些。
4. 如何从程序员做到项目经理
经验决定一切。。有任务能合理安排,对整个项目流程熟悉,有技术问题能解决,这一切的一切都需要经验积累。。这些经验书上是没有的,楼主做程序做到一定年龄,就行了
5. 刚出来实习的程序员可否胜任项目经理,如何当好项目经理
可以!做好一个项目经理要有组织能力,会沟通,能责任感,能承受压力
6. 程序员如何成为一名合格的项目经理
千万不要在进行需求分析阶段就先进行编码工作,也许你觉得这些模块和具体的业务功能无关,可以直接进入编码阶段,但是你要知道,在这个阶段进行编码工作会使你忽视了对需求的理解和分析,而且并不见得你现在完成的代码模块百分之百适合未来的业务系统,万一有偏差,那就是得不偿失了,在需求分析和系统设计上多花一点时间,会为以后的工作减少很多麻烦。所以在项目管理过程中,我认为最为保险的办法就是严格按照软件开发流程规范来开展工作,虽然这样会相对比较繁琐,但是在很大程度上保证了我们项目的成功率。
有经验的项目经理都说自己是打杂的,所以,你要明白你不再是一个coder,项目组中大大小小的事情都要你去处理,你需要学会主动和小组成员加强沟通,从工作和生活等各个方面加以关心和帮助,这样会使团队气氛更加融洽,提升团队成员对你的信任度,在很大程度上能缓解大家的工作压力,我们倡导的是快乐工作,而不只是为了工作而在一起工作。不要认为自己和团队的成员只是工作关系,同时,他们也是你的朋友。如果你是一位性格内向的项目经理,那么,你应该让自己开朗点,不要因为自己的性格而让整个团队变得很沉闷,那样大家工作起来会感觉非常痛苦。
作为项目的管理者,你不仅仅是被人领导,而是还有一个团队需要你去带领,当他们请教你的时候,你有责任和义务去帮助他们解决,或者给他们指定找谁解决,而不应该因为自己不会而一走了之。同时要学会培养团队中的成员,放开手,大胆的让他们去做,不要认为教他们完成任务还不如自己亲自动来得快,那样你只能做一名程序员,而且越做越累,要知道,还有更多更重要的事情等着你去做。
我建议每一两天应该组织项目组成员开一次讨论会,否则,项目组成员之间谁也不知道谁在做写什么功能。和大家谈谈项目的进展,了解下大家目前遇到的困难和工作进展,适当调整项目组成员之间的工作分配。而不是在项目前期安排了任务后,后期的工作任务不根据项目的实际情况进行调整,等到项目后期时,大家同时抛出很多问题,这样会让你束手无策,一片混乱。所以要及时举行项目讨论会,学会灵活得安排工作任务,没有谁规定一个项目的所有工作任务只能安排一次。
其实作为基层的管理者,要管理好团队相对还是比较简单的,我认为只要和同事之间的关系处理得足够融洽,就意味着你的管理已经成功了一大半了,都说做人比做事重要,相信这一点没错的,但是管理走向更高的层次,就需要你学习一些比较专业的管理学方面的知识了,这段时间在看《从技术能手到管理高手》这本书,我觉得非常适合从程序员逐步转向管理的朋友阅读,但不能照搬书上的条例,要结合自己的实际工作环境,消化吸收之后,再用于实践才是最好的。前段时间CSDN上一位牛人阿朱出了一本书叫做《走出软件作坊》,我只是看了书中的目录和部分内容,从同行的评价来看,我想这本书应该是值得一读的,哈哈。
7. 从程序员到项目经理(17):你不是一个人在战斗--思维一换天地宽
程序员和项目经理是两种完全不同的岗位,工作方式也大不一样。以前是一个人单干,现在是团队一起干,以前是自己亲自干,现在是指挥别人干,这是一种巨大的变化。要适应这种变化,首先必须要转换思维模式。思想决定行为,思维模式就好比在陌生城市找路用的地图,拿着过时的地图,自然无法到达想去的目标。思维不换走老路,思维一换天地宽。
1.从单干到群干
从程序员到项目经理,不只是职位的变化,其工作性质也发生了根本性改变,简单的说,是一个从单干到群干的过程。
严格来说,程序员并不是单干,他们也是在团队中,需要具有团队合作的精神,但其实程序员的工作具很强的单干的特征。在项目中,程序员的基本工作,也就是完成项目经理分配的开发任务,而这些开发任务,是项目经理或团队进行工作分解后的小的工作包,是一个确定的功能点,一个人足可以胜任,因此程序员只需要自己构思、自己编码就可以了,并不需要很多人一起来合作完成。
项目经理不一样,他面临的不是某个确定的功能点,而是整个项目,无法一个人完成,必须要整个项目组齐心合力一起来做,这就是群干,也就是团队作战。项目经理不只是自己需要团队精神,更要能够激发其他人的团队精神。
我们看一看程序员和项目经理两种角色的比较:
正如黄健翔的名言说的一样:“你不是一个人在战斗!”项目经理要时刻记住这一点,不要只顾自己闷头编码。只有学会发挥团队的力量,才能管好项目,成为一名真正合格的项目经理。
2.为什么软件企业人难管
从单干到团队做战,项目经理最大的变化就是以前只需要管自己一个人,现在你要管一个团队,以前独善其身就可以了,现在要兼济他人了。可以说,项目经理最重要的一项工作就是管人。
但是软件企业的人是出名的难管。软件公司的经理管人有两难,一是留人难,人才流失成了很多公司的心病;二是用人难,要把程序员用好,把大家的潜力发挥出来,决非易事。
( 1 )留人难
每年春节过后大约三月份,是很多软件公司的人力资源部经理最“兴奋”的时候,一方面他们要大量招人,另一方面,大量程序员辞职流失,让他们叫苦不迭。
程序员的离职率高,一直是行业的普遍存在的问题。据前程无忧网站2012提供给《中国经济周刊》的信息表明,IT行业人才流失率高居所有行业的首位。另外据CSDN的一份调查显示,43.6%的开发者在5年内换了3份以上的工作,这么高的跳槽频率真是让人瞠目结舌。我们不禁要问,为什么程序员这么“喜欢”跳槽呢?
我曾经接触过数以百计的人员离职,根据对他们的分析,我将程序员离职的主要原因分为三种:
表 程序员离职原因分析
以上枚举显然不能穷尽所有的问题,但能抓住主要原因就可以了。
这么多问题中,最重要的还是薪资问题。据《北京青年报》的调查显示,“职业收入高低”是促使人们跳槽和选择新职业的首要原因。然而在这一问题上,公司其实也有其苦衷。
很多人从学校毕业,对开发基本上一无所知,经过在公司一年多的培训学习,取得了巨大进步,个人能力提升很快,此时必然对薪资要求也比较高,这是可以理解的。然而,站在公司的角度,这一年你基本上还谈不上什么贡献,公司却付出了较大的成本,大幅加薪一时难以接受,难道我把你招进来就是为了培训然后再涨工资干活吗?你也许会认为公司非常短视,这样的公司不待也罢,殊不知,软件行业看似光鲜,其实大量的企业挣扎在生死线的边缘。据工信部统计,2011年上半年我国软件行业利润仅占软件业务收入的1.28%,这么低的利润率,能活下来就是成功,对公司提出过高的要求也是不现实的。
在这一场博弈中,没有谁对谁错,但公司肯定是受伤的一方。真正将员工利益与公司利益统一起来的凤毛麟角,大部分公司里,公司和员工就像一对冤家,虽然互相需要,却又矛盾重重。
当然,其实公司也应该转变思路,不要总抱着我培养了你、你应该感谢我的心态,在程序员进步巨大的情况下,还是要给员工相应的薪酬,真正留住人才,毕竟软件项目禁不起人员剧烈变动的折腾,从长远来看,公司还是划算的。
( 2 )用人难
留人难,用人更难,要把程序员用好,则是难上加难。员工用得好,每个人都奋勇当先,以一当十。用得不好,员工死气沉沉,没有朝气和干劲。在我所见过的软件项目中,虽然有不少程序员工作主动积极、富有效率,但更多的是缺乏激情、消极怠工、甚至不服从项目经理工作安排情况。
为什么软件开发人才就这么难用呢?这是由多方面的因素所决定的:
●软件开发的特点
软件产品有一个非常显着的特征,就是它是一种无形的东西,在生产过程中看不见也摸不着,完成以后可以看到运行效果,但你还是无法知道它是不是一个“豆腐渣工程”。它里面暗藏的问题也许若干年后才能看到,也就是说它的质量评价非常困难。这与传统的制造行业有着非常大的差别,比如你是造一栋房子,生产过程中我们就能看到它的结构设计是怎样的,它的地基是不是够牢固,它有没有用“牙签钢筋”等等。
第二个重要特点是对人的依赖性非常大。同样的一个功能点,由不同的程序员来做,所花的时间可能会相差很远,比如有经验的人来做可能只要1天,没经验的人来做,可能1周甚至1个月都完成不了,做出来的质量也可能有天壤之别。即使是同一个人,由于其工作状态的差别,也会产生巨大的差异,如果主动积极做,可能只要1天,消极怠工的做,就无法预期了。这样的情况,在传统行业是无法想象的,只要按规定的程序和规范来做,即使换一拨工人,也可以在同样的时间建造出来,建出来的房子的质量也不会相差太远。要知道,再烂的挖土机也能挖出一个大坑。
总之,软件开发存在非常多的不确定性,非常依赖于每一个开发人员。虽然管理专家们发明了很多方法企图来减少这种不确定性,减少对人的依赖,让软件开发像传统行业一样变得可控,但迄今为止,仍然没有一个通用的行之有效的方法,专家们也不得不无奈的发出“没有银弹”的感慨。
● 程序员的个性比较强
不得不承认,与其它行业人员相比,程序员显得更加内向、不合群,有些人自视甚高,看不起别人。他们做事冲动、不服管,也就不足为奇了。
●程序员的想法比较多
程序员都很聪明,对自己的期望值也很高,不会满足于现状。有想法本来是好事,但人人都很有想法时,经理就没那么好当了,没有高超的领导技能是难以应付的。
综上所述,软件企业对人的依赖性非常强,却又面临着留人难和用人难这样两难的困境。要解决这些问题,一方面要求软件企业真正要做到以人为本,另一方面也对管理者提出更高的要求。
3.转换思维提升领导力
留人难、用人难,难道我们真的就无能为力了吗?这两难困境中,有行业原因、有公司原因,对于这些,作为项目经理也许力不从心;但也有程序员的原因和项目经理自身的原因,对于这一类问题,项目经理并非无能为力。即使在同一个公司,不同项目组中的人员流失情况、团队士气也会有很大的差别,这说明项目经理完全是可以有所作为的。对于有强大领导力的项目经理而言,人员的流失率会更小,工作效率会更高。要提升领导力,首要的是转换思维。
在前面博文中曾介绍了管理的五大思维:以目标为中心的思维、整体思维、平衡思维、以人为中心的思维、团队思维。其中前面三项与理事有关,而后面两项与管人有关。下面我们对这两种思维进行详细的解析:
表 管人的两大思维
可以看出,这种以人为中心的思维和团队思维,真正体现了以人为本的思想。它们与程序员的机器思维、单干思维大相径庭。许多项目中的问题,就是由于项目经理的思维还停留在程序员阶段造成的。
管理学之父彼德.德鲁克说:“管理是一门反映人的内心,与人性息息相关的科学。”项目经理只有跳出程序员思维的局限,实现思维的转换,尊重人性、遵循人的社会法则,才能真正把人留住、用好,项目团队才能具有更强的战斗力。
4.项目经理也是人事经理
在管人的方面,除了要建立上面两大思维之外,还要提高一项认识,那就是项目经理其实也是整个团队的人事经理。
很多项目经理对下属关注的重点往往是他有哪些具体技能,比如他有几年工作经验,他会用JQuery吗,熟悉NHibernate吗等等,而对于项目组成员培训、薪资、离职这些事情,则认为统统是部门经理或人力资源经理的事情。如果将问题交给人力资源部,需要跨部门协调,比较麻烦,因此干脆直接全部推给部门经理。
我担任部门经理的时候,曾无数次遇到这样的情况:
项目经理找到我说:“经理,某某要辞职了,帮我安排一个人。”
“你跟他谈过没有?”我问道。
“还没有。”
“他为什么辞职?”
“还不清楚,可能是工资问题吧。”
我找员工沟通过之后,原因自然是五花八门,有要求加薪的,有抱怨环境的,还有跟项目经理合不来的,不一而足。经过多轮沟通,该开导的开导,有合理要求的尽力帮助争取,还有一部分可以承诺延迟满足,或者用前景来“诱惑”等等,采取这些方法之后,还是有不少人愿意留下来继续做的。其实,大部分辞职的人并不是喜欢换工作,而是有一个心结,需要上司来帮他打开。
其实我做的这些工作,项目经理一样可以做。项目经理与员工朝夕相处,要时刻关注员工的动态,发现异常情况,及早介入沟通,也就不需要其上司费尽心力了,而且员工可能根本不会走到辞职这一步,沟通效果会更好。
项目经理还有一个普遍存在的误区,就是在评价下属时,习惯于说某某不听话、不好管。殊不知,一个员工好不好管,其实也取决于项目经理本人的态度和做法。一个看似不好管的员工,经过引导,同样可以成为项目的骨干,这样的例子屡见不鲜。
所以项目经理在碰到管人的难题时,不要再总是想“这个我管不了”、“那个我没办法”,而应该抱着“我也是人事经理”这样的心态,主动沟通、想办法。如果经过分析或者努力后,确实需要上司出马的,才去请上司来帮忙解决。直接把问题丢出去,当然是最简单,但这样做一方面你在团队中的威望会受到影响,项目的凝聚力下降,另一方面你的个人价值也大打折扣。
5.打造“凝胶型”团队
着名职业经理人唐骏说,管理的任务就是“造一条船,然后让船划起来”。对项目经理而言,我们已经有了一条船——就是项目团队,现在的任务要把它划起来。
软件质量之父沃兹.汉弗莱曾经提出,一支高效的团队应该是一种“凝胶型”的团队。在这样的团队中,大家有着清晰的共同目标,彼此合拍,每个人都全身心投入,团队显示出超常的战斗力。
我曾有经过一次项目灾难拯救的经历,这一段时间我真正体会到了凝胶型团队的力量。项目上线后发现软件运行效率极低,故障不断,人人疲于奔命,客户发出最后通牒,三天之内搞不定就下线。在这种情况下我临危受命,临时接管项目。接手后我主要做了以下几项工作:
1.找出当前影响最大的几个问题,采用头脑风暴法一起找出解决方案,在短时间内让客户体验有较大改善,让客户重拾信心,然后不失时机安抚客户情绪;
2.每天客户下班后开会,与项目组成员一起进一步研究项目存在的问题,按轻重缓急做成任务列表,制定阶段目标,并检查上一阶段完成情况,更新任务列表;
3.向公司申请了充足的经费,保障后勤,改善工作环境和吃、住条件,解除后顾之忧;
4.与团队一起加班加点,一起分析问题,并亲自完成一些力所能及的功能修改。
有随后一段时间里,项目团队的状态让人难以置信。项目组虽然夜以继日的工作,却没有一个人说出一句怨言。其中一位同事才刚当上爸爸一个星期,就驻现场无法回家;还有两位同事的女朋友半夜打电话过来,他们只能躲在一边苦苦安慰;还有一位同事,由于个人原因早先已经申请了离职,仍然与我们一起奋战到最后一刻……经过一个多月辛苦修改完善,项目总算彻底摆脱了危机,项目组高高兴兴打道回府。
在这一次经历中,虽然大家都很辛苦,但每个人都过得很充实。大家同心合力,每个人都贡献了自己全部的智慧和力量,也都做到了以前难以想象的事情。
我为什么举这个一个非正常项目(陷入灾难)的例子呢?这是因为要建设一个真正的凝胶型团队非常不易,不只是依赖于项目经理和每一位成员,还与公司的制度、氛围、项目的任务特点等多方面的因素密切相关。在这个例子中,项目灾难显然也是激发大家战斗力的一个重要因素。不过,即使是不能完全做到,但通过项目经理努力,还是可以近似实现的。
根据项目经理团队中充当的角色和发挥作用的不同,凝胶型团队可以分为两种,即星型和网络型,如下图所示:
图 两种“凝胶型”的团队
● 星型
项目经理处于中心位置,好比一颗红太阳,把大家吸引在自己的周围,整个项目组依靠项目经理领导力团结在一起。这要求项目经理个人能力极强,富有魅力,具有绝对的权威。星型团队的决策方式常常是这样的:项目经理收集意见,项目经理决策,再反馈给大家,或者由项目经理单独决策,再分发给大家。
● 网络型
网络型的团队中,项目经理看似在其中不占主导地位,项目经理的权威被弱化,实则项目经理的对团队的控制已经内化到每个人的潜意识之中,达到了一种近似于“无为而治”的境界,因此对项目经理的要求更高。
这种团队的决策方式一般采用民主制或民主集中制。把大家联结在一起的不只是项目经理领导力,更是富有挑战性、具有吸引力的目标,以及共同的认识和价值观。项目经理往往是外柔内刚,能够不动声色,于无形中实现对项目掌控。
能够建成星型团队的项目经理已经寥寥,能做到网络型更是可遇不可求。不管有多难,目标不能丢。我们就好比是一群已经出发的登山者,来到了山脚下,怎么能够因为看到山太高太难爬就放弃攀登呢?
https://www.cnblogs.com/watsonyin/archive/2013/04/22/3035203.html