第一篇:从程序员到项目经理4
从程序员到项目经理(四):外行可以领导内行吗
在上一篇中,我举出了一个招聘需求,引起一些朋友的争论。既然招聘的是项目经理,为什么需要那么多专业技能呢?在百度上招聘频道搜索“软件项目经理招聘”,可以查到8500多条类似的招聘信息„„
一.从几个招聘要求说起
在上一篇中,我举出了一个招聘需求,引起一些朋友的争论。既然招聘的是项目经理,为什么需要那么多专业技能呢? 在百度上招聘频道搜索“软件项目经理招聘”,可以查到8500多条类似的招聘信息。我们看看国内软件行业老大东软集团的招聘条件:
工作职责:
带领团队完成需求分析,开发计划制定与跟踪,项目组关键技术问题解决,负责项目QCD。
岗位要求:
1、3年以上软件开发项目经验,2年以上项目管理经验;
2、熟练掌握JAVA、WEB开发,精通基于Oracle/Mysql数据库的MIS系统开发;
3、具有较强的沟通、组织能力和较好的文字表达、写作能力;
5、有医疗业务开发经验者优先。
显然,东软公司也是要求具有较强的专业技能的。当然,也许东软公司太大了,不具有代表性,那么我们再看一个比较小的公司,你绝对没听过(我也没听过),广东广风隆电子科技有限公司:
任职要求:
1.能很好的把握开发质量和项目进度,规避风险。
2.具有较强的语言和文字表达能力、沟通协调能力、良好的团队合作精神。
3.具备至少3年项目管理经验或大型系统开发实施经验的优先。
4.掌握JAVA技术,能熟练应用J2EE,Spring,Struts,Hibernate等开发和测试。
5.熟悉基于java的B/S架构应用技术。
6.熟悉基于Tomcat、WebSphere、weblogic等应用服务器的开发;
7.熟悉大型数据Orecle/SQL Server等,熟练掌握存储过程编写、数据库表设计。
8.熟悉unix/Linux操作系统。
9.具备软件团队管理经验,熟悉软件开发流程,能够独立完成项目实施的优先。
10.具备一定的系统框架设计、熟悉开发流程,具有的良好的需求分析、项目设计、规划能力。
13.有如下经验者优先考虑:
a.熟悉BIEE,或有BI项目开发实施经验
b.对BI/DW的概念和架构有比较深入的了解,熟悉维度模型架构
c.熟悉Oracle数据库开发,或有ETL工具ODI经验,精通SQL
d.有基于java技术项目管理经验的优先,教育行业背景优先
哇啦啦,这个更不得了。这究竟是招程序员还是招项目经理,我也快被弄迷糊了。看来中小公司比大公司更看重专业技能。当然,我再多举一千条也代表不了所有的企业。但诸位如果有时间一条条看,会发现绝大部分公司对“软件项目经理”这个职位,都对专业技能有较高的要求。那么,传说中的“外行领导内行”究竟是不是真的?外行真的可以领导内行,带领项目走向成功吗?
二.外行 vs 内行
1.优势劣势分析
外行和内行究竟谁更适合当项目经理?那些招聘要求似乎已经为我们给出了答案,最少在软件行业内行项目经理更占据优势。然而,外行的项目经理往往也有其独特的优势,比如,他们往往更有大局观,能跳出技术本身看待问题,有更强的领导力等等。事实上,外行领导内行的现象,在国家大型建设工程或科研项目中要屡见不鲜。据说,我国的原子弹工程就是聂荣臻元帅领导的,而聂帅是不懂核物理的。
如果拿外行和内行项目经理来PK,并不是一件容易的事情,因为每一项都不是绝对的,这就如同比较男人和女人谁更适合做厨师一样。当我们拿两者PK的时候,其实包含了一些隐含的信息,就是这个外行的项目经理比内行项目经理,更加懂得管理、情商更高,否则的话,内行项目经理会毫无悬念的胜出,也就没有比较的必要了。
基于这些隐含的信息,我们试着比较一下两种项目经理的优秀和劣势:
2.技术决定论的误区
所谓内行与外行是纯粹从技术的角度来看问题,单纯讨论内行好还是外行好,其实也暗含着一个前提,就是技术决定项目的成败。而实际上,一个项目能否成功的影响因素,远不止是技术,对一个项目经理的素质要求也远不止技术。同是外行或内行来带一个项目,会由于个人修养与经验在差异,项目结果可能相差很远。因此单纯说外行好,还是内行好,是没有意义的。
3.综合素质决定论
问题的关键其实不在项目经理是内行还是外行,而在于他的综合素质。无论是外行还是内行,只要谁的综合素质更高,谁就是更优秀的项目经理。
上一篇我们讲到项目经理的六种能力模型,也就是说,一个优秀的项目经理,应当具备六个方面的素质,即:知识、技能、逻辑思维、执行力、心智成熟和领导力。
在知识层面,包括专业知识、行业知识和管理知识。外行项目经理在专业知识和行业知识方面已经输了,但在管理知识方面按默认值,外行赢了。
在技能导面,包括专业技能和管理技能。外行项目经理在专业技能也又输了,同样管理技能方面,又略胜一筹。
现在打成了平手。剩下的,要拼逻辑思维、拼执行力、拼心智、拼领导力,这就和内行外行无关了,鹿死谁手,要看个人的修养。
因此,项目经理的比拼,拼的不只是管理知识或专业知识这一个方面,而是综合素质的比拼。
三.外行,你凭什么
1.唐僧的团队
外行,也就是不懂专业知识技术,显然不但不是什么优点,反而是一个项目经理的极大缺陷。那为什么领导还会置这么大的缺陷于不顾,任命一个外行为项目经理呢?换一个角度,也就是说,一个外行,在什么情况下,可以成功的管理一个软件项目呢?
一件事情的发生,总有他的内部原因和外部原因。具体到这个问题上,也有它的内因和外因。
(1)在内部因素上,外行项目经理必须具有更高的综合素质。
现在流行分析西游记中的取经团队,其实也是一个典型的外行领导内行的团队。到西天取经,靠的是降妖服魔的本领,显然唐僧是个外行。但是,唐僧并不是一无是处,相反,他的综合素质很高。他外柔内刚,意志坚定,目标明确,还精研佛法,具有很强的人格魅力,因此他的那些徒弟才能凝聚在他周围,虽历尽千难万险而无悔。
(2)在外部因素上,必须有合理的人才结构作为支撑。
唐僧虽然不会打怪,但是孙悟空可以,补齐了唐僧在这方面的不足。试想,如果他的徒弟都不能降妖,任凭唐僧的领导力再强,显然那也是于事无补的。同样一个外行的项目经理,在他的团队中,必须可以信赖的技术骨干,像孙悟空一样能在关键时候解决问题,这些骨干一般就是项目中的组长、系统架构师或者系统分析师,必要时可能要设置项目副经理之职。如果团队
中没有技术骨干,都是一些经验不足还不求进取的程序员,那除非项目超级简单,否则项目经理纵然有诸葛亮的才华,也无济于事。
2.规模决定一切
在上面两项条件都具备的情况下,只能说明外行可以担任项目经理了。站在项目本身的角度,除了这两项因素,往往还跟以下方面有着紧密的关系。
(1)项目规模:规模越大,采用外行项目经理的机率越高。
(2)项目所在行业:在建筑、施工、水利等传统行业,采用外行项目经理的机率更高。
(3)项目的技术难度:在项目规模不大时,如果技术难度越大,采用内行项目经理风险更小。
(4)项目进度要求:时间要求越紧,更倾向于采用内行项目经理。
(5)项目管理的层次:有些项目层层分包,对于上面次层的公司,项目不需自己实施,只需对项目进行监管,项目经理自然也不需要很强地专业技术了。但对于底层实施单位而言,项目经理懂技术就很有必要了。同样,有些大型项目分成若干个工程,每个工程又包括若干个子项目,也是类似的情况。
在这些因素中,项目规模是具有决定性的因素。项目规模足够大的时候,也就有足够的经费来配备充分的人才。至于其实方面,其实只是表现而已。
四.透过瓶子看软件行业
为什么软件行业外业项目经理相对较少呢?这与软件项目本身的特殊性有一定关系,但在一定程度上也折射出软件行业的现状:
(1)软件项目规模不够大
在软件行业,几十万的项目很常见,几百万上千万就是大项目了,项目的利润率很低,很多中小型企业都生存在赢利的边缘。据工信部统计,2011年上半年我国软件行业利润仅占软件业务收入的1.28%。这么低的利润率,估计比东莞的制鞋厂还不如吧。而几百万上千万的项目,对建设、国防这些行业来说,简直不值一提啊。前几天太极集团1.99亿中标铁道部IT项目,大家都不服气。也是,人人都在喝汤,你凭什么搞特权吃肉?
(2)成熟的项目经理相对紧缺
软件行业小项目太多,对项目经理的需求量是非常大的,与此同时,成熟的项目经理相对很少。所谓“千军易得,一将难求”啊。当然,即使牛B的项目经理有了,其收入要求也不会低,这是小型项目难以承受的,只能退而求其次,找一个性价比更高的项目经理,或都干脆拔苗助长,找一个不错的程序员来带吧。
第二篇:从程序员到项目经理一
从程序员到项目经理
2006-9-28 11:59:26作者:sina
要走向管理层,英语一定要学好。沟通很重要,要做好管理者,先学会做人。多跟下属沟通,多为下属着想,而不要去巴解讨好上司。体谅下属,把项目计划做的尽量合理,不要让下属加班,给下属发展和晋升的空间,这样才能是下属有干劲,才能把项目做好,你才有更高的升迁机会。只有把自己知道的不断的让你得力下属知道,只有提拔起一些得力的下属来,你才有时间和精力去向上爬,不然你抱着不放,就没有升迁的机会。管理不是喝酒抽烟那么简单,那只是过去的那种不思上进,耽误自己前程。
吃尽苦中苦,方为人上人。做PM不是混,是要把项目做好,这跟做人是一个道理,这也就是为什么
做管理要先学会做人的道理。
pm的整个工作重点是什么?如果做为一个PM,技术不高怎么对付组里的牛人。
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,这种想法是错误的,我就犯了这个错,边搞好技术(为了生计)边学管理知识(为了将来),慢慢向管理发展,不能等。有句话说的好,机会是属于那些有准备的人的。利用业余时间多学些管理方面的东西,所谓人的差异在业余时间。
第三篇:从程序员到项目经理5
从程序员到项目经理(五):不是人人都懂的学习要点
学习本来只是一种本能,算不上什么能力,然而,经过二十多年的不断学习,学习反而成为了一种真正的能力,因为我们慢慢失去了它,它就更显得珍贵。
学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。
一.学习也是一种能力
看到这个标题,有人会说:“学习,谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路、说话、穿衣服„后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自己了。
学习本来只是一种本能,算不上什么能力,然而,经过二十多年的不断学习,学习反而成为了一种真正的能力,因为我们慢慢失去了它,它就更显得珍贵。
在学校里我们基本上被动式学习,然而走出了象牙塔之后,不会再有人对你负责,不会有人主动教你,我们需要主动的学习。所谓的学习能力,其实就是自主学习的能力。
几年前,曾有一本风靡管理界的书,叫《第五项修炼》,这本书倡导建立学习型组织,因为从长远来看,一个组织唯一可持续的竞争优秀,就是比竞争对手更快更好的学习能力。
一个公司如此,一个人又何尝不是如此?众所周知现在是一个知识爆炸的时候代,知识更新非常快。据说,一个大学毕业生所学习到的知识,在毕业之后的2年内,有效的不过剩下5%,更何况我们的学校与社会需要严重脱轨。我们赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习能力!
学习不但是一种能力,而且是一种至关重要的能力,而这种能力的核心,就是学习的方法和心态。
二.买书是最划算的投资
古人云:“书中自有黄金屋,书中自有颜如玉。”这说明先贤们早就认识到,买书是最划算的投资了。
当我刚出道的时候,拿着非常微薄的工资,有一次我向主管抱怨道:“现在的书真贵啊,这点工资连饭都吃不起,更别说买书了!”主管对我说:“不要吝惜买书的钱,宁可忍着不吃饭,也不要忍着不买书,因为买书是回报率的最高的投资了。”
主管的话让我非常震动。后来,我看到喜欢的书时,再有没有手软过。我不断的学习,开发能力也不断的提高,工资水平也获得了大幅度的提高。一年后,我一个月工资的涨幅,就足够买两年的书了。你说,还有比这更划算的投资吗? 一本书,哪怕只有一页纸是有用的,它将所产生的潜在价值,也会远远超过书本身的价格。当然,书不在多,能踏踏实实消化掉一本好书,可能比泛泛而读10本普通书,要更有价值得多。
三.多读经典书
十年前,我刚进入IT行业的时候,真是求知渴,每星期都要往购书中心跑,可惜的是,那时给程序员看的书不像现在这么多,高质量的书就更少了。当时我印象中比较经典的书籍就是《Windows程序设计》、《COM本质论》、《Java编程思想》,还有就是谭浩强的《C语言程序设计》。其它充斥书架的,就是类似于《21天精通XXX》、《XXX从入门到精通》、《XX宝典》这样的书籍。
回首往昔,令我比较郁闷的一件事就是在我最有学习动力的时候,看的高质量的书籍太少,就好像是在长身体的时候,天天吃的是没营养的泡面。当然,这跟没有人指导也有很大的关系,独自一个人学习,让我走了很多的弯路。
软件开发方面的书籍,我大致将其分为三类:
(1)浅显的入门类书籍。
这类书的标题往往是《XX天精通XXX》、《XXX从入门到精通》、《XX开发实战》等,这类书往往从软件的安装讲起,喜欢翻译帮助文件。有人批评这类书为烂书、毫无价值,这并不公平。至少我本人,也曾从这些书中学到一些东西。即使是21天系列书,也有适合看的人群,只不过,它一般也就只能看21天而已,过后就可以扔到垃圾堆。这类书只适于还没有入门的初学者,从中学到一些入门的招式。这种书在刚起步的时候一般买上一本就可以了。如果你善于使用搜索引擎,这一本书也可以省了。
(2)国内外高手写的实战类书籍。
这类书实战性很强,把技术及原理讲得很透彻。比如《windows环境下32位汇编语言程序设计》、《深入解析MFC》、《Delphi深度探索》、《深入浅出WPF》、《深入剖析Asp.net组件设计》等。以前这类书都是从国外翻译或从台湾引进,现在国内高手越来越多,出自国内作者的也越来越多。这类书如果在你学习的每个方向看个两三本,并且通过实践消化掉,那么毫无疑问,你会成为一个优秀的程序员。
(3)国外大牛写的、揭露本质、有丰富思想的书。
这类书就是所谓的经典书了,例如《代码大全》、《编程珠玑》、《设计模式》、《重构》、《代码整洁之道》等。经典书就像一个有深度、有思想的朋友,他会给你启发、每次阅读都会有新的收获,这类书具有真正的收藏价值。看经典书永远是正确的选择,它绝不会浪费你的时间,因为经典书是无数人沙里淘金、帮你挑选过的结果。
然而,阅读这类书并不是一件容易的事情,读者需要有丰富的开发经验,才能与作者产生共鸣。真正能消化经典书的人其实不多,这就好像饮酒,一个新手无论如何也品不出葡萄美酒的醇香。在酒桌上,人人都把杯中酒一饮而尽,当有人点评“这个酒不错”的时候,我只能无奈的苦笑一番,真的是甘苦自知。
如果一本经典书你看得很辛苦,很有可能就是因为你功力未够,这种情况下不要着急,慢点来,不妨先将其先束之高阁,多看看第二类实战型书籍,过一段时间再回头来看,也许你会有新的惊喜。
四.不要在上班时间看书
一个善于学习的人,首先要善于利用一切时间来学习。不知是伟大的雷锋叔叔还是鲁迅爷爷曾经说过:“时间就像海绵里的水,只要愿挤,总还是有的。”然而,当我们从上班时间中挤时间学习时,就千万要注意了,不要在上班时间看书!
上班时间看书不但是一件很敏感的事情,而且非常吸引眼球,很快就会引起周遭的不爽。首先老板心里不爽,他想:“我给你钱是让你来工作的,不是来学习的!”;其次同事们也不爽:“我们工作都做不完,瞧,这小子真闲哪!”用不了多久,你就会成为被众人排斥的异类。
当然,你可能会说,“我工作已经做完了,经理没有安排,当然可以学习了”,其实不然。你完成了一件事情,不等于所有的事情都完成了。一个优秀的员工,应该是主动要工作,而不是被动的等工作。工作完成以后,你至少还可以:
(1)主动汇报给你的经理,请他来检查你的成果,并安排新的任务;
(2)如果公司这一段时间确实比较闲,没有什么具体的任务,可以进行代码重构、优化;
(3)你还可以主动请缨,承担额外的工作或更艰巨的任务。
(4)如果一定要学习,也只能对着电脑屏幕来学习,纸质书最多只能拿来翻阅一下,而不能一直捧着,以免影响到其他人的情绪。
五、只学习与工作相关的东西
我曾发现不少程序员在学习方面找不到方向,一会学学C#,一会学学Java,看了最新的编程语言排行榜,又觉得该学C++。这样左抓抓,右挠挠,只会让你觉得更痒。
学习最忌三心二意。俗话说:“伤其十指不如断其一指”,每门都学一点,还不如专心学好一个方向。这个道理谁都懂,可是又该学哪个方向呢?难道只能跟着感觉走吗?
不!最实际的方向,应该跟着工作走,工作需要什么,我们就学什么,把工作需要的技能熟练掌握。我们为什么要学习和工作弱相关的东西呢?是为了转行或跳槽吗?可是,如果我们连现在本职工作都不能做好,又怎么能保证到新的岗位、用新学的技能就可以做得更好呢?
学习与工作需要的的东西,有很多好处:
首先,可以集中精力,在某一方面钻研得更加深入。所谓“百招会不如一招绝”,有了绝招,你还怕不能在“武林”立足吗?《天龙八部》中的慕容复武功博学无比,最后还不是被只会一招六脉神剑的段誉打得落花流水?
其次,可以学得更快、更深入,因为学习更具有针对性,而且可以立即在工作中运用,可以马上检验出学习的效果,对存在的问题可以进行深入的研究,因此掌握的知识也会更加的牢固。
第三,学习与工作结合在一起,工作时间也就成了学习时间,这样突破了三个8小时的限制。有人说,我们每天所有拥有的时间可以分为三个8小时,工作8小时,睡觉8小时,另外还有8小时自己可以自由支配的时间。工作和睡觉的两个8小时大家都一样,决定人生高度的是另外这个8小时。当我们把学习的焦点放到与工作相关的知识上时,工作时间中的很大一部分,同时也就成了宝贵的学习时间,这真是一举两得的美事啊。
六.织网式的学习
知识的广度和深度都很重要。作为一个程序员,深入把握技术细节,是写出优质代码的保证。但对于一个项目经理而言,知识的广度更显重要。项目中碰到的问题往往是综合性的,只有具有广博的知识,才能快速的对问题进行分析和定位。在程序员通往项目经理的道路上,我们必须有意识的扩大自己的知识面,形成更完善的知识体系。
每个人的知识体系就好比是一张网,我们学习其实就是要织这样一张网。我曾看过渔网的编织过程,渔网虽大,也是一个结点起步,一个点一个点的编出来的,编织的过程中,始终只有一根主线。
学习又何尝不是这样,知识体系的大网也是由许多小的结点组成,要结这样一张网,只能由一个点起步。牵住一条主线,织出一个个的点,由点带出面,最后才能形成这张大网。
我曾经编写过一个网络信息采集软件,这个软件可以从具有列表页网站中按字段设置采集信息,支持自定义字段、页面多级关联、下载附件、支持多种数据库、可视化定义等特性。刚开始时,觉得这个软件也是一个比较大的功能点而已,后来发现这个不起眼的功能关联着大量的知识点,在开发过程中,我顺藤摸瓜,各个击破,对很多知识点进行了细致的学习研究,软件开发完成后,个人的知识体系网也进一步得到了补充和完善。
图1 由知识点形成知识网
七.问题是最好的学习机会
日本经营之神松下幸之助曾经说过:“工作就是不断发现问题、分析问题、最终解决问题的一个过程,晋升之门将永远为那些随时解决问题的人敞开着。”可见,工作过程中有问题是正常,没有问题那才是真正的问题。在发生问题能时,能勇于面对问题、解决问题的人,才是公司真正的核心骨干。
现实中,很多人总是千方百计回避问题,当上司安排一项艰巨的任务时,也是想尽办法推托。殊不知,对于个人而言,其实问题是最好的学习机会。往往那些愿意接受困难工作的人,能力会变得越来越强,那就是因为他们在克服困难的过程中取得了巨大的进步。
有一次,一位项目经理对我说:“有一个问题,客户有一台HP服务器要装磁盘阵列,没人会做,怎么办啊?” “可以学啊,没有人愿意去吗?”
“我都问了,没人想去。”
“哦,正好明天我有时间,我也没装过磁盘阵列,那我明天去学着弄一下。”我说的是真心话。
第二天早上,当我准备出发时,项目经理告诉我不用我去了,因为项目组好几个同事都想去“学着弄一下”。结果服务器很快就装好了,远远没有之前大家想像的那么困难嘛。更重要的是,在解决这个问题的过程中,大家都学会了怎么装磁盘阵列。
碰到困难时,迎难而上吧,千万不要拒绝这个最好的学习机会!
八.经常思考总结
子曰:“学而不思则罔”。只学习不思考,就会迷惑,难以把握事情的本质。这就好比一个学武之人,只习得其形,而未得其神,难以成为真正的高手。
一个程序员从入门,到成为高手的过程中,往往要经过几次顿悟。顿悟会让你跳出知识的丛林,一切豁然开朗,仿佛打通了全身的奇经八脉一般奇妙。记得我有一次,顿悟到了一个很简单的结论:“原来高级编程语言中的类库是封装了Windows API来实现的。”后来碰到一些自带类库无法实现的功能时,我就会想到,其实可以通过调用Windows API来实现。利用这个思路,我解决了一些看起来很难的问题,得到老板的赏识,从而很快获得提升。
顿悟非常可贵,然而它不是随便发生的,而是经过一次次苦苦思索之后、灵光闪现的结果。思考的过程,其实就是将外在的知识内化为自己的知识的过程,而顿悟,则是批量的实现这种内化,将无数个知识点连接在一起,达到融会贯通的境界。
九、克服“高原现象”
爱学习的人都会有这样的经历,学习持续了一段时间之后,往往会有一个瓶颈期,长时间似乎很久没有什么进步,于是内心非常着急。
这种情况实际上这是由人的学习规律决定的一种“高原现象”。据研究,学习者在刚开始进步快,随后有一个明显的或长或短的进步停顿期,后期进步慢,中间的停顿期叫高原期。
图2 技能学习练习曲线
在我看来,高原期实质是一个消化期,由于前期的学习积累了太多的知识点,这些知识点在大脑中乱作一团,还没有形成一个知识体系。这时需要一定的时间来消化它,将它融会贯通,经常思考总结可以快速帮你跨过高原期。
在处于高原期的时候,还可以换一个相关的方向来学习,例如编程语言学不下去了,你可以学习一下设计模式,设计模式也学不下去了,再换成数据库。通过学习这些相关的知识,不但补齐了知识体系中的短板,而且各个知识点之间可以互相启发,帮助你实现顿悟,跨过高原期。
十、学习要有好心态
(1)学习要静心
急于求成是学习过程中普遍存在的一种心态。这可以理解,毕竟作为一个程序员,要学的东西实在太多了,而社会又是那样的浮躁,让人觉得一切都是那样的不安全、不确定,似乎只有学得快一点,才能跟上社会的脚步。
可是“欲速则不达”,想快快的学,往往会形成东一榔头、西一棒槌的学习方式,每一个点都没有吃透。心沉不下去,知识也会沉不下去。要想成为真正的高手,只能静下心来,一步一个脚印的攀登。
(2)学习是一个持续一生的过程
人生的过程,就是一个自我完善过程。
孔子曾经说:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”可见孔子也不是天生的圣人,也在不停的学习、进步,从“志于学”到最后“从心所欲,不逾矩”,孔子一共花了55年的时间。
作为一个程序员,更是需要不断更新自己的知识。我们所知道的东西,就像一个白色的圆圈,圈外则是黑暗的未知的世界。当圆圈越大,所接触到的黑暗部分就越多。我们只有不停的学习,打破更多的黑暗,找到更多光明。
(3)保持饥饿,保持愚蠢
看了《乔布斯传》之后,我最喜欢的一句话是“求知若饥,虚心若愚”(Stay Hungry,Stay Foolish),其实我更喜欢它更原生态的翻译“保持饥饿,保持愚蠢”。我们只有认识到自己还很饥饿和愚蠢,才会像没吃饱一样,由衷的需要学习、爱上学习。
当然,知易行难,知行合一才是学习的最高境界。我也始终是一个学习者,一直在路上。
第四篇:从程序员到项目经理(二):如何胜任
从程序员到项目经理(二):如何胜任
被任命为项目经理,是职业生涯的第一次飞跃,既惊喜又紧张。从现在开始,你要思考怎样才能胜任项目管理的工作,否则等着你的,很可能是一场悲剧。
一.升职之辩
1.为什么是我不是每个人都能当项目经理,程序员中只有一小部分能成为项目经理,大部分人会随着岁月的流逝,成为了“资深程序员”。
那为什么领导要选择我呢?一般人对自己所拥有的东西都会很快习以为常,认为这是自己应得的。一点也没错,这就是你应得的,原因也很简单,那是因为你比别人优秀一点。
其实领导挑选人才的标准很简单,那就是你比别人优秀,而且只需一点点。你不需要“鹤立鸡群”,“鸭立鸡群”已经足够了。俗话说:“群众的眼睛是雪亮的”,其实领导眼睛才是真正雪亮的,如果他还没有发现你,那是因为你还不够优秀,没有引起他的注意。
因此,如果你工作多年仍然没有职位上升,不要埋怨公司不给你机会,而应该从自己身上找原因,机会只会给有准备的人。如果你不知道自己准备好了没有,就试着回答下面的问题吧:
工作是不是比别人积极主动一点;
加班是不是比别人多一点(如果贵公司喜欢员工加班的话);
提交成果是不是比别人提前一点;
成果质量是不是比别人要好一点;
学习是不是比别人勤奋一点;
面对问题是不是比别人勇敢和执着一点;
人际关系是不是更和谐一点。
如果你能做到这些,相信机会迟早会属于你的。
2.彼得定律的启发
心理学中有一个词,叫“光环效应”,是说当我们对一个人某个方面有好的印象时,我们会倾向于认为他的其他方面也是好的。因此,当你能胜任你现有职位、比别人优秀一点时,领导会认为你是下一个职位的最佳人选。然而实际上,你不一定是最合适的,但有什么关系呢,你已经是项目经理了,你有很多时间,可以边做边学。但是,如是你长期不胜任项目管理工作,项目经理就会成为你职业生涯的最高职位。
这也就是彼得定律的内涵:“在一个等级制度中,每个员工趋向于上升到他所不能胜任的职位”。
从彼得定律中,我们可以得到以下启发:
(1)在公司里面,大部分人都干着他不能胜任的事情。这听起来真是一个悲剧,好在我们暂时还不用
操心。
(2)金子是一定会发光的,人才绝对不会被埋没的。这是由于人才的稀缺性造成的,只要是胜任当前职位,晋升是迟早的事。因此,无论是程序员还是项目经理,都要做好你的本职工作,这才是最重要的。试想,如果本职工作都没做好,怎么可能提拔到更高职位呢?别告诉我还可以走后门。
(3)当上了项目经理,只是说明你可以胜任程序员职位,而不意味着你可以胜任项目经理。因此,别急着庆祝,还是多想想怎么来管项目的事情吧,否则你就可能是下一场悲剧的主角。
(4)如果你已经担任项目经理很长时间,还没有得到升迁,不要骂老板,这只是说明你没有完全胜任项目经理的职位,还是赶快想想怎样完善自我,提升内功吧。
二、新任项目经理的误区
新任项目经理,由于经验和知识储备的不足,往往会出现相同类型的问题。
1.农夫的一天
有一个小故事,讲的是一个农夫的一天:
故事看上去很可笑,但笑过之后,回过头思索一下,故事里是不是也有我们项目的影子呢? 我们将《农夫的一天》换成《项目经理的一天》:
这样的一天无疑令人沮丧,但却经常出现在我们的现实中。当高级经理询问怎么还没有提交项目计划的时候,项目经理无可奈何又理直气壮的说:“我很忙啊!”
项目经理确实很忙,但这是没有效率的忙。其实何止是忙,还“茫”,而且“盲”,“忙、茫、盲”是许多新任项目经理的写照。
忙:一天到晚都在忙个不停,是为忙碌;
茫:碰到什么做什么,像个无头的苍蝇,没有计划性,或者无法坚持计划,是为茫然;
盲:项目经理这一天初始目标究竟要做什么,做着做着就丢了,没有目标性,是为盲目;
2.思维转换
有时候我们会说一个项目经理,不像一个项目经理,那像什么呢?当然是像程序员啰。也就是说,他的职位虽然变化了,但并没有完成相应的角色转换,仍然像程序员那样工作。项目经理之所以会出现“忙、茫、盲”状态,归根到底也是因为他没有实现自己的角色转换。
角色转换本质上是思维转换。思维决定一个人的行为,项目经理不像项目经理,那是因为他的思维仍然是以前的技术思维,而不是管理者应当具备的管理思维。这就好比一个人在陌生的城市,拿着过时的地图,寻找自己的目标,结果只会是四处碰壁,无所适从。
表1 技术思维 vs 管理思维
实现思维转换需要时间,这期间是一个懵懂的、左右为难的、痛苦难熬的阶段。有些人可以在很短的时间内完成蜕变,有些人却可能一辈子都在这个阶段,这跟一个人能不能改变自己有关。这些不能改变自己的人,理论知识往往也很丰富,说什么都头头是道,可惜的是,这是无效的知识,因为不能用在自己的实践中。这样的人,往往有一定的人格分裂倾向,因为他的知识和他的行为不统一,甚至是矛盾的。知行合一才是学习的最高境界。
新任的项目经理,别忘了时刻提醒自己,像一个项目经理一样去当项目经理!
3.项目经理行为分析
第一次当项目经理,往往会由于经验不足、项目管理知识的不足以及角色转换等原因,表现出种种不胜任的迹象。
不胜任的项目经理,通常有以下几种类型:
(1)刺猬型
刺猬型的人非常敏感,随时都保持警惕,只要一感觉受到威胁,便会用豪猪般的刺扎向对手,让人避之不及。他们通常自我封闭,坚守自己的地盘,处处表现出来自己是对的,虽然其实他自己也并没有底气。他不会让别人看到自己的脆弱。
刺猬型项目经理不允许别人干涉自己的项目,哪怕是自己的上级。如果领导询问项目中的某个问题时,他会非常明确的告诉你,那不是我的问题,那是客户的问题,或者是公司制度引起的问题,或者是领导你干预项目造成的问题。总之,我一切都做得很好。
刺猬型项目经理的这种反应通常是不自信的反应。小猫在害怕时,总是拱起背,把全身的毛都竖起来,让自己看起来更强大,但老虎永远不会这样。
(2)绵羊型
绵羊型项目经理的性格非常温顺,他们语气平和,慢条斯理,不急不躁。对待下属非常友好,在他们心里,似乎没有好和不好、对和不对,这些对他们都不重要。项目每天都很平静,似乎永远不会有暴风雨的到来。当上级提出要求时,他们永远都是好的,至于做成怎么样,只要尽力了,那有什么关系呢?
绵羊型项目经理通常工作缺乏计划性,即使有计划,也只是应付上级而已。看到什么事情,就去做什么事情,除此之外,还有什么其它的办法吗?
(3)猴子型
想象一下孙悟空的行为就对猴子型项目经理有了大致的认识。他们技术能力强,很有激情,非常聪明,非常自信。但他们往往性格冲动,做起事来横冲直撞,不讲究方法。
猴子型项目经理悟性很强,进步会很快,他们最终会克服自己的不足,像孙悟空一样,取得正果。这一刻,他已经不是猴子了。
刺猬型和绵羊型项目经理,他们往往缺乏自信,其管理模式一般是被动式的,做事没有计划性,有什么事就做什么事,就像条件反射一样,只会对外界刺激做出反应。
猴子型项目经理则是主动式的管理,他们充满自信,但往往由于经验不足,过于盲目,对问题考虑不周。同时由于冲动的性格,在团队中并不受欢迎。
这三种类型都是不胜任的表现,那怎样才是胜任的类型呢?如果还是用一种动物来比喻,我觉得应该是“头狼”,也就是狼群的首领。
暂时的不胜任不要紧,关键是要有进步。如果一个项目下来,除了很疲惫,你没有感觉到自己有一些积极的变化,那你的危机也要来了。要知道,项目经理并不是“铁饭碗”,虽然公司倾向于选用有经验的项目经理,但当你明显不胜任时,领导不会再在你身上押上赌注,他们宁可重新冒险一次,因为他们不想“两次踏进同一条河流”。
4.心态
新任项目经理没有管理经验,不胜任是可以理解的。也许你认为公司应该给你更多的培训再上岗,但往往形势是箭在弦上,在没有更多资源的情况下,领导把这个成长的机会给了你。
可怜的是公司老板,他的项目成了你的试验田。实际上,公司提拔你做项目经理,就是花巨资送你去培训学校,不是吗?我一直认为,由一个不合格项目经理负责的项目,相比由优秀的项目经理来带,实施成本可能多出50%,甚至更多。不合格的项目经理就像一个给项目减肥的机器,使得肥肉变瘦肉,瘦肉变骨头,骨头变渣滓。
项目经理应该学会感恩。要成为优秀的项目经理,应该有好的心态,而感恩是一切好心态的基础。你只知道自己压力大,却不知道你让老板少赚了多少钱!是老板交学费帮你从一个初出茅庐的项目经理,培养成了一个合格乃至优秀的项目经理。
我见过不少新任项目经理,对公司满肚子怨气,好像是公司一手造成他的项目问题百出,仿佛领导和老板成了他的敌人,刚做完项目甚至还没有做完项目就果断匆匆辞职,带着公司用无形成本换来的宝贵经验,绝决的离去,换取更快的升职加薪。设想一下你是老板,不知会作何感想?
感恩是一个人最重要、最美好的品质之一。网上有一个经典感恩的段子:“„感谢鞭打你的人,因为他激发了你的斗志,感谢遗弃你的人,因为他教导你该独立,„凡事感激,学会感激,感激一切使你成长的人!” 而你的领导和你的老板,他们既不是鞭打你的人,也不是遗弃你的人,而是培养你成长的恩人,我们有什么理由不感谢他们呢。
第五篇:从程序员到项目经理:程序员加油站-懂电脑更要懂人脑
从程序员到项目经理:程序员加油站-懂电脑更要懂人脑
说起程序员三个字,我觉得既骄傲又可悲。骄傲的是,我们曾经是时代骄子,是一群真正改变世界的人;可悲的是,我们很多致力于改变世界的程序员,却生活在自己的世界里,无法自拔,成为了继“书呆子”之后的“电脑呆子”。电脑本来只是一个工具,我们竟然被其所限制、甚至同化,悲夫!
一、警惕成为“电脑呆子”
(1)程序员眼中的自己
程序员是怎样看待自己的呢?看看园子里的发言,码农、码畜、IT民工、苦逼、程序猿„这样的字眼俯拾皆是。
在网上曾经广泛流传一首关于程序员的诗,模仿的是唐伯虎的《桃花庵歌》,我们暂且称之为《程序员之歌》吧:
写字楼里写字间,写字间里程序员;程序人员写程序,又拿程序换酒钱。
酒醒只在网上坐,酒醉还来网下眠;酒醉酒醒日复日,网上网下年复年。
但愿老死电脑间,不愿鞠躬老板前;奔驰宝马贵者趣,公交自行程序员。
别人笑我忒疯癫,我笑自己命太贱;不见满街漂亮妹,哪个归得程序员。
这首诗的作者不知姓甚名谁,但可以肯定的是,他是一名程序员,因为只有程序员才能这样生动的写出程序员的酸甜苦辣。从诗中看出程序员眼中的自己的形象:敬业、辛苦,每天的时间全部花在写程序和上网;思想单纯;清高不合群,自傲自恋;清贫不得志,自悲自叹。
(2)别人眼中的程序员
在别人眼中程序员又是怎样的一个群体呢?在360网站有一个关于程序员形象的热帖
(),其中回帖的大部分都不是程序员,很多回复都非常生动,没有骂街,可以说比较客观。
总结一下,大家回复的情况大致如下:
l工作方面
富有钻研精神,是技术方面的高手,没有时间概念,加班多,辛苦劳累,工作认真严谨,懂制作软件却不懂这软件如何运行更好。
l外在形象
黑眼袋,红眼圈,睡眠不足,瘦小,邋遢,带眼镜。
l生活方面
电脑前潇洒自如,世人前胆小腼腆。聪明,思维敏捷,生活刻板。
l性格方面
“闷骚”这个词不好听,但还是蛮准确的:程序员大多沉默寡言,不善与人交往,但内心却很丰富。性格腼腆甚至孤僻,圈子小,爱憎分明,有点不食人间烟火的样子。
l思维方式
是一种面向问题的思维方式,逻辑灵敏而严谨,无时无刻不在思考攻克解决问题,善于找别人的问题,却对自己的问题视而不见,不善于解决生活中的问题。
综合起来,程序员在世人眼中大抵是一个聪明而又迂腐、善良而又刻板的形象,是不是有点像鲁迅笔下的“孔乙己”先生呢?
(3)“电脑呆子”是怎样炼成的上面描述让我想起了一个词:“书呆子”。书呆子是指那些死读书、读死书、不通人情世故、不会用书上的知识变通的人。书呆子是与书待一起的时间太久了,以至于生活在书的世界里,用书里的道理来评价和要求真实的世界。而我们程序员呢,日复一日,年复一年在代码间摸爬滚打。每天用在与电脑交流的时间,比大部分书呆子看书的时间有过之无不及。每天基本上就是“电脑一开,一关就过去了,嚎”。
俗话说:“带着锤子三年,看什么都是钉子”。当程序员三年,看到谁都当作是电脑。于是产生了计算机时代的“书呆子”,不妨称之为“电脑呆子”。电脑呆子用电脑的时间太久了,生活在电脑的世界里,用电脑的逻辑来要求别人,不懂生活,不懂人情世故。可能你对这样的措辞感到不满,但对多我们身边有些程序员,是不是有几分神似呢?
悲夫!程序员曾是时代骄子,有非常细腻内心、非常丰富的感情世界、非常聪明的大脑,在世人眼里的形象却是如此不堪!
孔子说:“君子御物而不御于物”。电脑只是被我们利用工具而已,而我们的思维却被电脑所限制,甚至变得和电脑一样。
程序员,是该求变的时候了!
我们再也不要闷骚,将我们的内心美好善良的一面勇敢的表达出来吧!
我们再也不要苦逼,我们要金钱,更要快乐,我们要工作,更要生活!
我们再也不要死板,我们可以做出漂亮的程序,同样也可以漂漂亮亮的做人!
(4)一个老程序员的肺腑之言
也有大家会觉得“电脑呆子”这样的词是在骂程序员,是对程序员的不敬,但也许激烈的言辞更能令人警醒。有一个成语叫当头棒喝,据说佛教禅宗和尚接待初学的人常常用棒一击或大喝一声,促他醒悟。
我曾经是一个程序员,现在仍是。我也曾经是一个真正的“电脑呆子”,我曾独自在黑暗中摸索,花了多年的时间才摸着石头过河—也许我还远未过河。那些曾狠狠骂我的人,我把他们当作我的恩人,因为他们激励和启发了我的成长。当我逐渐走向成熟时,已经错过了无数的机会。
二、懂电脑更要成为人脑
(1)电脑逻辑 vs 人脑逻辑
程序员写代码离不开电脑,沟通、交际又要与人脑打交道,然而电脑与人脑的逻辑在很多方面却是大相径庭。
电脑的逻辑简单,所以我们愿意与电脑打交道。如果我们把电脑的逻辑带到与人交往的过程中,那就太“简单化”了,当然也就给人以迂腐、刻板、不懂变通的印象。我们毕竟是生活在人的世界中,我们要懂电脑,更要懂人脑。我们不是只懂电脑异类,而只是更懂电脑的正常人。
(2)做回正常人
我曾经很看不起那些不懂技术却八面玲珑的人,看到他们身居高位更是感到愤愤不平,甚至感叹要是生活在西方国家就好了,什么事情都直截了当,不用拐弯抹角。
然而,经历了无数的挫折之后,我明白了一个道理:“世事洞明皆学问,人情练达即文章”。人家能说会道、八面玲珑也是一种本事啊。不然,我们怎么做不到啊?
其实并不是这样做很难,而是我们不愿意这样做而已,不愿意为世俗的观念改变自己。没错,现实是世俗的,但现实也是无法改变的,我们只能承认现实,臣服于现实。我在360的那个帖子中看到有一个对程序员的绝妙评价,“程序员是七仙女中的织女”,难道我们真正的要像仙女一样不食人间烟火吗?
我们不用做仙女,只需要做一个普通的正常人。要顺应人的逻辑,懂人情,明事理,做一个正常人该做的事情,这样并不难。
莫言在领诺贝尔奖时有一段精彩的发言:
最后,我讲一个小故事。听说法兰克福是歌德的出生地。在中国,流传着一个非常有名的关于歌德的故事。有一次,歌德和贝多芬在路上并肩行走。突然,对面来了国王的仪仗。贝多芬昂首挺胸,从国王的仪仗队面前挺身而过。歌德退到路边,摘下帽子,在仪仗队面前恭敬肃立。我想,这个故事向我们传达的就是对贝多芬的尊敬和对歌德的蔑视。在年轻的时候,我也认为贝多芬了不起,歌德太不象话了。但随着年龄的增长,我慢慢意识到,在某种意义上,像贝多芬那样做也许并不困难。但像歌德那样,退到路边,摘下帽子,尊重世俗,对着国王的仪仗恭恭敬敬地行礼反而需要巨大的勇气。
处处与世俗为敌,并不会让世俗变得清高。尊重世俗,也并不意味着失去清高,失去自我。不要比拼清高,而要自己生活得幸福。当你能自由的游走于世俗的现实与内心卓尔不群的原则之间时,你也就实现在个人修炼的圆满,成为了一个从内心里幸福的人。
我们不需要成为清高之人,也不需要成为世俗之人,我们只要成为普通的正常人,一个外圆内方的人。