管理和技术

来源:互联网 发布:python range(7) 编辑:程序博客网 时间:2024/05/01 13:15

程序员的灯下黑:管理还是技术?兴趣优先

Simon是一个软件公司技术总监。有一天,有一位程序员小A提出想要和Simon谈谈。小A工作5年了,程序写得很不错。他进到Simon的办公室,坐下,在Simon的对面。
Simon的桌子有点弧度,于是Simon挪动椅子,和他斜对面。Simon问他有什么事?
“我现在很困惑。我不知道是不是应该转行去做管理。”小A说。
“为什么?”Simon问。
“我看到一些媒体,还有一些认识的Leader都说只有做管理才有前途。”
Simon想了想。小A人很踏实,同时也很聪明,所参加的项目很有挑战性,但他一直做的不错,因此,薪水比同时进公司的员工已经高了20%。
“这样吧,我问你一个问题:现在公司开始执行10%淘汰制。你是一个10个人的组长,因此,你必须淘汰一个。这10个兄弟干得都不错,至少没有吊儿郎当的,跟你的关系都不错。现在的问题是:你准备淘汰那个?”
小A觉得这个问题很难回答。
Simon说:“这样吧,我换一个问题。你喜欢不希望成为作决定的那个人?”
这次小A回答得很快:“不喜欢。”
Simon说:“好,其实你自己已经回答了,你不应该去做管理,因为你根本不喜欢。做一件你不喜欢的事情,你会很不开心。”
 
和小A一样,其实几乎每个程序员几乎都会面临,或面临过这个问题。
管理是一个很好听好看的词,似乎只要和管理沾了边,就是高薪,荣誉,更广阔的出路。也许对,可我也看到过曾经的技术强人,做了所谓的经理多年后,居然找不到一份满意的工作。因为实际动手能力已经消退了。
所有想要做管理的程序员可以想一想:
管理是什么?管人吗?如果抱着这样的想法去做管理,一定头破血流。现在的时代,没有人愿意被看管的。即使是经理人,也是和人相处,并非凌驾于他人之上。想一想陆纯初,因为一封电邮就被秘书PK下马。
管理有什么用?其实如果大家都好好工作,所有的经理人都是多余的。现代的管理理论是经理人作为协调人,进而是教练。好的管理者应该低调,把荣誉让给干活的人。
管理者也未必比干活的人工资高。存这样想法的人是官本位。我和很多国外公司接触,他们的很多经理告诉我,他手下的高级工程师很多薪水远比他这个boss高,地位也稳固。而经理往往随着公司政局变化而动荡。而高级工程师往往稳得很。
当然,管理者也有很多乐趣,最主要的乐趣在于通过管理的技巧和有效的执行改变团队。但这些往往是隔山打牛的功夫,不是每个人都喜欢这样的工作。
 
我在包括CSDN内的很多技术论坛看到很多关于是要做管理还是技术的争执,所谓不能做一辈子技术的论调是我不屑于反驳的。但对于走向管理,大部分人是从是不是能挣更多钱(包括所谓前途,爽等),但很少见到有人考虑过是不是喜欢的问题。
实际上程序员们不妨问问自己:
你是希欢智商上的挑战呢,还是情商逆商上的挑战?
如果是前者,请把做技术作为终生追求。
如果是后者,可以试试走向管理。
如果都不喜欢……

 IT项目经理是否需要技术能力

提起林锐这个名字,想必程序员们都不陌生。当年,我正是看着他的《高质量C/C++程序设计》,编写自己的第一个正式项目的。不过,您是否注意到,在林锐的两部著作中,他的一个观念发生了很大的转变,那就是关于对项目经理的技术要求:
在林锐2003年著的《软件工程思想》中提到:“项目经理一定要懂得技术”;而在2005年的《IT企业项目管理:问题、方法和工具》一书的序言中,林锐反思了的一些旧观点,对于项目经理是否要懂技术,他有了不同的见解:“项目经理其实不一定要懂技术”。
那么,究竟项目经理是否需要技术能力呢?而从技术人员到项目管理者,又要有有什么样的思维转变呢?本文中我谈一谈自己的体会,不当之处请大家不吝指正。

