从程序员到项目经理,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。
一.为什么要当项目经理
1. 问题本质
如果我对一个老程序员说:有必要转项目经理啦,很多人第一反应是为什么一定要当项目经理?!,反问很给力,基至会让人哑口无言。但反问成功的结果可能只是使自己麻醉,暂时忘却现实中面临的烦恼和压力,这无异于把头埋进沙子中的鸵鸟。只有理智的分析,才能作为自己行动的指南。
首先申明,不是每个程序员都需要当项目经理,也不是每个程序员都想当项目经理,更不是每个程序员都能当项目经理。因此,当不当项目经理,可以说是一个需不需要、想不想、能不能的问题。
想不想,是一个意愿的问题。这是前提,毕竟强扭的瓜不甜嘛。显然,富二代一般是不想当项目经理的,因为他们想直接当总裁。还有些人,只想钻研技术,不想钻研人,他们也是不会想当项目经理的。如果你没有意愿当项目经理,也就没有讨论的必要了。什么,你不知道想不想?呃,那就继续往下读吧,也许读着读着,你就想当了。
能不能,是能力的问题。这是不关键,因为只要有意愿,能力是可以培养的。程序员连复杂得让人琢磨不透的软件都能搞定,还有什么搞不定的?
因此最后落实在需不需要这个问题上。这个问题很棘手,需要从程序员自身以及外部环境等方面进行分析。要讨论这个问题,就要弄清楚它和想不想的关系。想和需要是紧密相关的,但并不是一回事。想不想,主是感情的因素,而需不需要则要进行理智的分析的了。理智与感情,并不总是一致的。有些东西,是你需要的,但你未必想要。比如,被困沙漠的时候,有时被逼喝自己的尿液,这是理智战胜了感情。电影《色戒》中的汤唯,则是感情战胜了理智,爱上了敌人,最后造成了悲剧的结局。因此,我们还是少说气话了,不要冲动,冷静的分析自己的处境吧。
2. 鸭梨山大
当我从网上看到码农这个词时,觉得网民很有自嘲精神,后来我看到了码畜和码奴这个两个词,不禁从心底涌起了深深的悲哀,为这个行业,也为这个社会。
看看智慧的网民对IT人士级别的划分:
IT领袖:年入过亿(例如任正非、马化腾、李彦宏、丁磊、马云等,包括期权股票以及投资理财等收入。) IT大哥:年入千万(级别次于以上几位大佬的公司老板,不缺钱,普遍对上一条里的人物羡慕嫉妒恨。) IT精英:年入百万(各IT公司副总裁级别人物,包括COO、CTO等,大多为职业经理人,赚够钱就跑。) IT人才:年入50万(各IT公司总监级别人物,有房有车,生活压力相对较小) IT工程师:年入20万(高级经理级别,有房贷,生活压力大) IT民工:年入10万(经理级别,基本无房,学会装波一,生活压力大) 码农:年入6万到10万(工作三四年,租房,继续混日子) 码奴:年入3万到6万(工作一两年,租房,混日子) 码畜:年入低于3万(刚毕业的,租房,傻乐) |
我知道你想问什么问题了。不要问哥赚多少,哥只是一个普通的IT人士而已。前面三级都是牛人,是成功人士,他们的作用不是让去成为他们,而是激励我们自己。你现在读到的也不是一篇成功学的文章,而是和你一起分析程序员的处境、以及怎样缓解压力的文章罢了。
言归正传。看到这个表,是不是有鸭梨山大的感觉。找到了自己的位置吗?什么,不好意思?没关系啦,园子里面不是很多人称自己为程序猿或者猴子吗?那大概也就是相当于码畜吧。我想能读到这篇文章的,大概都是IT工程师(高级经理)以下,他们的主要特征是生活压力大和混日子。如是你是前面四级,建议你果断退出本文。
我在上一篇博文中提到30岁现象,有些人认为车到山前必有路,这是杞人忧天。不错,程序员确实可以干到30多岁,甚至四五十岁,但他们面临的压力却可能是不足与外人道也。
我经常与30岁以上的程序员交流,他们流露出来的对现状的不满、无奈、无力、对安全感的缺乏,让我感同身受。
虽然谈压力并不是一件愉快的事情,但我仍然必须要说出来,因为我宁可清醒的痛着,也不要在麻醉中睡去。那就让我们拿着手术刀,对自己进行痛苦的解剖吧。
下面是一个简单的危机评估表,总共有30项。在是否认同后面打出分数,每一项如果认同为1分,不认同为0分。
类别 |
评估项 |
是否认同 |
身体 |
悄然发现已经没有以前经折腾了。 |
|
没有定期的体育运动。 |
|
|
中餐午餐都是在外面吃快餐。 |
|
|
确信自己是亚健康。 |
|
|
家庭 |
每月开支不算不知道,一算吓一跳。 |
|
有房贷或房租。 |
|
|
有孩子了,上幼儿园是一笔大开支。或者超过30岁了还没结婚。 |
|
|
买不起车,或有车子,开不起。 |
|
|
家里时有摩擦,经常有不开心的事。 |
|
|
每个月存不了多少钱。 |
|
|
时间 |
要花很多时间陪家庭成员。 |
|
加班时间越来越少。 |
|
|
社交时间较少。 |
|
|
激情 |
只想休息,不想工作。 |
|
对新技术、新工具不甚了解,有心无力。 |
|
|
没有制度明确的短期、中期和长期目标。 |
|
|
理想已经模糊了。 |
|
|
社会 |
只有交税,没有回报。 |
|
担心老了病无所依,老无所养。 |
|
|
担心国家经济衰退,陷入失业。 |
|
|
收入增长跟不上通货膨胀的速度。 |
|
|
行业 |
新人比我更具有性价比。 |
|
行业竞争激烈,低价抢标现象严重。 |
|
|
行业被某些公司垄断。 |
|
|
行业正在慢慢衰落。 |
|
|
公司 |
公司发展前景不是很明朗。 |
|
公司薪资福利一般。 |
|
|
公司没有企业文化。 |
|
|
公司员工关系比较紧张,有内斗现象。 |
|
|
公司缺乏活力。 |
|
|
总分 |
|
(说明:此表并不精确,仅供参考)
如果总分小于10分,那要恭喜你,说明你生活稳定幸福,让人羡慕。我觉得这篇文章你也不用往下看了。
如果你的总分大于20分,说明你承受的压力过大,可能面临职业方面的危机,应当寻求改变了。
如果总分在10-20分,说明你生活比较稳定,收入方面可能是中上等水平,但职业发展方面仍有风险。
3. 另一片天地
所谓穷则变、变则通,如果你还是普通的老程序员,并且还在为自己的职业彷徨和苦闷,那就应该寻求变化之道了。
如果你愿意,转向项目管理乃是上上之策。
当然转项目管理只是程序员很多选择中的一个。显然不是每个程序员都需要当项目经理。一般每个公司都最少提供了技术和管理两条职业发展通道,如果你技术超牛,你完全可以从程序员做到系统分析师,一直做到技术总监。如果技术方面你信心不足,转项目管理就是一件自然而然的事情了。
技术和管理,这是两条绝然不同的路,虽然条条大路通罗马,但沿途的风景却是完全不一样。一旦你从事了项目管理,你将看到不同的另一片天地。
(1)在管理的天地里,你将不再有职业瓶颈。
程序员虽然也可以干一辈子,但工资水平是有天花板的,不要问我为什么,行业就是这样。项目经理则有无限上升的空间,不但工资更高,职位上也可以升至部门经理、副总经理甚至总经理职位。
(2)促进项目经理内在成长,心智更加成熟。
美国项目管理协会PMI认为,项目经理75%-90%的时间应该用在沟通上。沟通的对象显然是人,因此,项目管理主是要一项与人打交道的工作。如果说解决技术问题人主要是靠一个人的智商,那么与人打交道,则是要靠一个人的情商。
虽然不当项目经理也可以发展情商,但在项目中锻炼是自我成长、自我完善的捷径。
(3)项目管理知识可以用在生活中的各个方面。
生活中的许多事情,我们并没有称之为一个项目,但可以用项目管理的方法来对待。例如一次婚礼的组织,或一次自助旅游。你在项目管理中培养起来的情商,更是让你面对生活中的各种问题游刃有余,你的家庭也会更家和谐,就像范范的一首歌里唱的:好像什么困境都知道该怎么办。当到达这种境界时,你会有一种海阔天高,一览众山小的感觉。
因此,即使你不想从事项目管理,也建议你学习一下项目管理知识。有一本书叫《不懂项目管理,还敢拼职场》,虽然觉得内容一般,但对标题深以为然。
二.项目管理倒底难不难
程序员问:我现在想当项目经理,但心里没底,不知道项目管理到底难不难?这个问题确实不好回答。俗话说,会者不难、难者不会,很多事情都是如此。
有些人觉得不难,他们好像天生就具有管理的才能,他们举止得体、八面玲珑,具有很强的个人魅力,可以把大事化成小事,把坏事变成好事。这样的人,想不成功都难。
大部分人还是会觉得难。在PMI的知识体系里,项目管理有九大领域,五大过程组,44个过程,有数不清的工具和方法。项目执行中方方面面出了问题,都是项目经理的责任,项目经理又不是超人,怎么应付得过来。项目管理确实有点难。
你若问我,我会说项目管理既难,又不难。对于愿意改变自己的人而言,它不难;对于性格偏执的人而言,项目管理确实太难了。
很多人无法意识到自己的偏执。上级只要提出一点批评,他们就要拼命的辩解和反驳。他们的保护壳太厚了。
项目经理最重要的素质,就是心智的成熟,一个心智成熟的人,不会是一个偏执的人。
毕竟,人无完人,项目经理必须从善如流,才能完成自己角色的转变。对于从程序员转过来的项目经理,做事的方法与以前应是翻天覆地的不同,必须迅速审时夺势,改变自己。否则,那你不还只是个有项目经理职位的程序员么?
因此可以说,项目管理难就难在项目经理要改变自己。这个改变,不只是知识体系的扩充,更可能是性格的改变,而一个人要改变性格是极其困难的。
程序员习惯于与机器打交道,通过严密的代码和逻辑来控制机器;而项目经理是跟人打交道,人是有感情的,绝对不是你给他输入1+1,他就给你输出2。项目经理必须时时用心去思考、体会,然后改进。几番回合下来,项目经理会惊喜的发现自己变了,有种脱胎换骨的感觉----那是当然的,因为变得更成熟了。
只要你愿意改变自己,假以时日,你一定会成为一个优秀的项目经理。
三.程序员应克服的障碍
程序员与项目经理之间,往往有一条鸿沟。对技术钻研越深的程序员,这条鸿沟可能越大。这是由程序员的性格特征决定的。
程序员普遍有非常多的优点:例如聪明、逻辑思维强、学习能力强、创新能力强、直率等。但优点往往也是弱点之所在,例如:
(1)太讲逻辑:与人相处时容易忽视人际关系、感情等方面的因素。
(2)过于直率:说话直来直去,容易伤害他人感情。
(3)自傲:总觉得自己技术不错、比周围的人要强一点。好比一只鸡看到同类觉得自己最大,看到鹅觉得跟自己差不多,看到火鸡才觉得比自己大一点。
(4)固执:在自己的逻辑中不能自拔,无法听取别人的意见。
(5)沟通能力较弱:大部分程序员在口头表达、写作、汇报、交流等方面存在不足。
而这些缺点,也是心智不够成熟有表现,这是项目经理的大忌,往往会成为程序员晋升项目经理的障碍。因此,必须要克服这些障碍,给自己制定符合项目经理要求的行为准则,时时提醒自己,每日进行反省,坚持下去,必然会成功。
相关推荐
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
* 技术要求:基本了解计算机操作,掌握一门编程语言,如 C/C++、Java、JavaScript 等。 * 特点:中国在这个层次上具有绝对的优势,人数众多,平均智商也高于西方。 * 生活状态:整天被老大们吆喝着去装装机器,搭建...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...
宣告变量名称的同时,加上“final”关键词来限定,这个变量一但指定了值,就不可以再改变它的值 如:final int n1= 10; n1=20; 这就会报错 输出命令: System.out.println() 会自动换行的打印 System.out....
这个压缩包“Java基于SSM框架实现的一个网页在线聊天系统源码.zip”提供了使用SSM实现的网页在线聊天系统的完整源代码,非常适合学习者了解SSM框架在实际项目中的应用,以及如何构建实时通信功能。 1. **Spring框架...
总之,这个“定时提醒工具”项目对于初学者来说是一个很好的实践机会,它涉及到用户界面设计、事件驱动编程、时间管理等多个基础编程概念。通过学习和实践,不仅可以掌握编程技能,还能提升解决问题的能力。
这是一个很好的实践机会,可以帮助提升你的JavaWeb开发技能,同时也能了解实际项目中的架构设计和问题解决策略。记得在分析源码时,不仅要关注代码逻辑,还要理解代码背后的意图,这样才能更好地吸收和应用这些知识...
Objective-C是苹果在很久以前的主要编程语言,它结合了C语言的效率和Smalltalk的面向对象特性。随着Swift的出现,Objective-C逐渐被取代,Swift以其简洁的语法、安全的特性以及更高的性能成为了新一代的苹果平台开发...