王辉的博客

是什么让我对未知世界始终充满热情?

当你春风得意,把团队越带越大的时候,会遇到新的挑战,面对繁杂的事务感到分身乏术。然而,你的精力是有限的,因为你摄入的卡路里就那么多,作为团队的领导者,在哪些人和事上,避免分配你有限的精力?答案是不要尝试打开一个你尚且没有钥匙的锁。

一个没有钥匙的锁,会白白耗费你的精力,不仅当下的锁打不开,还耽误了你开启那些你已经拥有钥匙的大门。这个钥匙,有可能在别人的手里,也有可能在时间的手里,只是你太着急没有看到。下面通过两个例子说说。

作为程序员们的扛把子,不应该硬钢一个跑了下属的光杆产品总监。与其挑战Ta让Ta通过收集用户反馈解释产品的设计动机,不如给Ta充分的时间,让Ta招到一个得力的助手。Ta一个光杆总监不可能把所有的事都干了,与其你们僵在那里,不如在已有的解决方案上进行一些微调。一是产品仍朝着好的方向上进展,二是为新来的助手争取时间。这里的锁,就是产品的调整方案,你误以为钥匙是督促产品收集用户反馈,其实是你们缺少人手,花费再多的口舌,也还是得等到相关人员到位。

另外一个例子就是问题下属。下属Ta抱怨你给Ta找不到能实现Ta远大抱负的任务。你耗损许多精力,一是和不同的老总找项目,二是苦口婆心的给下属做排解。可是到头来,找到的小项目还是不够挑战。这里的锁,是公司没有适合下属的任务,你以为钥匙是努力的找肯定能找到充满野心的项目,其实是公司做了战略调整,出现了大的人士变动,你的下属正好是因此而落的处境尴尬的人。你在Ta身上花了精力带来不了大的收效,反而耽误了你指导核心位置上的核心下属。

精力不要花费在一把你没有钥匙的锁上。虽然我们未必一下子就能辨得出钥匙在哪里,但是一定要在你大费周折之前看看你的手里,有没有开锁的钥匙。

一个享受编程的程序员为什么会有转管理的念头?更何况技术精进的好,不愁找工作,不愁加薪,还受领导重用,同事尊重,名利双收。我想通过亲身经历,说说转型管理的心路历程。

转型管理,这个念头来自一次失败的创业经历。从那以后,意识到了,再好的技术,如果解决不了用户的痛点,投入再多的心血,也都是无用功。这是走向管理最重要的契机。除此之外,还有好奇心的驱动,做了七年多的开发,技术仍可以进步,但吸了水海绵,越吸越难,在管理这个新领域,很多知识都是新的,一碰就能吸进去。第三个原因,是想体验帮助人的快乐,程序员死磕代码,带来的是自我的成就感,做管理,能让光和热,温暖到更多的人。

转管理更能创造价值。相对于程序员来讲,经理有更多的牌可以打,让程序员敲出的代码,能解决真正的问题,好钢用在刀刃上。这里所说的牌,是对项目更大的把控。首先,作为技术经理可以和产品经理及其他业务人员,围绕产品进行更深远的规划,因为技术经理可以从日常的事物中抽出身来,把花在机器上的编码调试时间省出来,抬头远眺,评估和管理产品可能遇到的风险。其次,可以利用所掌控的资源,为项目的进展保驾护航,特别是当项目遇到困难的时候,有权利调配研发力量,对产品进行迭代。最后,随着经历不断丰富,对产品,项目管理,技术实现等各个方面洞察力会不断增强,能从产品研发的全方位确保价值的产生。

转管理更能博闻强识。程序员满足自身的求知欲,断然不是问题,这得益于技术更新换代的高速度。然而,程序员要做的优秀,最保险的是在技术领域深耕细作,这也往往限制了程序员对其他领域的探索和发现,失去了达到新高度的机会。做技术经理,除了对技术积累的要求外,有机会也有必要触及更多的领域。培养情商,有利于沟通;知晓心理学,有利于增强领导力;储备金融知识,有利于判断企业的发展潜力;学习决策组织管理,有利于在不同的机构不同的环境中游刃有余。自从转了管理以后,我发现了另外一片知识的海洋,享受着学习的快乐。