有一个自以为很博学的人向一位大禅师请教佛法,禅师不说话,只是不停的为他倒茶,茶水溢出来了也不停下。那个人很诧异:“师父,茶杯已经满了,装不下了!”禅师微笑,停下手,意味深长的对他说:“是的,你的脑子就如同这个茶杯,已经满了,我对你说法,又怎么能装得下呢?”
佛家说“所知障”,就是说学了很多的东西,这些东西反而妨碍了自己的修行。项目管理人员也一样,如果过多的执著在技术上,反而会妨碍自己管理技能的提升。
那么项目经理这个职业具有什么特点呢?让我们从思想和执行两个方面来说。

先说思想方面:
技术人员有两个特点,一是注重细节,做事情追求完美;二是动手能力强,做事情往往喜欢喜欢亲历亲为。而对于项目管理者,这两个特点都是要不得的。
任何人、任何公司,只要做事情就会犯错,作为管理者,如果一心想把每个细节都做到完美,那么可能到最后就是一事无成。对于细节的改进,我比较喜欢的做法是抓住最重要的事情(一般来说是与QCD直接相关的节点),这些关键点一定要达到要求,其余的事情就不需要太抠了。另外,如果发现组员在细节上下了功夫做得好的地方,一定要及时表扬。诚于嘉许、宽于称道,是对细节最好的态度。
作为管理者,团队的绩效就是你的绩效,但是团队的能力却不等于你个人的能力。也许你的技术很强,但也不可能什么事情都自己做了,就像踢足球一样,一个人的球队是不可能取得好成绩的。因此,要敢于把事情放给别人做,也许他做得不那么好,那么告诉他如何改进,如果同样的事情总是做不好,那么也许这位组员需要换一个更合适的工作。
总而言之,作为项目管理者,你不再是做自己的工作,更多的是做别人的工作。重视和领导、商务、技术等各个层面的沟通,关注项目QCD的状态,着眼全局,对事不对人,这就是项目经理们的思维方式。

再谈执行方面:
一个朋友聊天时提到,他们公司的一位部门经理这样教导见习经理:“想做好部门经理吗?那你要先学会怎么发奖金!”题外话,所有事情里面,我最喜欢的就是拿奖金的感觉……
作为一位项目经理,如何汇报,如何明确自身的责任和权力,是很关键的。发奖金只是一个方面,真正执行起来还有更多。
汇报工作,先要学会发邮件。在汇报工作时,邮件发送给你的领导,抄送给相关人员;在安排工作时,邮件发送给目标接受者,抄送给相关的领导。不要小看邮件,它是工作内容的重要载体,也是明确各人责任的证明。电话、面谈、会议等沟通方式,最终都要以书面的形式确认,而邮件,就是最好的书面确认方式。善用邮件,能让你的工作更加有序。
权力是和责任紧密关联的。从接受项目经理任命的那一刻起,你就要对这个项目的QCD负责,但是这个责任是泛化的,大多数公司也不会直接赋予项目经理人员、费用等资源的支配权,这些资源可能把握在老板的手上。项目经理需要及时地汇报项目的进展状况,并提出下一步工作的计划,以及所需资源的预算,然后由上级领导批人员、批费用。好的项目经理能够和企业高层保持良好的沟通和信任,从而获取推进项目所必需资源。
作为项目管理者,一方面要把握好项目的关键节点,另一方面准确、及时、合理的汇报工作,以充分得到领导层的信任,才能获得推进项目必要的资源,赋予自己相应的权力,这就是项目经理们的工作方式。

从细节到全局,从自身到团队,管理者和技术人员从思维方式到工作方法,都是有着本质不同的,这也正是管理者其实并不需要是技术牛人的原因。
回到本文开始的问题,我认为,项目经理是不是懂技术并不重要,关键是不能让技术“拖累”了自己,只有超越技术,在项目整体的层面思考问题,才能真正把项目管理工作落到实处;从另一个角度看,在把握好整体工作的前提下,项目经理适当做一些技术工作,也能很好的带动团队士气呢!

