技术领导要不要写代码?这是一个问题。

我刚工作的时候就听说,程序员(那时候还没有“码农”的说法)是吃青春饭的,到30岁就熬不了夜写不动代码了,所以要尽早转管理岗。相应的,如果你走上管理路线成了技术领导,自然就不必干写代码这种低级重复的体力劳动了。所以当时自己代码写得很多,技术能力增长很快,但总感觉有点别扭。那感觉就像,你能把车开得又快又熟练,最终只是为了能按时到达机场赶上飞机。然后,你就再也不用开车了。

不过无论如何,赶上飞机看来是更高级的选择,为了它,放弃苦心修炼的车技也可以接受罢。

但是等我真正走上管理岗位,才发现事实和我想的完全不一样。当时公司的业务增长飞快,支持业务的系统却是几年前“一锤子买卖”的外包项目,更要命的是技术团队的人员组成和工作习惯还处在作坊状态。从我的角度来看,四下里全是大坑,填坑的速度慢得让人着急,在此过程中还经常挖下新坑…… 在我的职业生涯中,我从没有在那么短的时间里写过那么多代码。几年后大家查提交排名,我的名字仍然第一。好在我的努力没有白费,系统终于没有垮掉,顺利回到正轨。

当时我身为技术领导,除去招人、定流程、做运维,还花了大量时间写代码,这样的做法是对的吗?如果是对的,后来我再没有写过那么多代码,好像也与“不称职的领导”无缘,甚至还被夸奖过“忍住放手让下属去做事,锻炼了组织”,这又是怎么回事呢?

(more…)

领导必须更懂技术吗?这是个问题。做了领导以后,因为工作的关系,许多人都不那么熟悉基础的技术了,结果自己心里没底,更怕遇到问题时在下属面前丢脸。所以,有些人选择了双管齐下——既不放弃领导的工作,又不放弃原有的技能,结果疲惫不堪。还有人干脆选择不当领导了,因为有手艺,才有安全感。

这个问题也困扰过我,而且始终找不到“合理”的答案,最终还要靠亲身的工作经验来解答。所以在正式回答这个问题之前,让我先讲讲自己的亲身经历。

(more…)

不少朋友都提到,手下的员工离职往往是让人非常头痛的事情。这大概是管理岗位经常需要面对的一种麻烦,这个问题也困扰过我。为了帮助仍然被困扰的各位同仁,下面提供我的经验给大家参考。要说明的是,因为我和朋友们几乎都在IT行业,“员工离职”的大部分情况也就直接体现为“程序员离职”,所以我主要讲的还是应对程序员离职的经验,其它行业的朋友可以自行参考。

要妥善应对员工的离职,首先应该问的问题是:员工为什么离职?但是,这么提问往往容易将大家的思维引入极端,得到“他家里有事”、“他不爽薪水”之类的个例答案,而偏离了关于问题的本质。所以我们不妨换个问法:在什么情况下,员工不会离职?我的朋友 @jackyexin 给出的答案是,员工不离职,必须满足两个条件:第一,员工觉得公司有发展;第二,员工觉得自己有发展。我觉得很直接很可靠,也为我的经验所验证,所以,下面结合我的经验谈谈这两个条件。

(more…)

按:公司基层主管培训,安排我做关于领导力的讲座,效果尚可。我把PPT的内容总结成一篇文章,在这里与大家共享。

如今,市面上关于“领导”和“领导力”的文章和书籍已经数不胜数,却不让人厌烦,新的资料仍然层出不穷;另一方面,对相当一部分人来说,“领导”和“领导力”又确实难以捉摸,看书似乎明白了,做起来却全然不对劲。为什么会出现这种情况呢?根据我的观察和思考,主要原因在于:领导和领导力,都是与人密切有关的学问,一旦与人有关,就不能依靠硬性规则来行事。但是,没有硬性规则,又会感觉虚无缥缈无法把握,所以下面我尝试给出自己的几条经验,供大家参考。