转管理更能发现意义。写代码也好,做产品也好,达到职业巅峰也好。日出日落之后,是什么让你觉得你做的事情有意义。人作为一个社会动物,我觉得通过人与人之间的相处更容易找到意义。转了管理,考虑的不仅仅是自己,开始懂得照顾他人,关心团队的业绩,队员的成长。在对团队坚持不懈的支持下,团队取得的卓越绩效,队员的稳步成长,比独自撸代码战胜难题,更能带来满足感。

上面说了我从程序员转型管理最重要的动机。然而我并不想盲目鼓励所有的程序员都去着急的转管理。这里有两个很重要的原因,首先,程序员和技术经理,不是黑与白的对立。管理特别是在技术领域下,需要程序员时期技术的沉淀,这样一来能更加深入的理解程序员这个群体的需求,二来帮助你得到程序员们新的信任,三是有助于敏锐的发现项目中暗藏的技术风险。

除了需要技术积累,选择管理并不是对所有的人都适合。如果你喜欢专注起来做一件事,喜欢钻研事物的本质而成为某个领域的专家,比如某个数据库,或者某个编程语言。做程序员最大的幸事,就是你既可以做自己喜欢的,也可以衣食无忧。

为什么要转型?如果你还没有答案,也不要过于纠结,大不了试一试,喜欢了就接着做,不喜欢可以继续做回工程师。这其实不但可行,反而会有意外的收获,因为管理,可以使你成为更好的工程师。因为从事管理,可以锻炼你更加全面长远的看待问题。也可以让你接触到更多的问题及解决办法,进而增加处理问题的经验。凡是没有绝对的黑和白,不同的岗位有不同的优缺点,如何找到合适你的,这是一个值得整个职业生涯都去考虑的事。

从程序员转了管理之后,我一部分的管理知识来自试错的经验积累,一部分是领导的言传身教。它们虽有可取之处,却难免低效片面,为此我没少探索理论的支持。在苦苦寻觅的过程中,发现了欧洲管理学大师马利克所著的《管理、成就、生活》。认识到了管理可以作为一种职业,通过其四大基本要素:任务,工具,原则和职责,进行系统化的学习。

管理的任务,指的是为组织取得理想成果,而必须做的事情。管理工具可以帮助更好的完成任务。管理的原则,决定着任务完成的质量和工具的使用效率。前三者积累知识,反复操练可以习得,而管理的职责,追求的是德才兼备,需个人树立正确的价值观。

原则

关注结果:关注结果就会为做的事情负责
为整体做贡献:把集体的利益放在首位,有利于团队合作
聚焦关键:面对分散精力和浪费时间的威胁,把精力聚焦在最关键的事情上,才能出成果
利用优势:好的管理者识别并发扬属下优势
信任:相互信任的团队,能同甘共苦,在出现管理错误的时候,才能挺过来
正面思考:有志者事竟成,越是正面思考,越容易激发人们去关注解决方案

任务

制定目标:制定目标指明集体前进的方向
组织:怎样组织,才能让大家把注意力放在客户花钱的地方,让员工,高管做最应该做的事情
决策:好的决策包括制定和执行
监督:虽然不讨好,但监督可以避免丑闻或灾难性的错误
人的发展:做什么事,都离不开人,所以首要任务就是人的发展

工具

会议:会议可以做到高产出,它来源于对结果的追求
报告:写下来便于更深入更有效的沟通讨论
工作设计与任务控制:为人才分配合适的工作,并帮助他们聚焦在最重要的事情上
个人工作方法:如何管理时间,构建记忆系统
预算和预算编制:预算会使长远规划、蓝图、战略、创造力与创新变得更清楚
绩效评估:真正的目的是通过回看做过的事情,发现对方的优势
系统的“垃圾”处理:清楚冗余才能持续发展

虽然学习可以系统化,但管理者所处环境不同,自身情况有别,学起来一定要灵活应变。这也是作者从头至尾时刻在强调的学习心态。

要想和别人有效的沟通,最重要的是把自己的想法清晰的表达出来。金字塔原理,帮助你有逻辑的组织思维,更加容易的让人准确的接收到你的信息。

在读芭芭拉这本书之前,我曾经上过一个清晰商业英语写作的课,当时学到的最重要的一课是,写文章要开门见山。从那时起,逐渐明白通过改变文章的结构,可以达到有效沟通的目的。话说回来,之前写了那么多作文,应该也是有结构的,议论文,记叙文都练过,可能当时太过书生气,从来没想过结构能提升沟通力。

再之后,开始从技术岗转管理岗,查了一些MBA的书,才偶然的碰到了培养逻辑思维的这本《金字塔原理》。看完之后,如获至宝,理论结合实践,慢慢体会到了金子塔结构的优美之处。