注:QCD即质量、成本和进度,是项目管理的三个重点,对QCD的把握能力标志了一个组织项目管理的成熟度。

 不要一辈子靠技术生存

 我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊).

    一。 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。

    不知道你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)

    更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会对你呲牙裂嘴)。

 

    也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。

    比之于我们的生活和人际关系及工作,那些从事售前和市场开发的朋友,却有比我们多的多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,他们比我们坦率说更有发财和发展的机会,只要他们跟我们一样勤奋。(有一种勤奋的普通人,如果给他换个地方,他马上会成为一个勤奋且出众的人。)

    二。在学习技术的时候千万不要认为如果做到技术最强,就可以成为100%受尊重的人。

    有一次一个人在面试项目经理的时候说了这么一段话:我只用最听话的人,按照我的要求做只要是听话就要,如果不听话不管他技术再好也不要。随后这个人得到了试用机会,如果没意外的话,他一定会是下一个项目经理的继任者。

    朋友们你知道吗?不管你技术有多强,你也不可能自由的腾出时间象别人那样研究一下LINUX源码,甚至写一个LINUX样的杰作来表现你的才能。你需要做的就是按照要求写代码,写代码的含义就是都规定好,你按照规定写,你很快就会发现你昨天写的代码,跟今天写的代码有很多类似,等你写过一段时间的代码,你将领略:复制,拷贝,粘贴那样的技术对你来说是何等重要。(如果你没有做过1年以上的真正意义上的开发不要反驳我)。

    如果你幸运的能够听到市场人员的谈话,或是领导们的谈话,你会隐约觉得他们都在把技术人员当作编码的机器来看,你的价值并没有你想象的那么重要。而在你所在的团队内部,你可能正在为一个技术问题的讨论再跟同事搞内耗,因为他不服你,你也不服他,你们都认为自己的对,其实你们两个都对,而争论的目的就是为了在关键场合证明一下自己比对方技术好,比对方强。(在一个项目开发中,没有人愿意长期听别人的,总想换个位置领导别人。)

    三。你更不要认为,如果我技术够好,我就自己创业,自己有创业的资本,因为自己是搞技术的。

    如果你那样认为,真的是大错特错了,你可以做个调查在非技术人群中,没有几个人知道C#与JAVA的,更谈不上来欣赏你的技术是好还是不好。一句话,技术仅仅是一个工具,善于运用这个工具为别人干活的人,却往往不太擅长用这个工具来为自己创业,因为这是两个概念,训练的技能也是完全不同的。

    创业最开始的时候,你的人际关系,你处理人际关系的能力,你对社会潜规则的认识,还有你明白不明白别人的心,你会不会说让人喜欢的话,还有你对自己所提供的服务的策划和推销等等,也许有一万,一百万个值得我们重视的问题,但你会发现技术却很少有可能包含在这一万或一百万之内,如果你创业到了一个快成功的阶段,你会这样告诉自己:我干吗要亲自做技术,我聘一个人不就行了,这时候你才真正会理解技术的作用,和你以前做技术人员的作用。

    [小结]

    基于上面的讨论,我奉劝那些学习技术的朋友,千万不要拿科举考试样的心态去学习技术,对技术的学习几近的痴迷,想掌握所有所有的技术,以让自己成为技术领域的权威和专家,以在必要的时候或是心里不畅快的时候到网上对着菜鸟说自己是前辈。

    技术仅仅是一个工具,是你在人生一个阶段生存的工具,你可以一辈子喜欢他,但最好不要一辈子靠它生存。

    掌握技术的唯一目的就是拿它找工作(如果你不想把技术当作你第二生命的话),就是干活。所以你在学习的时候千万不要去做那些所谓的技术习题或是研究那些帽泡算法,最大数算法了,什么叫干活?

    就是做一个东西让别人用,别人用了,可以提高他们的工作效率,想象吧,你做1万道技术习题有什么用?只会让人觉得酸腐,还是在学习的时候,多培养些自己务实的态度吧,比如研究一下当地市场目前有哪些软件公司用人,自己离他们的要求到底有多远,自己具体应该怎么做才可以达到他们的要求。等你分析完这些,你就会发现,找工作成功,技术的贡献率其实并没有你原来想象的那么高。

    不管你是学习技术为了找工作还是创业,你都要对技术本身有个清醒的认识,在中国不会出现BILL GATES,因为,中国目前还不是十分的尊重技术人才,还仅仅的停留在把软件技术人才当作人才机器来用的尴尬境地。(如果你不理解,一种可能是你目前仅仅从事过技术工作,你的朋友圈子里技术类的朋友占了大多数,一种可能是你还没有工作,但喜欢读比尔。盖茨的传记)。

原创粉丝点击