很多人都想知道,为什么要有领导呢?或者说,什么样的人能成为领导呢?一个人被上级任命为“领导”,他就是领导了吗?不。他如果做得好,才可以成为领导,如果做不好,就不过是“空有个领导的名头”而已。另一方面,民间的很多“领导”(领头人物)并不需要任命,也可以获得大家的认可。如果从这个角度来看,一个人会想办法,能出主意,他就是领导了吗?似乎也不见得。古代的军师和谋士最擅长此道,但他们似乎和领导不沾边;但是一个人如果没有谋划,也没有规划,当然也不算“领导”。所以,”为什么要有领导“,确实不是个简单的问题。

我们可以换个角度,看看没有领导的情况是怎样的。此时,基本只有两个元素:人和任务,任务由人完成。通常,大家独自完成任务,也可能大家互相帮助,自发协同完成任务。

但是随着任务量的增加,任务复杂程度的增长,任务已经不能由个人单独完成,也不能由多人自发完成,这时就需要出现一个人来带领、协调、组织其他人,完成更重要、更复杂的任务。这个人就是通常所说的领导。从人的方面说,他有权力(影响力)去安排更多人的行为,这就是我们常说的“任命”的必要性(民间领袖通常依靠威信);从人物的方面说,他有办法让这些人完成更多更复杂的任务,无论这种办法是他自己提出的,还是采纳别人的。

这样就产生了一个问题:领导的工作,到底是应该看重人,还是应该看重任务呢?如果看重人,就需要给予下属更多的自主权,比如容许他们自行制定规划,自行安排进度,但领导需要承担放开的后果;如果看重任务,就会要求下属在规定的时间完成规定的事情,哪怕是疯狂加班也在所不惜。两种方式,究竟哪种更好呢?

其实答案比较复杂。在一般(非外包类)的公司,除去人力资源等几个部门,对领导的考核指标,并不会由对下属员工的考核所构成,而是强调领导的业绩,也就是任务的完成数量和质量;可是,领导并不能事必躬亲,自己去完成如此多如此麻烦的任务,而必须借助下属——也就是人——来完成。换句话说,领导需要完成更多更复杂的任务,但他必须通过下属来完成,或者说“迂回”地完成任务。所谓的领导力,就是这种迂回中需要的能力。

我把自己对领导和领导力的理解画成一张草图:任务是由人(下属)来完成的,领导的行为对象是作为下属的人,但其领导行为最终指向的,却是下属需要完成的任务。图中的橙色部分是领导的主要工作内容,黄色部分是下属的主要工作内容。两者有部分重叠,表示领导的工作不能止步于下属的具体内容之外,下属的工作也不能与领导的工作脱节。

现实生活中的很多例子都可以印证这一点。读过点历史的人都知道,“文革”结束之后,改革开放之初,老百姓之间流传有“要吃粮,找紫阳;要放米,找万里”的说法,称赞他们制定的“包产到户、包干到户”的农业政策。紫阳和万里并不种粮,也不是农业专家,但他们制定了正确的政策,调动了农民种粮的积极性,扭转了人民吃不饱饭的局面。虽然最终种粮的仍然是农民,但农民的种粮活动是受到紫阳和万里的领导行为的影响。也就是说,紫阳和万里“间接地”解决了吃不饱饭的问题。具体的任务还是那些任务,解决任务的人还是那些人,但换了领导,结果大不一样,这就是领导力的展现。

最开始说领导力是与人有关的学问,原因就在这里。这个道理,温伯格在《技术领导之路》中的表述更加清楚:

所谓领导力,就是创造出一个环境,提升其他人的创造力和生产力,让每个人都能发挥出更大的能力,创造出更大的价值。

或者用我的话说,同样的人,同样的事。没有领导,这些人就做不成/做不完这些事情;非得有领导才能完成。这就是领导的价值。