当用金字塔结构沟通的时候,要从上往下走,先说出你的结论,然后再给出支撑你结论的原因。举个例子,给老板汇报解决方案。用金字塔的结构讲,就是我想选方案甲,因为它能满足产品的需求,并且相对方案乙来说,开发周期短。如果你采用另外一种先说原因的方式,洋洋洒洒说了很多方案甲和方案乙的各种优劣,最后再告诉老板说,“综上所述,我们应该选甲方案”,年轻力胜的老板应该能听你说完,安逸一些的可能都睡着了。

金字塔结构为什么好用?因为它对大脑的处理信息的方式很友好。你一旦告诉了结论,大家就会自动的带着问题听你讲下去,并且因为你交了底,听众知道什么信息,需要留意,什么直接可以丢弃。相反,如果你把结论当成悬疑破案片,留到最后,听众首先不知道接收的信息是否有用,所以就不得不存储这些信息,大脑的短期记忆是有限的,想记住更多的信息,就得更费力。

除了对大脑处理信息有帮助外,金字塔开门见山式的结构,也可以让受众去选择,我们是否要展开某个话题,如果受众觉得话题已经很有利的证明了结论的话,也可能直接要求跳过,进入下一个需要深入探讨的话题。

金字塔原理的运用范围,不局限于开会,写作,演讲等沟通领域,还可以在解决复杂问题的时候,通过建立逻辑树,帮你理清解决问题的思路。这篇文章,抛砖引玉,关于具体的金字塔内部结构,如何构建金字塔,就留着您和本书作者芭芭拉在书中相遇时在交流吧。

克里斯多夫的书,帮助拥有亲密关系的人们,尤其是伴侣,认识他们之间的关系,并且教大家如何通过这层关系找到人生的启示。

亲密关系的发展,一般分阶段。从甜蜜开始,经历困难,越不过去的分手道别,越过去的经历内省,或许能得到人生的启示。不过,它也可能会出现倒退,进而有新的内省和启示。

书中下面的几段见解,对我的启发比较大,和老婆探讨过,她也很认同。

当下的愤怒和过往的伤痛

当下的愤怒可能会让你喘不过气,但是如果你能跳出愤怒的包围圈,冷静的分析一下事情出现的根本原因,事态很有可能会朝更好的方向发展。

眼前的争执点燃了Ta的愤怒,很多时候只是外因,内因,来自Ta过往经历,尤其是童年的家庭经历。缺乏安全感,信任,关爱,会给人留下伤痛。而当前的愤怒,有可能是旧伤复发了。

如果你能这样想,而不是针锋相对,你就能更加容易的面对当前紧张的局面,进入一个安静的,深层次的交流,敞开心扉追寻Ta这么做的原因。一旦走上了平静的,探索的道路,你们就能发现过往对你现在的影响,最后达到疗伤的目的。

只有双赢才是唯一的健康解决办法

你拿出了很多论据,现在的,过往的,终于证明Ta错了,Ta出于负罪感,做出了你要求的改变。这种解决冲突的办法,表面上平息了战火,却留下了再次冲突的种子。双赢,追求的不是谁对谁错,而是通过深层次的沟通,发现彼此心中的伤痛,互相抚慰,共同治愈。

有人牺牲,就有人放纵

你做了很多你不愿意做的事情,但是这样可以帮你避免冲突,这时候你是牺牲者,Ta是放纵者。这种牺牲,会把你们的亲密关系拉向更危险的境地,因为有一天,你可能会爆发,说我给你做了那么多,而你却还视而不见。

更糟糕的是,一个人牺牲的越多,另一个人就放纵的更多。换句话说,你的牺牲,喂养了Ta的放纵。

牺牲的对立面是享受。如果你是在享受做一件事,你不会注意到时间的流逝,也不会积累你心中的怨气,会让你们的亲密关系增添更多的轻松惬意。辨别牺牲和享受最容易的办法,就是问问你自己,你是不是发自内心的愿意做这些事情。

学会接受

在遇到自己不想面对的事情的时候,我们通常的反应是,逃避,愤怒,或者懊悔。然而,事情的发生都是有因有果的,当它们出现的时候,也就是瓜熟蒂落的时候,接受他们的出现,会让我们变得更加平静,自然。

学会接受,就学会了欣赏,让风再吹一会,让雨再下一会,让雪再飘一会。

