怎样从一名程序员过度到项目经理
2009-06-19 作者:GOALSTAR 来源:GOALSTAR的blog
1.从程序员到PM,是一条脱变的路,事实上程序员走的路最终不应该是项目经理。首先有一点需要明白的就是,一定规模的项目中,项目经理不需要太懂技术,他可以是一知半解。项目经理的任务不是在技术方面,技术相关的应该交给SA去做。项目经理更多地是做管理,沟通等工作,你如果可以的话到书店查看一下关于项目管理的书籍,你就会明白。当然对于小项目来说,有可能是PM,SA是同一个人,而这样的项目经理更多只是SA加上一些管理工作。要做项目经理,你就首先告诉自己不再去碰技术细节了。程序员并不是一个培养项目经理的好环境。所以没有什么从Coder到什么 developer再到SA然后是PM的路,这是一条比较悲哀的路。在大公司,SA下一个目标不是PM,而consultant,然后是senior consultant,PM走的是另一条路,所需要的技能不是技术,技术给PM带来的能力提升是很少的。在项目中你最后能分清楚PM与SA的关系及各自在项目中的分工与用途。
2.其实我蛮同意 gzlucky(Lucky) 的看法的,确实是我们公司不少项经理就是不很能跟得上现在的一些技术,因为很多人都快年近四十,儿子都上高中了,要他们再学新技术真的难度比较大,他们的工作基本上就是天天找手下的程序员,布置这个任务,询问那个任务做的怎么样了。不过我的头倒是和我一样编程,他手下写代码的就我一个人,他自己也会ASP 和JSP,但是可能对.NET不熟,就由我来主负责了。我觉得项目经理还是像他这样的好,自己也能懂不少技术,可以服人。但是我的头儿好像在沟通这一块不是非常出色,当然也有可能是俺太内向,不太与他沟通,所以他也只是在交待任务后就不再多询问,而不像别的项目经理天天追程序员后头问。我想问问各位,你们看哪种项目经理才是比较好的,像我的头儿这样的,还是像某些喜欢追程序员后面问进展的。
3.原来在一个小公司做过半年的DM,一年的PM,后来为了让自己的技术更扎实一些,离开了原来公司,现在在大公司做程序员,开始后悔了,在大公司里很难接触管理方面的东西,也很难晋升,个人认为在小公司做DM,PM,有经验后直接找大公司的PM,这样也是一条路。
或者考PMP之类的证书,然后直接找管理的工作。
希望过来人能给予更好的意见和建议,我也现在想往管理层发展。
技术很硬了再去做PM,这种想法是错误的,我就犯了这个错,边搞好技术(为了生计)边学管理知识(为了将来),慢慢向管理发展,不能等。有句话说的好,机会是属于那些有准备的人的。利用业余时间多学些管理方面的东西,所谓人的差异在业余时间。
要走向管理层,英语一定要学好。
沟通很重要,要做好管理者,先学会做人。多跟下属沟通,多为下属着想,而不要去巴解讨好上司。体谅下属,把项目计划做的尽量合理,不要让下属加班,给下属发展和晋升的空间,这样才能是下属有干劲,才能把项目做好,你才有更高的升迁机会。
只有把自己知道的不断的让你得力下属知道,只有提拔起一些得力的下属来,你才有时间和精力去向上爬,不然你抱着不放,就没有升迁的机会。
管理不是喝酒抽烟那么简单,那只是过去的那种不思上进,耽误自己前程。
吃尽苦中苦,方为人上人。
做PM不是混,是要把项目做好,这跟做人是一个道理,这也就是为什么做管理要先学会做人的道理。
pm的整个工作重点是什么?如果做为一个PM,技术不高怎么对付组里的牛人
--------------------------------------
我们经常会因为公司里的顶尖人才、个性化太强,不能与其他人合作而感到棘手,要解决这一问题其实也是有法可寻的。
一、在肯定其价值和优势的前提下,明确地制定改进的目标;
二、”顶尖人才能够面对中肯的,明确及一对一的批评作正面反应,所以要加强与他沟通的力度;
三、可以根据具体情况调整考核目标,加强与其他员工合作的内容;
四、把“顶尖人才”调到相对能独立发挥其才能的岗位,减少与别人发生矛盾的机会。
技术总监的职责:(各个公司都可以不一样)
------------------------------------------
1.负责产品中心的日常管理工作;规划部门的年度发展计划和发展方向;制定、确立部门内部管理的规章制度和工作规范;制定本部门年度财务预算;负责部门人员招聘、任用、考核的管理与控制等。(占工作量的40%)
2.根据公司整体发展要求,制定部门研发产品的发展规划和方向;负责组织、协调完成产品的规划升级、专项产品的开发与实施;进行市场调研、用户/代理回访等。(占工作量的40%)
3.及时了解、掌握新的开发技术,研究探求新的开发技术和方法方法,进一步完善产品结构和功能;从质量和易用性等方面不断发展、提升现有的产品。
(占工作量的20%)
4.多为他人着想,这样他人才乐于为你着想。适当提拨一些下属,不是让自己有精力向上爬,而是他们为了向上爬只有一个方法,把你再往上顶。每个人心中的委屈都是天底下最大的,这时你需要无限的耐心;每个人都有极需要帮助的一面,这时你需要无限的关心;当别人有意思向你倾诉或表述的时候,这时你需要的是爱心。
5.劝大家如果学精了,还是到非it的企业里去比较好,把自己的专业知识和行业知识结合起来,这样对自己的长远发展有好处,不要把自己封闭在it企业里,以后到35岁以上就没有出路了
6.能够勇敢大胆的换工作,开始几年不要为了赚钱,而是为了赚经验,我工作2、3年了,身上的存款还是个4位数,你们肯定认为很搞笑。。。但我走过5-6家公司了。。每个一个公司都有不同的感受。各方面都有了些进步。。
7.多学些管理知识,多进行管理实践!
8.其实,我觉得做一个好的项目经理不是那么容易的,项目经理,主要的任务是协调程序员的开发与项目的进展.在面对程序员的时候,首先要抓住作为程序员的特点,如果你的技术过硬的话,那么你用你的技术去让下面的人佩服你的技术,那么他们会服服帖帖的,如果你的技术不过硬的话,那么你就谦虚点,不要太吹牛皮了,不然的话,下面的人忍得了你一时,忍不了你一世,迟早会反你的(当年我就反过,哈哈哈)!所以,我觉得,从一个程序员到项目经理过渡的话,还是掌握足够的技术是关键,当然,培养起自己的人格魅力也很重要.如果是从别的行业的人想去做项目经理的话呢,最重要还是谦虚,不要以职位压人!
9.项目经理主要工作就是“沟通”,目的是保证项目高品质完成,合理利用资源,这里还有对下属的培养,要善于用人,待下属要不遗余力的帮助,不要害怕被下属取代,在信任的前提下要适当放权,因为当你培养出一批可以取代你的下属时,正是你升职之时。
附:转载文章
如果你曾经以为自己在启蒙阶段就已经了解了需要了解的全部东西,那么你肯定从来都没有做过IT经理。曾经身为IT专业人士的你该如何成功过渡为IT管理者?下面这位经验丰富的专业人士所介绍的技巧应该能帮助你避免很多错误的发生。
从一位纯技术人员向一位IT管理者的过渡是一条充满了艰辛和曲折的漫长道路。已经在IT业打拼了十六年的 Steven Crane对此可谓是深有体会。他曾经在一些实力雄厚的大公司(如吉列公司、派克公司)担任IT经理长达八年之久。在那段日子里,他成功的应对了很多来自管理工作的挑战。为了帮助新上任的IT经理们避免重犯他当年曾经犯过的错误,他根据自己的经验向大家介绍了十五项技巧。
培养管理能力的技巧
1、阅读Ken Blanchard撰写的“一分钟经理”系列丛书。根据Ken Blanchard在书中的定义,所谓的一分钟经理是指那些不需要花费很长的时间,应用他三个简单的管理步骤就可以达到很好的效果的管理者。
2、了解自己所在公司的规章制度,与自己的同事和上级建立良好的关系。认真听取他们的建议。管理人员们通常都愿意给其他管理者提供帮助。
3、尽快发现并了解自己的弱点和不足。要记住,你是可以通过培训来弥补自己的不足的。
4、学着把预算控制到最低限度,让大家清楚的了解资金是在哪些地方被节省下来的。
同公司主管人员增强交流的技巧
5、不要把每天的工作当中所出现的问题都汇报给自己的上级。相反,要善于发现那些重复出现的问题并为之寻找解决办法。然后再就几种不同的解决方案征求上级的意见。
6、如果你做项目同做支持工作一样出色,那么一定要把这两种工作区分开。只要把新增加的员工的薪水计算在整个项目的成本之内,那么你就可以为了新项目的进行而招募新的员工。不要让自己手下的员工在做支持工作的同时又陷入到正在进行的项目当中。
7、详尽记录、及时汇报。要求项目小组的成员填写时间记录,这样你就能够明白时间都花在了哪里。当你需要证明项目工期应该延长的时候,这些记录会起到帮助作用。当然,有了这些记录,你在向公司主管撰写月度报告的时候也会轻松许多。
8、当公司系统出现问题而瘫痪的时候,要知道你的小组的任务是让系统恢复正常。要保证关键系统的灾难恢复计划的到位,并且能够恢复其他的项目。
激励员工的技巧
9、如果公司以前没有正式的服务平台协议,而你又在实际工作中发现有大量的服务电话需要接听,那么就创建一个集中化的服务平台。如果必要的话可以寻求外包。如果真的需要外包的话,一定要制定服务水平协议。
10、花时间激励自己的员工走向成功,尽可能多的排除来自其他部门的不利因素。
11、学会“猴子管理”:当员工来向你寻求帮助时,要让他们知道自己接下来应该如何继续行动。不要帮助员工分担他们的工作,因为你会发现那样的工作永远都做不完。
12、每年至少对员工进行一到两次的业绩评估。让员工有明确的目标,并且帮助他们去实现自己的目标。
13、定期召开小组会议。由于工作任务总是一个接着一个,所有人看上去都是那么忙碌,要想做到这一点是有些困难。如果绝对必要的话,可以选择工作午餐的形式,只是别忘了给大家提供三明治就是了。
14、至少每个季度邀请小组成员一起外出就餐一次。如果预算控制的好,应付这笔花消是没有问题的。
15、要知道所有员工的能力的总和就是整个小组的最大工作产出。不要仅仅因为你自己给自己树立了高标准就希望所有的小组成员都能够做到和你一样。要根据他们的实际情况去赞扬和鼓励他们,并且针对他们的不足而对他们进行培训。
成功总会到来
成功的管理技能帮助Crane成为了独立的管理顾问。现在,他帮助很多中小型公司策划IT电子销售系统和电子商务服务战略。上面所介绍的这些技巧至今仍在帮助着他。
分享到:
相关推荐
总的来说,从程序员到项目经理的转型不仅涉及技术层面的抽离,更需要全面增强管理、沟通和领导能力,以适应新的角色和职责。通过不断学习和实践,可以逐步建立起在项目管理领域的专业知识和影响力。
本文通过一位项目经理的亲身经历,分享了他在职场中的点滴故事,揭示了如何从一个普通的菜鸟程序员逐步发展为一名有影响力的项目经理。这个过程充满了挑战,包括技术难题、职业发展方向的选择以及人际交往的技巧。 ...
这通常涉及到与客户或项目经理的沟通交流,确保所开发的功能符合最终用户的期望。通过提前规划并制定清晰的开发计划,可以有效避免后续的返工和修改,从而节省时间和资源。 #### 完成代码之前先自行测试 自我测试是...
成为一名合格的程序员,需要具备七种素质:扎实的编程基础,持续学习的能力,解决问题的技巧,良好的团队协作精神,对新技术的敏感性,项目管理能力,以及创新思维。同时,避免程序员的四大忌:缺乏耐心,过度依赖...
### 《程序员》杂志2012年第6期封面报道:产品经理 #### 优秀产品经理必备的素质和技能 ...无论是对于希望成为一名优秀产品经理的人来说,还是对于已经在职的产品经理而言,这些内容都极具参考价值和指导意义。
本文档是一本关于程序员面试的详细指南,涵盖了从面试准备到面试技巧,从简历制作到面试后注意事项的各个方面。在这里,我们将详细说明各章节的知识点。 一、如何准备面试:强调了面试前的准备工作,包括了解面试...
它不仅涵盖了编程技术的精要,更强调了作为一名程序员所应具备的软技能和职业素养,旨在帮助读者在职业生涯中找到平衡,实现可持续发展。 在编程技术方面,书中可能探讨了各种编程语言的基础与进阶知识,如如何高效...
作为一名产品经理,不仅需要具备良好的沟通能力、数据分析能力和项目管理能力,还需要不断地自我提升和完善。精进观强调的是持续学习和成长的心态。 - **野蛮生长** 在快速变化的市场环境中,产品经理需要具备...
在处理邮件的过程中,程序员不得不频繁地从编码任务中切换到邮件阅读与回复的任务上,这种频繁的上下文切换同样会打断“心流”状态。解决这个问题的有效方法之一是设定固定的邮件检查时间,比如每天固定几个时间段...
5. **结对编程**:两名程序员共享一个工作台,共同编写代码。这种方式能提高代码质量,促进知识共享,还能即时发现和解决问题。 6. **计划游戏**:在每个迭代开始前,客户与团队一起确定优先级最高的功能。这有助于...
这一理论提醒我们在项目规划时要谨慎分配资源,避免过度依赖人力资源。 书中还讨论了“布鲁克斯定律”,即增加一个未经训练的人员到已经落后的项目只会使项目更加落后。这个定律强调了软件工程中的专业培训和项目...
- **团队协作不足**:选择一名正在从事编程工作的高手来兼任项目经理,可能会削弱其作为程序员的专业贡献,同时也可能导致团队成员间的沟通与协作出现障碍。 #### M应采取的措施 - **合理分配角色**:M应确保每位...
这本书自1975年首次出版以来,一直被视为IT行业的必读之作,对于程序员和项目经理来说,其价值不可估量。 在书中,布鲁克斯探讨了软件开发过程中的诸多关键问题,这些知识点对于理解软件工程的本质和挑战至关重要。...
他强调,作为一名科技工作者,应当具备积极向上的人生态度,以贡献社会为己任。他本人的经历——在困难时期资助贫困学生,积极参与环保活动——展示了作为科技工作者的社会责任感和道德操守,这对同行具有深远的影响...
2. **结对编程**:两名程序员共享一台计算机,一人编写代码,另一人审查代码。这种方式有助于提高代码质量并促进知识共享。 3. **重构**:定期对代码进行重构,以保持其清晰性和可维护性。 4. **客户参与**:客户或...
在当代软件开发领域,成为一名伟大的软件开发高手是许多程序员的梦想。这个目标不仅涉及到技术能力的提升,还包括了个人素质、团队协作、项目管理、客户沟通等多方面的能力。根据给定的文件内容,以下是对成为伟大...
作为一名新入行的程序员,你可能会遇到许多职场挑战。以下是从标题、描述和部分内容中提炼出的一些关键知识点,旨在帮助你避免一些常见的错误,并在职业生涯中取得成功。 1. **理解职场规则**:进入职场后,你需要...
9. **个人生产力**:布鲁克斯认识到优秀的程序员能产生比普通程序员多得多的高质量代码,这在当今的敏捷开发环境中仍然是一个关键考虑因素。 10. **创新与完美**:书中提到,追求完美可能导致过度设计,而适度的...
- **结对编程**:两名程序员共用一台电脑,一人编码一人审查,提升代码质量同时促进知识共享。 - **敏捷设计**:注重识别和消除“设计异味”,保持简洁的设计,避免过度设计带来的复杂性和冗余。 - **用户故事**:...