既然领导力与人有关,领导就不能不了解与人有关的知识。如果我们把“人完成任务的能力”粗略地称为“人力资源”,那么,人力资源有几种特性,是其它类型的资源所不具备的,值得领导特别关注。

第一种特性是,人力资源的输出是不稳定的。计算机每秒的计算量是稳定的,驴一天拉磨的圈数是固定的,泉水一天出产的水量也是相对稳定的;但人力资源不是这样,人力资源的输出受多种因素的影响。如果员工失恋了或者家人去世了,他可能每天都来上班,但上班的效率为零。当然,这只是极端的情况,但人的情绪和状态确实会极大地影响人力资源的输出。

为了保证人力资源输出的稳定,就必须保证下属的情绪和状态的相对稳定。首先,要尽量保证工作的自发自愿性,一个人是作为积极进取的公司职员,还是作为被迫劳作的农场奴隶,其生产效率绝对是有天壤之别的。在分配工作时,应当尽量考虑下属的兴趣、意愿,最糟糕的情况,就是让下属去做他非常排斥的事情,这样几乎不可能有好的收效,第一个需要反思的就是领导自己。其次,平时注意营造积极乐观的工作氛围,打消下属在工作时的过多顾虑和担忧,并注意观察下属的情绪,如果发现波动,应当及时了解、抚慰。最后,要建立信任,尤其是对喜欢多想的下属,如果没有建立足够稳定的信任机制,任何一点小变化、小波动,都可能严重影响他的情绪;如果让下属信任你对他的一贯态度,对他的工作的一贯态度,就可以避免此类问题的发生。

第二种特性是,人力资源是具有持续成长性的。要升级计算能力,你可能需要升级计算机;要烧更多的水,你可能需要更多的电,更多的煤。但是要完成更多更复杂的任务,公司给你的资源和人力编制,并不会有同步的增长。另一方面,大多数员工也有对自身发展的期望。培养下属持续成长,就可以解决以上两个问题。

要保持人力资源的持续成长,领导必须花很多的心思。一方面,根据未来的目标,有计划地培养、储备人才,以便用有限的资源,解决更多的问题。另一方面,也需要为下属考虑学习成长之路。我们在招聘时,面试者经常会说“希望能多学东西”,但是很多人并没有培养出自动自发学习进步的习惯和能力,然而如果公司没有给他“学到东西”的感觉,他又会对工作和公司失望。所以身为领导,往往必须为下属拟定一系列的学习发展步骤,并持续实施,这样既可以不断提供给下属学习的成就感和满足感,又可以培养出符合公司业务需要的,能力更强大更全面的员工。或许也正因为如此,希拉里才说:“优秀的领导,会带领人们去到他们想去的地方;卓越的领导,会带领人们去到他们没想到但应该去的地方”。

第三种特性是,人力资源的转移很快。这里说的“转移”,是指员工的流动。员工的流动会给业务的开展造成非常严重的影响——我想,再也没有什么消息,比在准备大干一场的前夜听到业务骨干离职,令领导沮丧的吧。

员工的流动是不可避免的,但身为领导,应当将其稳定在可控的范围之内。通常,员工会留在某个公司,有两个原因:第一是觉得自己的工作有希望,第二是觉得公司有希望;而且,两种希望有相当的重合。但是有些员工的“希望”很明确,有些员工的“希望”只是“有希望的感觉”而已;另一方面,员工对于“公司的希望”,其实是没有上级领导了解的全面和细致的。所以,身为领导,应当尽量向下属阐明公司的希望所在,并且照顾到员工的希望——对“希望”很明确的员工,要努力寻找他的希望与公司的希望的重合地带;对“希望”不那么明确的员工,应当从公司的角度出发,结合其个人特点,具体化并不断强化这种“期望”,得到员工的认可。如果员工的期望与公司的期望完全绝缘,找不到太多共同点,则应当尽早选定后备力量,以防下属离职给自己的工作造成困扰。