作为结尾,在亲密关系中,Ta是一面镜子,你能从镜子中看得到,你旧时的伤痛;Ta是一个桥,你能从桥上,到达你不敢去的地方;Ta是爱的启示。

高效的培养新人,要从两个方面考量,一是新人得到提升,二是老师没有过度消耗精力。我从一个真实的错误中学到了一条很宝贵的经验,能二者兼顾。那就是在每次授业解惑前,必须备好课。

有一次,我回看新人的代码,发现不少需要改进的地方,就找到他手把手的演示如何把代码写的更加简洁。因为是临场讲解,有的问题挖的深,有的拓的宽,不知不觉,别的同事都下班了,就剩下了我俩,还有对面暗地里观察我们的老板。事后,老板找到我,说我在新人身上花的时间太多了,自己的任务都给耽误了,他给我分享了一个技巧,帮我更加高效的带好新人。

这个技巧,就是在每次授业解惑前,必须备好课,切忌临场展开大规模的讨论。备课的目的,是事先抓住问题的关键,理清讲解的范畴和思路,规划好哪部分手把手教,哪些让新人自学。这样做的好处,一是把信息更加简洁的传递给新人,并且给他自学的机会,留给他足够多的时间去消化吸收难点。一旦新人能通过一部分的自学解决问题,这就能节省老师的时间。

然而,要彻底的发挥这个技巧的威力,有一个前提,就是老师得事先充分了解到新人遇到的问题,和新人的水平。如果问题了解的不清楚,本来是语文课,结果备成了数学,没用。新人自学能力不足,你甩给他一堆资料,他也学不会。

除了这个前提,还有后续的反馈。新人自学一段之后,要从新评估他对问题的理解水平,作出相应的备课调整,进而再讲解。

高效的培养新人,就是要建立一个,从了解,备课,传授,到从新评估的循环机制。刚开始带新人的老师,可能在每个阶段上都要花些心思,这个循环的周期也可能是一天,两天,或好几天。随着老师带人阅历的增加,不同阶段之间的衔接会更流畅,带人的效率也会更高。

今年参加了法国最佳程序员(Meilleur Dev de France)比赛,结果第一轮就惨遭淘汰,非常可惜,总结一下失败的教训,希望下一年能比的更好。

之所以止步第一轮,有几个主要原因。

首先,是太在意得失了。第一次取的了不错的成绩,大伙包括自己,都有很高的期待。开赛前,老板还给我说,如果进了前二十就请客吃饭。越是在意得失,就越难集中注意力。

除了心态,另外是解决问题的方法。越是到关键时刻,越不能像无头苍蝇一样乱撞。乱撞的成本太高,这次浪费了不少时间,纠结是大于等于,还是纯大于的一些操作上。越是乱,越要冷静的思考,可以画个图,演算一遍算法,每个细节都要有理论的支撑。

冷静之后,还要提高考虑问题的层面,不要着急的直奔方案,而是要先申清楚所期待的输入输出,避免做一些错误的假设。如果开头的假设,是不正确的,就像盖楼一样,盖得再高,也要推到重做。具体的来讲,就是可以花上一分钟的时间,把题目举得例子都先扫一遍。

最后一个原因,就是生搬硬套。这些年来,大大小小的比赛也参加了不少,自己也积累了一些常用问题的解决办法。可过多的依赖已经写过的代码,也是有风险的。已经写过的代码,往往是经过提炼和抽象,解决一类问题的。如果要重用这些代码,必须把现有的问题转化成既有方案能适用的样子。这个转化的过程,很容易拖慢解题速度。比如这次我遇到的问题,其实是一个很简单的深度遍历的问题,如果生写代码,几分钟也就能搞定了。我却过度的依赖一个已有的框架,做了一些转换,结果转换的过程中,出现了一些差错。

可归根结底,还是平时训练的少,自己如果真的掌握的已经炉火纯青,也不至于在压力的情况下就败下北来。

失败的滋味,很不好受,特别是这种有排名的比赛,就觉得你都工作七八年了,还比不过,那些还没有毕业的大学生,情何以堪!当天晚上回来,就一直懊悔,为什么会犯那么低级的错误。虽然会难过,但也会暗示自己:不能只注重结果,过于的在意输赢,很容易就导致一个人在失败的时候,完全放弃。参加比赛,更重要的是激励自己平时的积累,保持思维的敏捷,学习不能停。失败了,就意识到了不足,继续加油!

0%