【感谢 @风枫峰 投递本文】

故事一:
背景介绍:RT是一个外包公司,ZWZX是项目承接公司,YD是甲方。

RT公司每天下班的时候都会接到ZWZX负责人的电话,询问一天的工作情况,然后布置任务要求晚上加班做完,RT公司的员工很无奈也很气愤因为每天都要加班,员工们就问项目经理:“为什么天天加班赶需求,今天才提一个需求,明天就要上线,还让不让人活了?” 项目经理无奈的说:“我有什么办法啊?这是人家ZWZX负责人说的啊,对方逼得紧。”

多次以后项目经理也忍不住了,就问ZWZX的负责人怎么天天这样啊,ZWZX的负责人就说了:”明天就要向YD的负责人展示这个页面,我也没有办法啊?YD那边老总就是这么要求的,我怎么办,我也不想这样啊?”

然后RT的项目经理实在受不了了就辞职了,新上任的项目经理又会走他的老路,因为从开始我们就被培养“满足客户的需求是最重要的”。RT的员工也就这样一直抱怨着,一直忍受着。天天在心里咒骂YD的老总真是没有人性,不拿人当人看啊!

人换了一批又一批,加班也就慢慢的变成了应该的,你不加班说明你不敬业,不合格。

故事二:
IE6一直存活着,所有的前端开发人员都痛恨它,都不想兼容它,可是产品经理看到IE6的市场占有率还是这么高,就会要求前端开发人员必须兼容IE6。

 

矛盾又来了,就像故事一一样,前端开发人员天天抱怨,产品经理也天天抱怨,但是面对IE6的市场份额,产品经理会劝开发人员说:“我有什么办法啊?IE6的市场份额就是这么高,不兼容怎么办啊?我也不想啊!” 开发人员也就这样忍受着,然后不断地抱怨用IE6的用户低端,没文化,怎么还用IE6啊!天天兼容IE6就够烦的了,还怎么创新啊!

这两个故事里出现的问题到底是谁的错误引起的? 

故事一的罪魁祸首是YD的老总吗?

故事二的罪魁祸首是那些还用着IE6的用户吗?

从这两个嫌疑最大的罪魁祸首眼中看一下这两个故事:

故事一:
我是YD的老总,我要建立一个网站,找到了ZWZX公司,签订了合同,我提需求他们实现。

我不懂制作网站,可是我才思敏捷,创意无限,不停的会有好点子从我的脑海里蹦出来,每当有一个好点子蹦出来后,我都会给ZWZX公司的负责人讲清楚我的想法,让他实现,开始我不知道做一个页面需要多长时间。第一次我试探性的说了一周必须把我这个点子做出来,ZWZX公司负责人很痛快的答应了,一周后我果然看到了这个功能。

可是会不会我给他们的时间太长了?对!肯定是,要不也不会答应的这么痛快。这些人啊!天天就是想拖时间,好多骗我点钱。

点子又来了,这次我要求5天做出来,这个点子和上个点子类似,我倒要看看5天能不能做出来~  ZWZX公司负责人一副痛苦的表情,我会不会逼的太紧了,5天是不是真的做不出来?到时候看看吧,如果5天没做出来估计是我给的时间太少了。

5天过去了ZWZX公司的负责人很高兴的拿出了我要的功能实现,哎,看来开始真的骗了我两天。就是不知道5天会不会还是多了啊?下次给3天~

又拿出来了,虽然他装的好像时间太紧似的,可别以为我不知道,你第一个功能最多3天就做出来了,我还给了你7天的项目经费,你们多赚了我多少啊!!!! 真是没良心。 下次1天!!!

啊啊啊啊啊啊啊啊!!! 1天就出来了,这些人。。。。。  有没有良心,原来做这个这么简单,以后就给1天,不 ! 一天N个功能。

故事二:
我买了个电脑,没什么别的用途,就是打开电脑上上网,上上QQ和儿子聊聊天,QQ是儿子给我装上的,这样我就可以和他视频了。有一次QQ提醒我说我的QQ版本太低了,不能视频了,我打电话问儿子,儿子说按提示升级一下QQ就行了,呵呵,我按QQ的提示,儿子的指示一步一步的升级QQ成功了,看来电脑也不难啊!

到这里您认为开始的两个故事的罪魁祸首是谁啊?

我们一直以加班,甚至通宵去满足客户不合理的要求,只因为他是客户。只因为人人都认为满足客户的要求是我们最大的
价值,可是不合理的要求不能去拒绝吗?套用刘欢说的一句话“我们是不是活的应该有些尊严”,一味的迎合客户,只会让我们自己越来越痛苦,反而得不到用户的尊重,肯定。

我一直有个疑惑,很多人说网站不支持IE6,而选择让用户去升级IE,这样的用户体验不好!如果按照按照这个逻辑,是不是我们都应该是Web应用,而且都应该是IE6下的Web应用呢?为什么微软还要出WIN8,一直XP不是挺好的吗?让用户升级系统,用户体验多么不好啊?QQ,360,搜狗输入法,等等客户端软件用户体验不都不好吗? 都还要用户下载。

实在搞不懂为什么我们做个东西非要去支持IE6呢?检测到用户是IE6,给个提示,给个升级链接不就行了? 这样做用户体验是有多么不好吗? 你天天去支持IE6,还要天天磨叽用户使用IE6,你不觉的很矛盾吗?再说我一个普通用户,你如果不提醒,我怎么知道要升级IE6啊?

对于遭遇了故事一,故事二的人只能送上一句话“哀其不幸,怒其不争!”

原文链接:http://hfcc8685.github.com/blog/2012/04/19/shui-zhi-cuo/

谈谈我的“三观” | 酷 壳 - CoolShell

 软件公司的两种管理方式 | 酷 壳 - CoolShell

这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间。他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定会有体会,并让我考虑一下翻译到我的blog上来。我看完后觉得很有代表性,而且觉得说得太对了,所以翻译过来,希望大家都读一读,最好转给你的公司老板。

这篇文章来源于 StakeExchange上的一个问题——“为什么BA和PM的薪水要比程序员要高?”,顶在一楼的回复分析了这个原因,并指出了两种管理文化。

———————————————————正文开始————————————————————

一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”。但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有解释

  1. 为什么PM(Project Manager)和BA(Business Analysts)在很多软件公司里在组织的上层?
  2. 为什么软件项目团队总是在最底层?

这两个问题真是非常地值得我们去问,去思考。

总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组).

Widget Factories 想要去解决 怎么去激发被X理论所影响的人 。X理论由 McGregor提出,这个理论是说,一般人的本性是懒惰的,工作越少越好,可能的话会逃避工作,大部分人对集体(公司,机构,单位或组织等)的目标不关心,因此管理者需要以强迫,威胁处罚,指导,金钱利益等诱因激发人们的工作源动力。于是,经理总是要去做他下属的工作。于是,基于这种前提下所思考出来的管理方式,很自然的就是——整个团队能够容易地被经理一个人所取代,这种团队中的每一个人都很容易被别人取代,在这种团队里,经理的工作能力不断地被加强。因些,这种公司一般使用树形层级的组织结构,而不是水平式的工作角色。

 

Widget Factory 管理体系运作于软件需求的某种假设,这种假设需要BA在一个定义地非常明确的并且需要主管项目经理监管的流程的环境下,准备软件的规格说明书。这种软件制造业需要对项目定置足够的可被替换的编程和测试资源。整个工作由事先安排好的预算来驱动,这个预算由PM和BA在初始化business case的时候完成。

一个 Widget Factory 的公司的管理可以通过观察这个公司员工的谈话方式识别出来。他们很喜欢谈论Resource资源(包括干活的人也叫做resource),Process流程,Operating efficiency运作效率,uniformity一致性, repeatability可重复性,严格在控制对资源的使用,鲜明的工作角色和 鲜明的流程定义(inputs 和 outputs)。他们对实实在在的软件开发漠不关心,他们想要把理想中的软件开发运作变成他们看得见的图画。

Film Crews 。这种公司认为人是有相当高的智力和创造力的,是自己可以激发自己的(陈皓注:即使没有外界的压力和处罚的威胁,他们一样会努力工作以期达到目的——人们具有自我调节和自我监督的能力),人们努力工作,并且可以享受工作(人们愿意为集体的目标而努力,在工作上会尽最大的努力,以发挥创造力,才智),就像孩子喜欢玩一样。 Film Crews 认为,每一个个体的自已专业能力,要远远优于那种被组织和协调出来的能力。因为经理不再代替每一个人,而树形的层次架构也不能很好的运作——人们不得不以比较复杂和形式合作才能把事搞定。工作职责变得非常地垂直——你需要具有从上到下的而比较宽泛的各种能力(陈皓注:每个人都需要有管理和技术能力),这种管理也就是基于 McGregor的 Y理论

对于一个Film Crew 的Director(注:有总监和导演的意思),他了解把一个伟大的软件组合起来的每一个碎片,他需要组织一个无与伦比的团队,并且要帮助这个团队能凝聚在一起,团结在一起工作。他的角色是鼓舞大家,守护着构想(Vision),提供方向和集中大家的精力。团队里的每一个人都很关键,因为“Director”相信软件的结果来自所有的参与者,以及他们的那种独一无二团队工作方式。大家都知道自己是这个事的一个明星,明星效应可以增加成每个人的成功的机会。而他们的构想(Vision)驱动着项目的预算和拨款。

当我们用报酬来表示的话, Widget Factories 认为,有价值的东西总是从PM和BA派生出来的,所以他们常驻在管理层的上面,也有相应的报酬,而对于软件团队,只要他们正确地把需求变成可工作的代码后,软件团队就变得无所谓了。PM 和 BA 努力工作来维护他们的权位,他们通常不会让你能得到项目的原始信息。因为团队拿不到项目的原始信息,所以团队就要拼命地制造各种理由来让他们的方案变得有价值,程序员成为了只会从PM和BA那边听从命令的工人。而这种情况反而让Widget Factory 公司放大了他们的那种想法——程序员都是差不多的,就像车间里的工人一样,他们只不过在机械地干一些很复杂的但是很标准的事情。

与 Widget Factories 公司鲜明的对比,Film Crew 更主张的是平等的工作职能,每个成员都可以不受限制地获得主要的和原始的信息,其鼓励所有人形成自己的价值判断,并且可以自由地选择不同的方式来达到团队的构想。Leadership领导力结构基于人的能力而不是工作角色。报酬折射出这个人是怎么在这个项目中工作的,需要明白这个人为我们的软件创造了多大的价值和产生了怎么样的结果。 在这种环境里,PM的工作显得并不突出,他也许也不太可能是一个有创造力的领导者,工作角色被弱化成了一种行政管理上的支持者,以及团队外部的联系者。BA的部分工作直接被团队取代(在项目早期被Director取代)。

今天,我们一点也不奇怪,大多数的公司内的软件开发团队以及一些咨询工作运作于 Widget Factories ,其需要依赖于流程来不断地制造那些无聊的软件。在这种情况,惯例上来说,PM和BA要比程序员挣得更多,这是基本一种他们可以创造更多价值的假设。在这种组强架构和管理里,程序员们很难证明管理是错误的。

成功的软件公司都会趋于采用 Film Crew 的方式,任何其它的东西都会妨碍他们吸引牛人的能力,因为只有吸引了牛人,你才能创造出伟大的软件。 在这种公司里,一个好的程序员的收入会高过BA和PM很多。

———————————————————正文结束————————————————————

读完这个贴子,我发现这完全就是在说我上一家公司和现在公司。我上一家公司的经理们最喜欢谈论的就是resource、 process,而他们的Project Manager或Team Manager或Dev Manager几乎不会为软件团队分担真正的软件开发的压力,还不如Widget Factory。哎!第一次看到这么被人系统地表达出来,心中的一些困惑都得到了解答。

你的公司属于哪一种呢?

————更新 – 2011-7-6 晚————

有人在我的新浪微博(@左耳朵耗子)里说,Widget Factory就是Waterfall,Film Crews就是Agile,在下面的留言里也说Film Crews很像SCRUM。我在这里驳斥一下这种说法:

  1. 我上一家公司也用Agile ,但本质上还是Widget Factory,甚至还不像。
  2. 著名的Thoughtworks中国公司,Agile的倡导者,其实是外包公司,他们的开发团队中也有PM和BA。

管理 - 为什么业务分析师和项目经理的薪水比程序员高? - 软件工程堆栈交换

做正确的事情,等着被开除。

谷歌新员工(我们称做“Nooglers”)经常会问我是如何让自己做事这么高效的。我半开玩笑的告诉他们这很简单:我选择做正确的事情,为谷歌,为世界,然后回到座位上,等着被开除。如果没有被开除,那我就是做了正确的事情——为所有人。如果被开除了,那选错了老板。总之,两方面,我都是赢。这是我的职业发展策略。

这需要对自己的判断有信心,去树立威信,去承担责任,去做决策,去冒风险——换句话说,去做你被雇来该做的事!

你会认识到公司都是精神分裂的。它们制定规章制度,设立各种框架,让人们去遵守:

  • “像这样考核员工….”
  • “开会时要这样……”
  • “产品要这样测试和这样部署…..”
  • “新项目要经过这些人的审核……”

通常,这些制度要比没有制度和框架好。它们能帮助新经理和团队有效的开展工作。他们约束新员工按正确的方式做事情。

但是,壮举从来不是诞生在制度、规则和框架之下的。这也就是为什么公司同时希望看到员工勇于冒险,果断决策,尝试新事物,快速行动,甚至打破规则。

这意味着,你应该能认识到,当过程太繁冗时,应该有一个更好的方法。这意味着,为了让新功能/产品发布,你要勇于站出来呼吁可以接受一些技术债务和执行风险,因为你知道获得真实用户的反馈是如此的重要。这意味着你应该批准超出预算的差旅,让某个员工去参加他向往的研讨会。这意味着你要拿出一部分时间来按你的想法开发出新的工具来帮助支持团队诊断客户问题。这也意味着你要放慢开发速度,花部分时间来重构——即使在应该最快的完成任务上损害了你的名声。你之所以这样做,是因为这样有益于你的团队,公司,以及客户。

当你破坏了规则,去做自己认为是正确的事情时,你是在冒险。有时这会有报答,但有时不会。失败了没什么——但一定不要在相同的事情上因为相同的原因犯同样的错误。要知道风险在哪里,从结果中吸取教训。我知道的最好的工程师和经理都是喜欢打破规则,喜欢冒险的。你也应该这样。

做正确的事情,等着被开除 –

 X 理论和 Y 理论 - 维基百科

我看绩效考核 | 酷 壳 - CoolShell

索尼前常务董事天外伺郎:绩效主义毁了索尼

索尼前常务董事天外伺郎:绩效主义毁了索尼_科技_腾讯网

索尼连续4年亏损,去年更亏损63亿美元。为什么?绩效主义毁了索尼!因实行绩效主义,职工逐渐失去工作热情。在这种情况下是无法产生“激情集团”的……公司为统计业绩,花费了大量的精力和时间,而在真正的工作上却敷衍了事,出现了本末倒置的倾向

文/天外伺郎

2006年索尼公司迎来了创业60年。过去它像钻石一样晶莹璀璨,而今却变得满身污垢、暗淡无光。因笔记本电脑锂电池着火事故,世界上使用索尼产锂电池的约960万台笔记本电脑被召回,估计更换电池的费用将达510亿日元。

PS3游戏机曾被视为索尼的“救星”,在上市当天就销售一空。但因为关键部件批量生产的速度跟不上,索尼被迫控制整机的生产数量。PS3是尖端产品,生产成本也很高,据说卖一台索尼就亏3.5万日元。索尼的销售部门预计,2007年3月进行年度结算时,游戏机部门的经营亏损将达2000亿日元。

多数人觉察到索尼不正常恐怕是在2003年春天。当时据索尼公布,一个季度就出现约1000亿日元的亏损。市场上甚至出现了“索尼冲击”,索尼公司股票连续两天跌停。坦率地说,作为索尼的旧员工,我当时也感到震惊。但回过头来仔细想想,从发生“索尼冲击”的两年前开始,公司内的气氛就已经不正常了。身心疲惫的职工急剧增加。回想起来,索尼是长期内不知不觉慢慢地退化的。

“激情集团”消失了

我是1964年以设计人员的身份进入索尼的。因半导体收音机和录音机的普及,索尼那时实现了奇迹般的发展。当时企业的规模还不是很大,但是“索尼神话”受到了社会的普遍关注。从进入公司到2006年离开公司,我在索尼愉快地送走了40年的岁月。

我46岁就当上了索尼公司的董事,后来成为常务董事。因此,对索尼近年来发生的事情,我感到自己也有很大责任。伟大的创业者井深大的影响为什么如今在索尼荡然无存了呢?索尼的辉煌时代与今天有什么区别呢?

首先,“激情集团”不存在了。所谓“激情集团”,是指我参与开发CD技术时期,公司那些不知疲倦、全身心投入开发的集体。在创业初期,这样的“激情集团”接连开发出了具有独创性的产品。索尼当初之所以能做到这一点,是因为有井深大的领导。

井深大最让人佩服的一点是,他能点燃技术开发人员心中之火,让他们变成为技术献身的“狂人”。在刚刚进入公司时,我曾和井深大进行激烈争论。井深大对新人并不是采取高压态度,他尊重我的意见。

为了不辜负他对我的信任,我当年也同样潜心于研发工作。比我进公司更早,也受到井深大影响的那些人,在井深大退出第一线后的很长一段时间,仍以井深大的作风影响着全公司。当这些人不在了,索尼也就开始逐渐衰败。

从事技术开发的团体进入开发的忘我状态时,就成了“激情集团”。要进入这种状态,其中最重要的条件就是“基于自发的动机”的行动。比如“想通过自己的努力开发机器人”,就是一种发自自身的冲动。

与此相反就是“外部的动机”,比如想赚钱、升职或出名,即想得到来自外部回报的心理状态。如果没有发自内心的热情,而是出于“想赚钱或升职”的世俗动机,那是无法成为“开发狂人”的。

“挑战精神”消失了

今天的索尼职工好象没有了自发的动机。为什么呢?我认为是因为实行了绩效主义。绩效主义就是:“业务成果和金钱报酬直接挂钩,职工是为了拿到更多报酬而努力工作。”如果外在的动机增强,那么自发的动机就会受到抑制。

如果总是说“你努力干我就给你加工资”,那么以工作为乐趣这种内在的意识就会受到抑制。从1995年左右开始,索尼公司逐渐实行绩效主义,成立了专门机构,制定非常详细的评价标准,并根据对每个人的评价确定报酬。

但是井深大的想法与绩效主义恰恰相反,他有一句口头禅:“工作的报酬是工作。”如果你干了件受到好评的工作,下次你还可以再干更好的工作。在井深大的时代,许多人为追求工作的乐趣而埋头苦干。

但是,因实行绩效主义,职工逐渐失去工作热情。在这种情况下是无法产生“激情集团”的。为衡量业绩,首先必须把各种工作要素量化。但是工作是无法简单量化的。公司为统计业绩,花费了大量的精力和时间,而在真正的工作上却敷衍了事,出现了本末倒置的倾向。

因为要考核业绩,几乎所有人都提出容易实现的低目标,可以说索尼精神的核心即“挑战精神”消失了。因实行绩效主义,索尼公司内追求眼前利益的风气蔓延。这样一来,短期内难见效益的工作,比如产品质量检验以及“老化处理”工序都受到轻视。

“老化处理”是保证电池质量的工序之一。电池制造出来之后不能立刻出厂,需要放置一段时间,再通过检查剔出不合格产品。这就是“老化处理”。至于“老化处理”程序上的问题是否是上面提到的锂电池着火事故的直接原因,现在尚无法下结论。但我想指出的是,不管是什么样的企业,只要实行绩效主义,一些扎实细致的工作就容易被忽视。

索尼公司不仅对每个人进行考核,还对每个业务部门进行经济考核,由此决定整个业务部门的报酬。最后导致的结果是,业务部门相互拆台,都想方设法从公司的整体利益中为本部门多捞取好处。

团队精神消失了

2004年2月底,我在美国见到了“涌流理论”的代表人物奇凯岑特米哈伊教授,并聆听了他的讲演。讲演一开始,大屏幕上放映的一段话是我自进入索尼公司以来多次读过的,只不过被译成了英文。

“建立公司的目的:建设理想的工厂,在这个工厂里,应该有自由、豁达、愉快的气氛,让每个认真工作的技术人员最大限度地发挥技能。”这正是索尼公司的创立宗旨。索尼公司失去活力,就是因为实行了绩效主义。

没有想到,我是在绩效主义的发源地美国,聆听用索尼的创建宗旨来否定绩效主义的“涌流理论”。这使我深受触动。绩效主义企图把人的能力量化,以此做出客观、公正的评价。但我认为事实上做不到。它的最大弊端是搞坏了公司内的气氛。上司不把部下当有感情的人看待,而是一切都看指标、用“评价的目光”审视部下。

不久前我在整理藏书时翻出一封信。那是我为开发天线到东北大学进修时,给上司写信打的草稿。有一次我逃学跑去滑雪,刚好赶上索尼公司的部长来学校视察。我写那封信是为了向部长道歉。

实际上,在我身上不止一次发生过那类事情,但我从来没有受到上司的斥责。上司相信,虽然我贪玩,但对研究工作非常认真。当时我的上司不是用“评价的眼光”看我,而是把我当成自己的孩子。对企业员工来说,需要的就是这种温情和信任。

过去在一些日本企业,即便部下做得有点出格,上司也不那么苛求,工作失败了也敢于为部下承担责任。另一方面,尽管部下在喝酒的时候说上司的坏话,但在实际工作中仍非常支持上司。后来强化了管理,实行了看上去很合理的评价制度。于是大家都极力逃避责任。这样一来就不可能有团队精神。

创新先锋沦为落伍者

不单索尼,现在许多公司都花费大量人力物力引进评价体制。但这些企业的业绩似乎都在下滑。

索尼公司是最早引进美国式合理主义经营理论的企业之一。而公司创始人井深大的经营理念谈不上所谓“合理”。1968年10月上市的单枪三束彩色显像管电视机的开发,就是最有代表性的例子。

当时索尼在电视机的市场竞争中处于劣势,几乎到了破产的边缘。即便如此,井深大仍坚持独自开发单枪三束彩色显像管电视机。这种彩色电视机画质好,一上市就大受好评。其后30 年,这种电视机的销售一直是索尼公司的主要收入来源。

但是,“干别人不干的事情”这种追求独自开发的精神,恐怕不符合今天只看收益的企业管理理论。索尼当时如果采用和其他公司一样的技术,立刻就可以在市场上销售自己的产品,当初也许就不会有破产的担心了。

投入巨额费用和很多时间进行的技术开发取得成功后,为了制造产品,还需要有更大规模的设备投资,亦需要招募新员工。但是,从长期角度看,索尼公司积累了技术,培养了技术人员。此外,人们都认为“索尼是追求独特技术的公司”,大大提升了索尼的品牌形象。

更重要的是,这种独自开发能给索尼员工带来荣誉感,他们都为自己是“最尖端企业的一员”而感到骄傲。单枪三束彩色显像管电视机之所以能长期成为索尼公司的收入来源,是因为技术开发人员怀着荣誉感和极大热情,不断对技术进行改良。

具有讽刺意味的是,因单枪三束彩色显像管电视机获得成功而沾沾自喜的索尼,却在液晶和等离子薄型电视机的开发方面落后了。实际上,井深大曾说过:“我们必须自己开发出让单枪三束彩色显像管成为落伍产品的新技术。”包括我自己在内的索尼公司高管没有铭记井深大的话。

如今,索尼采取了极为“合理的”经营方针。不是自己开发新技术,而是同三星公司合作,建立了液晶显示屏制造公司。由这家合资公司提供零部件生产的液晶电视机“BRAVIA”非常畅销,从而使索尼公司暂时摆脱了困境。但对于我这个熟悉索尼成长史的人来说,总不免有一种怀旧感,因为索尼现在在基础开发能力方面,与井深大时代相比存在很大差距。今天的索尼为避免危机采取了临时抱佛脚的做法。

高层主管是关键

今天的索尼与井深大时代的最大区别是什么呢?那就是在“自豪感”方面的差别。当年创始人井深大和公司员工都有一种自信心:努力争先,创造历史。

当时索尼并不在意其他公司在开发什么产品。某大家电公司的产品曾被嘲讽为“照猫画虎”,今天索尼也开始照猫画虎了。一味地左顾右盼,无法走在时代的前头。

在我开发“爱宝”机器狗的时候,索尼的实力已经开始衰落了,公司不得不采取冒险一搏的做法,但是出现亏损后,又遭到公司内部的批评,结果不得不后退。

今天的索尼已经没有了向新目标挑战的“体力”,同时也失去了把新技术拿出来让社会检验的胆识。在导致索尼受挫的几个因素中,公司最高领导人的态度是其中最根本的原因。

在索尼充满活力、蓬勃发展的时期,公司内流行这样的说法:“如果你真的有了新点子,来。”也就是说那就背着上司把它搞出,与其口头上说说,不如拿出真东西来更直接。但是如果上司总是以冷漠的、“评价的眼光”来看自己,恐怕没有人愿意背着上司干事情,那是自找麻烦。如果人们没有自己受到信任的意识,也就不会向新的更高的目标发起挑战了。在过去,有些索尼员工根本不畏惧上司的权威,上司也欣赏和信任这样的部下。

所以,能否让职工热情焕发,关键要看最高领导人的姿态。索尼当年之所以取得被视为“神话”的业绩,也正是因为有井深大。但是,井深大的经营理念没有系统化,也没有被继承下来。也许是因为井深大当时并没有意识到自已经营理念的重要性。

我尝试着把井深大等前辈的经营理念系统化、文字化,出版了《经营革命》一书。在这本书中,我把井深大等人的经营称为“长老型经营”。所谓“长老”是指德高望重的人。德高望重者为公司的最高领导人,整个集团会拧成一股绳,充满斗志地向目标迈进。

在今天的日本企业中,患抑郁症等疾病的人越来越多。这是因为公司内有不称职的上司,推行的是不负责任的合理主义经营方式,给职工带来了苦恼。

不论是在什么时代,也不论是在哪个国家,企业都应该注重员工的主观能动性。这也正是索尼在创立公司的宗旨中强调的“自由,豁达,愉快”。

过去人们都把索尼称为“21世纪型企业”。具有讽刺意味的是,进入21世纪后,索尼反而退化成了“20世纪型企业”。我殷切希望索尼能重现往日辉煌。

我在Team Geek: A Software Developers Guide to Working Well with others 中偶然发现了这一点智慧,它引起了共鸣。它来自谷歌工程师Chade-Meng Tan

做正确的事,等待被解雇。

谷歌的新员工(我们称之为“Nooglers”)经常问我是什么让我的工作更有效率。我半开玩笑地告诉他们这很简单:我为谷歌和世界做正确的事,然后我坐等被解雇。如果我没有被解雇,我就为每个人做了正确的事情。如果我真的被解雇了,这首先是错误的雇主。所以,不管怎样,我赢了。这就是我的职业策略。

这需要你对自己的判断有信心,承担权威和责任,做出决定,承担风险——换句话说,做你被雇佣去做的事情

你必须认识到公司是精神分裂症。他们建立流程、规则和结构,并要求您遵循它们:

  • “员工考核是这样进行的……”
  • “会议出席规则如下……”
  • “产品将以这种方式进行 QA 和部署……”
  • “新项目需要以下人员的批准……”

一般来说,这些规则比替代规则更好——没有路标或结构。他们帮助新经理和团队有效运作。他们推动员工以良好的方式做事。

但是,遵循规则、过程和结构很少能成就伟大。这就是为什么公司还希望找到准备好承担风险、做出决策、尝试新事物、快速行动甚至打破常规的员工。

这意味着识别流程何时过于繁重——在这种情况下,更简单的替代方案会更好。这意味着要求承担一些技术债务或运营风险,因为现在将这个新产品/功能发布给一些真正的客户以获得反馈是最重要的。这意味着批准特定员工参加他们热衷参加的会议的超预算旅行。这意味着留出一些时间来研究您对新工具的想法,该工具将帮助支持团队诊断客户问题。这也意味着要放慢重构速度——即使这意味着损害你快速完成任务的声誉。您这样做是因为这对您的团队、您的公司和/或您的客户来说是正确的。

当您违反规则并做您认为正确的事情时,您就是在冒险。有时这会有所回报,有时则不会。失败是可以的——但尽量不要在同一件事上或出于同样的原因反复失败。知道何时冒险,并从结果中学习。我认识的最好的工程师和经理都愿意打破规则并承担风险。你也应该。

做正确的事,等待被解雇| 布伦丹·斯特恩

前亚马逊高级研发经理,阿里巴巴资深架构师,路透金融数据中心研发经理。

19 年软件开发相关工作经验,10 年团队管理经验,MegaEase 创始人陈皓,带来了主题为《做正确的事,等着被开除》 的交流。

以下是志愿者哈比整理的问答实录,记录了作者和读者问答的精彩时刻。

 

 

Q1:您当时选择去 Amazon 的时候,是本身就预想了会获得 「更广阔的眼界和更为厉害的思维方式」还是去了之后才发现这一点大收获。请问在没有办法确认哪个选择更好的情况下,您做选择有什么考虑吗?

A1:我从路透去亚马逊的时候纠结了几个月,因为要降职降薪,但最终我还是决定去了。做这个决定主要有三个原因:

  1. 亚马逊这家卖书的公司做出了世界上第一个推荐算法和世界上第一个云平台,这让我觉得这家公司太神奇了,而且你几乎在互联网上查不到这家公司的分享,所以我非常好奇,我心时想,这应该是一家技术公司。

  2. 2000 年从工行出来的时候,我就想去互联网公司了,但是遇到了互联网泡沫。10 年后全部互联网公司全部重来,我觉得我不能再错过。

  3. 我在入职亚马逊前,问过美国老板他是不是把中国员工当外包来用?老板说并不是,他说亚马逊是因为重视中国市场才来到中国的,并不是为了外包。而且也说,我们要做的这个项目是创新项目,风险非常大,做不好就砍掉。基于这三点,我决定来亚马逊。

总结一下我做决定的依据:

  1. 这段经历是不是我想要的?比如说有技术含量的、最刺激的、最前沿的、最有挑战的,能不能为我开启更多的可能性。

  2. 另外,我也不能保证我的选择做得对,但是选错了公司也没事,因为这个世界上有好多公司可以去。做错选择么可以换的。

Q2:对于连续两次不达标而被开了的员工,是否也意味着他无法再次进入这家公司了?对曾经的员工,是否会有区别对待?

A2:是也不是。这里有一个真实的案例。

国内某大厂的员工,相当于阿里的 P6,因为绩效不好被劝退。之后在家里努力学习了一年,哪也没去,就不停地钻研技术。

后来他面试过了微软,然后在微软升了两级,四年后又被原厂挖了回去,不过他没有回原厂。

如果他回去的话,他那时候的级别已经相当于阿里的总监级别。国内某些公司对于这种有案底的员工是会区别对待的,我个人觉得这点挺不好的。

Q3:有些公司会自己设置淘汰机制,逼迫主管和员工去思考这个最末 10% 的问题,也算是一种鞭笞。请问在中小型公司的话,在什么时间选择终止掉一份劳动关系,是最优或相对较优的时机?

A3:我不太清楚,这个问题是中小型公司想终止员工的劳动关系,还是员工在中小型公司想终止自己和公司的劳动关系,到底谁是主体?

  • 如果主体是公司的话,我个人觉得任何一家公司都有权利终止劳动关系,只要提前一个月告知就行。这是劳动法规定的,不过需要 N+1 的补偿。

  • 如果主体是个人的话,我个人觉得无论是公司是大是小,在一家公司呆 3-4 年就差不多了,除非你对这个公司和老板有非常强的认同感。为什么是 3-4 年,因为 3-4 年的时间,基本上可以让你了解这个公司的所有事情了。我个人觉得,人生还是应该多体验一下不同的公司,因为这样你就会有比较,有比较你才知道什么是好,什么是不好。我觉得有比较,有更多的不同的经历会是一个更好的人生经历。

Q4:「良禽择木而栖,找到和自己对味的领导或公司」,这句话如何实践?很多人是面试几轮直至正式上班的时候,才对自己的领导和同事有真正意义上的了解。在面试之前都很难有一个清晰的主观印象。您有过这方面的问题吗?有什么好招?

A4:首先,你得知道自己的口味。我们每个人都要认识到自己的长处、兴趣和自己的一些特点。比如说自己是属于加班老黄牛型的,还是想把技术做好的或想把代码写漂亮的?到底是哪一种类型,自己得有个定位。如果是前者,加班老黄牛型的,可能去一些创业公司或那种需要这样努力的员工的公司,有很多公司就是需要这样的人;如果是后者,想把技术做好的,那就得要去技术型的公司,或是对技术有很高要求的公司。

除此之外,也要明白自己到底是适合做产品型的软件还是技术性的软件?是业务层的还是底层的?更适合做抒情的产品还是做商业化的产品?不同的公司有不同的 DNA。找到和自己相似 DNA 的公司和团队,才能如鱼得水。

关于面试,我觉得多多少少也是可以问出来的,这要看你怎么问问题。一般面试官都会给应聘者留一些时间去询问公司的一些情况。

比如说我喜欢问面试官,你觉得你在这家公司里最开心的事,和让你最难受的事是什么?我想听听你个人的故事。

我也会问:你们一线技术经理里面,目前还有多少人在写代码?我两年前面试某国外大公司的时候,我对所有的面试官都问这两个问题,他们给了我五花八门的答案。后来我大概知道这家公司有很大部分的一线经理或者技术主管是不写代码的。

我问他们为什么不写代码?你不写代码,你管什么?他说管人。我又问,那么你们招的人那么厉害,这些人还需要你管吗?我追问下去后才明白,他们其实有 KPI。

比如他们做一个小功能,上线三个月,如果效果不好就得砍掉,而且还有这些跨团队的协作这种各式各样的问题,所以经理门都忙这些事去了。我虽然面过了,但我觉得这家公司不太适合我。

不过,话又说回来,你很难找到一家完全没有问题,完全适合你的公司。所以,你需要更多的关注自己的得到的,而不是自己失去的(也就是说,要学会抓主要矛盾)

Q5:请问这句话怎么理解?「如果你是一个技术公司,你就会更多的相信技术而不是管理。相信技术会用技术来解决问题;相信管理,那就只会有制度、流程和价值观来解决问题。(注意:这里我并没有隔离技术和管理,只是更为倾向于用技术解决问题)你是要建一个 “高可用的技术系统”,还是一个“高用的管理系统”?」

A5:我相信你是从《AWSS3故障回顾和思考》这篇文章中看到这句话的。这句话可以这样理解:如果你相信技术,那你就会用技术来弥补人的短板和不足,或者说是用技术来取代人。

于是你会做出各种各样自动化的工具,甚至设计出一种高可用的系统集群。但是很多公司发生故障以后,它不是不相信技术,它是不相信人。于是它会用各种各样的方式来管理人。

比如一些权限系统、审批系统、惩罚制度……。其实我们都知道,不管有没有这些东西,人还是都是会犯错的,这就是人不如技术的地方。

Q6:一般公司都有几个核心部门,而在非核心部门或者岗位工作不容易出成绩,请问找工作的时候可以选择这种部门吗?选择这种部门有什么利弊?

A6:当然是要削尖脑袋去核心部门的,因为核心部门的价值更大。分享我的两个故事,我以前也不是开始就在核心部门的。

第一个故事,我刚入行的时候在某公司做一些外围的东西,但是外围那些东西很简单,所以我就有时间去看一些书。

比如我在看《TCP/IP 详解》这本书。一次,公司的软件在网络通讯出了些问题。用户交了费以后要到调用一个第三方的系统,结果用户的钱倒是扣了,可是和第三方系统的连接有很大概率网络出问题,造成事务不一致。

于是,公司里最厉害的人到用户那边看了一星期都没找到原因,这时有个人就说,我看陈皓在看《TCP/IP 详解》的书,要不让他来试试?

老实说,我才刚刚开始看这本书,也没什么经验,被叫过去的时候很紧张,但是我就记得 TCP 的那些状态机。

然后这个问题重现的时候,我就用 netstat 一看,连接的状态是 CLOSE_WAIT,意思是对方断连接,说明是是对方系统的问题。

然后我就去了对方系统那边帮他们看了一下代码,后来发现是他们的 if 语句写错了。这个 if 语句本来是 AND,结果他写成了 OR,然后条件满足了,下面就是断开连接。

因为 OR 的条件更宽泛。这件事我花了两个小时就解决了,公司就觉得我好厉害,后来就让我加入了核心团队。

第二个故事,我去一家中型公司做业务,用 Powerbuilder。我入职的第一天,他们告诉我这里有个内网论坛,你有些什么技术问题可以到里面问。

然后我看到里面 C++ 板块里有 20 多个未解决问题,我就用了一下午时间,把这些未解决问题全部回答掉了,而且我还给出了很多的代码。

临下班的时候来了一个人就问谁是陈皓,我说我是,他说收拾一下,搬到核心项目组,就把我调过去了。其实回答这些问题没什么,就是那个年代是 2001 年。

我就是多看文档,很多文档都在英文社区。Windows 下面就是 MSDN。我就把 MSDN 读一读,然后谷歌搜一搜,基本上就这样把那些问题解决了,其实也没什么。

说白了,我牛吗?我根本不牛,我无非就是学习了一些基础知识,基本原理,这样解决问题的时候容易找到问题原因。另外,对于不懂的东西,知道到哪里去寻找知识。仅此而已。

最后,我想说一下,其实,任何事情都是有挑战的,不要以为做业务就没有挑战,其实我反而觉得做业务,解决业务问题的一些技术点更有挑点。

比如,业务上需要分布式一致性,业务上的分库分表,业务上的模块分析和设计……

Q7:请问您对生涯规划有什么建议吗?有哪些可以学习的资料?

A7:人生的规划,首先是提高自己的竞争力。你有了竞争力以后,你的可能性和选择才会多,你有了选择以后才谈得上个人规划。

如果你没有选择,没有可能性的话,去谈个人规划其实是没有意义的。那要怎么去提高自己竞争力?我给大家一点建议:去学习基础技术。

有很多东西到了基础,基本上都是一样的。比如到了操作系统的调用,无论是 Java 虚拟机、Python 解释器还是 Node.js,最终都跑不掉操作系统的调用。

一些编程上的网络通讯技术到了 TCP/IP 的甚至更底层的网络原理也是同理。所以学好这些东西后其实一通百通。

如果你学了一些表面的技术,你就会觉得技术很多,但如果你学到了一些本质,你会觉得也就这么点东西。

关于学习资料,其实我在博客里推荐过好多书,有的可能有点过时了,但是很多都是一些比较经典的基础的书。

比如像《算法》、《计算机原理》、《Unix高级环境编程》等等,还有《TCP/IP 详解》、《C 语言编程》这样的书……

 

Q8:什么是领导力?领导力如何去实践?请问 OKR 如何正确使用?

A8:关于领导力,我在《技术人员的发展之路》这篇文章里说过。关于如何实现自己的领导力,接着前面那个话题说,一个是注重基础,另一个是你需要找到你自己的信息渠道。

如果你现在的信息渠道是微信朋友圈、微博、知乎或是今日头条,那你完蛋了。我倒不是说这里面没有有价值的东西,我想说这里面有价值的东西很少,99% 都是垃圾,只有 1% 的有价值。

但你为了要找到那 1% 的有价值信息,必须要看完那 99%,这其实挺浪费时间的。

另外,如果你用百度或中文搜索,或者在中文社区里能够找得到你想要的东西,那你已经远远落后这个时代了;

如果你用英文才能找得到你想要的东西,那说明你能跟得上这个时代;

如果你没办法,只能到 Github 或去那些开源社区里找里面的人去问,或是去看代码才能找到你想要的这个答案,甚至找作者去询问才能找到你的答案的话,那么你已经基本上是跟着时代的前沿了。

所以领导力首先是获取有价值信息的能力已经超过了绝大多数人,你先拥有这样的实践能力,你才能拥有后面的一些领导力,所以英文是非常非常重要的,FQ也是非常非常重要的。

Youtube 上有很多非常有价值的视频,我不知道这个群里有多少人会去看。

Q9:对于很多并不擅长或者并不具备领导力的人,怎么达到自己的真正绩效,怎么在快速变化中自处?

A9:我觉得每个人都有自己的领导力。如果你在目前的圈子里面,你觉得你不具备领导力,你可以试试降维。

比如说我在程序员圈子里面一般,但是我要是到了一些非程序员的圈子里面,我岂不就是有领导力的。

现在的社会是多元的,也是分很多层次的,我相信每个人都能找到自己的长处,找到自己的这个长处在某个位置或某个地方是有价值的。

 

Q10:如何把员工的个人目标和团队目标有效结合起来?

A10:这一般是要跟你的主管去聊的。我个人认为,任何团队都会需要提高生产力或提高效率的,这是毫无疑问的。

就是说只要你去做提高生产力的事,我觉得这家公司和团队应该是不会反对的,就是无论做什么事情都是会走到这条路上来的,就是要提高人效、降低成本、产生效益。

另外,我的经历中,现实情况是,公司目标和个人目标是无法做到100%的匹配的,有60%都不错了,有时候,我感觉这就像利益交换似的,公司和员工在互相交换着双方的利益,这可能就是这个社会的本质。

所以,要有一个好的交换的心态。老古人说的好,欲先取之,必先与之。交换——这可能就是最有效的把不同利益的人给结合起来的本质。

当然,这里面有很多情况,对一些具体的东西,我们可以私下聊聊,你可以给我一些更为具体的案例。比如说你觉得无法匹配的一些案例,我可以帮你看一看,Case by Case 地看一看。

Q11:每个人都希望自己越来越好,也希望自己的绩效及薪酬越来越好,但小公司的资源有限,特别是当组织绩效一般的情况下;面对这样情况,作为部门级中层领导,怎么处理好组织利益与个人利益的关系?特别是让老板与员工间满意,且双方都亲密无间该怎么办?

A11:团队的绩效是可以量化的。团队成立了以后,这个团队必然是有它成立的目的的。成立一个团队或者说成立一个部门,它肯定是要有一定的业务或问题需要让它来解决的,这应该是没有问题的吧。

对第一个问题,我个人认为,因为小公司资源有限,困难也比较多。作为领导层或者老板应该群策群力的,不要光自己看,所有的问题应该要让大家一起来,能够让下面的人理解上面出现的一些困难,希望能得到大家的一些支持:一方面是感情上的支持,另外一方面也希望大家的利益和目标在一块。

对于小公司来说,不能是老板有老板的目标,员工有员工的目标,员工想自己发展自己,老板想把公司业务做好。

如果两方的目标不在一块,这事就难办。所以统一整个公司的目标,其实这就是 OKR 要说的事情。让大家心在一块,力往一处使,你就不需要去做协调的这些事儿。

怎么样让大家的目标都在一块?其实一家小公司里面的员工和老板就像谈恋爱一样,双方一定要有共同语言。而大公司有冗余的资源,可以让一部分员工去追逐自己想要的东西。

在小公司肯定就像夫妻一样,必须要有共同语言才能在一块,所以招聘过程或管理员工的过程中怎么找到共同语言,也非常重要。这也就是老外说的 Culture Fit。

Q12:作为小型公司的绩效考核到底是明晰量化考核还是个人绩效干系人一起开会评估比较好,请问您是怎么看待这个问题的?

A12:无论是小公司还是大公司,我经历过的绩效考核都是全员看齐的,也就是说,经理们在一起开会讨论,这样会相对公平一些。但同时也会考虑到一定的市场和业务因素的。

国内的公司可能不考虑这些东西。我在亚马逊和路透的时候都会考虑这些,它所有的部门一起拉平来看这件事情,而且会考虑到当前的经济形势、行业形势是怎样的,做出一个客观评价。

在文章里我也提到了,亚马逊是有三个维度来衡量一个员工的。除了绩效,还有领导力和潜力。所谓领导力就是他的竞争力。

可能绩效没做好,但这个小伙子有潜力也是可以的。用三个维度共同考量。

Q13:我已经工作三年,在产品设计,研发,还有运维方面都有一些积累,但是总觉得差一口气,想问问您对这样的职业状态有什么建议吗,或者说能讲讲您个人职业生涯的发展历程以供参考吗?

A13:我先尝试理解一下这个问题。差一口气?你可能觉得这些事情都能做出来的,但是觉得还差那么一点;或者说是遇到自己的一个瓶颈;也可能觉得我能做出来,但是心里面可能觉得应该还有更好更漂亮的解决方法。

对这件事情,我个人觉得你需要去开阔眼界。一方面去跟一些更有经验的人接触,去问他们是怎么做的,回来做一些调整;或者换一家更好的公司,因为有的公司是不开源的,你不进去就完全不知道它是怎么做的。

举个例子,我以前在一家公司流程相当重,还玩 CMMi 这东西,我心里觉得这些东西并不好,但我并不知道什么东西是更好的。没有见过好的东西,你就不知道什么东西是好的。

比如,有专职测试的团队,出了问题后总是互联推诿。但我真是不知道还有没有更好的方式。

后来换工作换到了 amazon 发现根本没有测试,也没有运维,开发人员干所有的事,虽然很累,但是前面的很多问题都没有了,总体上来说,效能更高。但是对招聘的要求也比较高。

总之,出现这样的问题,一方面是视野上的问题,另一方面是思维方式的问题。这个时候,说明你需要开拓视野,或是换个思路。

Q14:从行业和团队的角度,如何衡量一家创业公司是否靠谱?

A14:你可以想象创业公司就像反政府武装或者反政府团体,我们想象大清朝有好多的农民起义军、革命党、反清复明、扶清灭洋等各式各样的组织。

有一个东西,我觉得是关键。对这些组织来说,它能不能成事,关键是看它有没有纲领。

如果一个组织有纲领,那这个组织是很恐怖的。比如当年孙中山的同盟会,他们是有纲领的。清政府就说同盟会不是一般的小毛贼,因为他们是有纲领的。

以此类比创业公司。首先创业公司要有使命感。它的使命是什么?

你看豆瓣还有阿里这些公司,公司的使命从公司开始建立的时候到今天都没有变过,这个是非常重要的,我把这个就理解为这家公司的纲领。

如果这家公司是有纲领的话,那我觉得你可以去试一试。另一个是你看他里面的团队,这波人是不是相信这个纲领,还是只是为了利益在一块。利益是不长久的,梦想是长久的。

但是你可能会说跟这些有情怀的公司做事可能挣不到钱,这是混淆了两个事,挣钱是另外一件事。

但是我觉得你既然都创业了,而创业是件挺苦逼的事。所以你跟着这群有梦想的人,或是有纲领的人在一块。

即便失败了,你也不会觉得后悔。我觉得要去创业的话,你一定要找到这种感觉,就是即便失败了也不会后悔的这种感觉,我觉得你才能去。因为创业是九死一生的事。

Q15:出身前端,之前管理一个 12 人的前端团队,现跳槽到一家创业公司,请问您从个人技术和团队管理上如何带好一个 1 前端、2 PHP、2 IOS、2 安卓的研发队伍?

A15:管理其实挺简单。主要就三点:

第一点叫 Lead By Examples。好的管理者不是靠说教的,是靠身教的。用你的实例去带领别人,而不是用你的语言去带领别人。

第二点是相信他,如果你懂就一起来,如果不懂,那就相信别人,用人不疑,疑人不用也是这个道理。

第三点,你需要给团队一个目标。因为我看你有一个前端,两个 PHP,还有两个 IOS 和安卓。因为这些按技能分工如果过细的话,可能他们就不会关心其他团队了。

我个人并不觉得按技能分工是一件好事情(参看《我们来谈谈分工》)。有时候他们如果能够跨界,我觉得会是一件比较好的事情。因为跨界之后,你会有被队友支援的感觉。

如果大家在这种互相帮助,就像一个踢后卫的也能到前锋去助攻,前锋有时候也要回来防守。如果大家能够跨界一下,我觉得你的团队氛围会更好。

Q16:在外企的工作氛围跟国内大厂的有什么不一样?遇到负责的业务出现故障如何问责?

A16:在外企工作的好处。第一,不加班;第二,工作语言是英语,所以你的英语会成长得比较快;第三,外企里有非常规范的流程,而且也是比较科学的方法论。

在外企里工作,你能感觉到他们是在用方法,而不是在使蛮力。在外企工作也有不好的地方。

因为很多外企来中国就是为了用中国的廉价劳动力或者把中国人当成外包,这是一件非常不好的事情。

另外还有很多在外企里工作的中国员工,我个人觉得有点装的过度了。他们就仗着自己的英文好,然后天天 talk and talk,或者说 work and talk。

而不是 work and work, 也不是 talk the work。有点儿人浮于事,这在外企里面也挺严重的,挺不好。

不过我觉得有机会还是去外企看一看,还是那句话,你只有有了比较之后,你才知道什么是好,什么是不好。

另外,外企的大公司其实跟国内大公司也很类似。就是出现了故障或者出现了一些失误以后也是互相推诿,互相找借口,公说公有理,婆说婆有理,就比谁的这个理由充分,所以其实外企里面的办公室政治也挺多的。

对于故障来说,国外的公司更多的不是对人的问责,因为对人的问责只会让人越来越不敢干事,并且对于改善没有太多的帮助。

国外公司的问责更多的是问管理和技术方面的责任,也就是说,通过问责故障,达到更科学的做事的方式,达到更好的技术能力,而不是惩罚人

Q17:国内互联网行业普遍产品主导,技术配合,怎么看待这个现状?对业务导向的工程师发展有什么建议?

A17:我个人觉得这个世界上有三种公司,一种是运营驱动型的,一种是产品驱动型的,还有一种是技术驱动型的。

老实说,运营驱动型的就是销售,很挣钱,喜欢营销,但没有什么安全感。产品驱动型的,主要是专注一些用户体验,会比技术容易一些。

技术驱动型其实最难,因为技术的水很深。所以我觉得国内目前这个阶段,可能是运营和产品驱动型主导的。

因为国内的教育制度包括一些基础的教育,其实都跟不上,而且国内的现状是就是野蛮生长,不是精耕细作,所以很难出现这种技术主导型的公司。

对于业务导向的工程师的发展建议,我个人觉得不妨跨界。因为技术本身是工具,我并不是说工具不好,因为人类的发展史就是通过工具,人比动物牛就是因为人会使用工具,这个民族比那个民族牛,也是因为这个民族的工具会比那个民族的工具要强大得多。

所以我们用这些工具到底可以解决什么样的问题,还是那句话,就是解放生产力。说得好听点,解放生产力,提高效率。说得难听点就是让人失业,自动化一些人做的事情。其实自动化也可以解决很多的业务问题,提高用户的体验。

跨界去了解业务,并不是让你去变成业务的专家。它山之石可以攻玉,这叫一专多能。就像那种学得好物理的人,一定是要学得好数学。

所以你多了解一些外围的东西,和业务上的一些东西,其实对你的专业技能是有很好的提高的。你会更能抓住重点,你会更能明白这些技术是用来干什么的。

所以并不会存在你说的这个跨界之后就都平庸了,不是这样的。去了解一些外围的东西,其实对你的专业是非常非常有帮助的。

多了解一下业务,没有什么不好的。我以前都是在做纯技术的东西。做了十年,我也做烦了。

因为我感觉我是在解决电脑的问题,我没有解决人类的问题。所以到后期我就转去做一些业务,包括亚马逊一些电商,还有一些仓库管理供应链,包括阿里和我现在创业,我也了解了很多很多的业务。

国内这些业务我觉得挺有意思的,因为我觉得解决人类的问题会比解决技术的问题更有趣一些。

Q18:往高薪发展,虚岁 30,一个 7 年 Phper 如何突破自我?

A18:先学 C 语言,然后再学 Java。先放弃 PHP ,虽然 PHP 是最好的语言。恕我在这边比较偏激地说一下,PHP 其实并不是最好的语言。

如果学 C 语言比较难的话,我还是建议你学一下 Java。之所以选择这两门语言,因为 C 是经典,而 Java 是目前来说,我觉得是最具工业标准的语言。

如果你能从编程语言上突破自我,我相信,你以后就再也不会有这样的问题了。

Q19:公司的绩效考核是按照做出来相关产品活动的效果(比如,带来多少用户,多少收益等),身为技术,做了很多活动相关的开发,但是效果并不好,因而每次绩效都很低,这个身为技术有什么办法吗?

A19:这个问题好像是在说——公司的绩效是做出来的产品活动的效果,但是身为技术,其实我们并没有太多的控制权,等于说是我们把自己的命运交给了别人的手里,交给了产品和运营。他们没做好,导致我们自己也跟着差。

这个对于技术有什么好办法?我觉得虽然我们做技术的需要支持这些运营或产品,但是切记,不要被他们牵着鼻子走。什么意思?

就是我肯定是要做一名有技术竞争力的技术人员,或者说我肯定要有技术的积累。

也许今天跟着这拨人没有做好,没有发挥出技术的优势,但这并不代表我就破罐子破摔了。

你要的不是绩效,要的是自己的成长。我还是要去研究我的一些好的技术上的东西。

另外,不想把自己的命运交给别人,要掌握自己的命运,那就去挑战一下产品呗。亚马逊里挑战产品和运营的方法论是 T-shirt Size Estimation。就是用 T 恤的尺寸来做评估。

你要做这个东西可以,但是产品和运营必须得拿出证据说明你要做的这个东西是什么样尺寸的。

比如说 XXL 可以带来一百万人民币或一百万用户受益的,XL 就是 50 万,L 是 25 万,这样砍下去,然后这些需求给到技术团队,这边技术团队也会做个评估。

XXL 是要六个月做完,XL 是三个月,L 是一个月,M 是两周,S 是一周。这样两边一对。

如果说业务影响力比较高,而且技术实施比较轻,这就是小而美,那就是最高优先级;如果是反过来,技术这边要花好大的力气,业务影响力又不是特别高,那就坚定不移地把它砍掉;如果两个都是中等,那就是自由行事;如果两个都是 XXL 的话,那能不能需求这边降低一个维度。

比如将 XXL 降到 XL,我这边可以降好几个档次,两三个星期就可以实现出来,这样可能会是一个比较好的方式。

当然,运营和产品可以信口开河,但我技术做出来后,达不到,我一定要用结果打打他们的脸,让他看看当年他吹过的牛逼是多么不靠谱。这样,他们以后可能会更严谨一些。

Q20: KPI考核时,对同一职位的考核环境不同,从而造成考核结果不公平,这种由于非员工原因造成考核结果不同的情况,有何看法,并对员工有何建议?

A20:我觉得 KPI 考核里都是会有些特例的,这个特例是可以 Argue 的,可以去跟公司去争取的,甚至管理层之间可以把这些特例拿出来做深度讨论。

比如说因为考核环境不同造成这种不公平,我其实并不太知道细节是什么样子,但是我所知道的是在做考核的过程当中,经理们是会开个会的。

那在开会的过程中,针对一些特别案例是可以拿出来进行争论的,我不知道你们有没有过争论,争论充不充分?而且作为这个员工的主管,是要主动去为员工争取一些权益的。

如果说是最终争论的一个结果,其实在经理会上或者说考评会上,应该是整个管理层需要形成一个给员工的答复。

我觉得这家公司的管理层应该有能力可以做出一个给员工的官方答复,而不是让主管经理自己去想这件事情。

因为开经理会也是这些主管互相学习互相成长的过程,所以一般好的公司做这种绩效考核都是大家在一起做的。我不知道你们公司是不是这样子,如果不是的话,建议这样尝试一下。

 

 

Q21:作为一名工程师,很多时候我知道“正确的做法”是该怎么样,但我同时也是一名创业者,权衡到成本和效率,就很难用一种工程师理想化的方式来管理开发和进度,长期来看是对的,但公司目前未必能按那种方式存活下去。最近被这个矛盾困扰着。如果站在老板的角度,如何来平衡好这个矛盾?

A21:这是一个好问题。因为我现在也是一名创业者,有时候我需要快,但是快就要欠债。我到底是走理想的路,还是走现实的路?我会告诉你,我是坚定不移走理想的路。

我有两个理由,第一个理由是这样的,我一定要用正确的方式去做事。因为我不确定我能不能成功,成功可能有一定的运气成分在里面,但是如果我不用正确的去做事情,如果未来失败了,那我真是什么都没有了。

但是如果我是用正确的方式去做事,即便我失败了,我的过程还是在的。所谓过程在的意思,就是如果我下次再起航的时候,我就会有积累,所以我是一定会用正确的方式去做事。

但是话又说回来,一个公司在不同的阶段有不同的重点。如果是在商业阶段,可能需要做一些妥协,欠一些债,不然公司就死亡了。这里需要创始人做一个计算,我欠的债和我挣的钱是否匹配的上。

如果匹配不上,其实,这是加速让自己的公司死亡。我们不是常听一句话,做的越多,死的越快。就是这个道理。饮鸩止渴的事最坚决不能干的。

另外,创业是件很苦的事情,所以我们都要问自己一下:做这个事情,我的目的是什么,挣钱吗?挣钱,也没有问题,但是我们要的是长期的可持续的挣钱,而不是不可持续的挣钱。

而可持续的挣钱一定是要用正确的方式做事的。因为这会让你有很多副产品。也许我的主业最终失败了,但是我的副产品反而还在卖钱,我目前就是这么一个情况。

我有那么两个副产品,其实都不是我的主业,但是这两个副产品都在卖钱,虽然目前卖得副产品还不多,就那么一两个。

再多给几个例子,一个例子是 Docker,前身是 Dotcloud,这个公司差不多快挂了,于是开源了 Docker,结果 DotCloud这个公司挂掉了,但是因为用正确的方式做了 Docker,反而成了最火的公司 Docker Inc. 。

还有一个示例是 37signals,为了做个项目管理软件,先去为 Ruby 开发了一个 MVC 框架,结果项目管理软件 Basecamp 不愠不火,而 Ruby on Rails 火得不行,每年收 Rails 的维护费都能收几百万美金。

照片分享软件 Flicr 本来是家游戏公司,为了分享游戏图片才做了一个分享图片的网站,结果火了。

 

Q22:每次有 Deadline 而且感觉心里没底的时候,心里难受,怎么办?

A22:其实我也有过这样的一些朋友,面对 Deadline 觉得心里没底,而且也觉得可能超出了自己的能力,或者说是时间或资源给的太少。那面对这个东西我怎么办?

我会毫不犹豫地忽略 Deadline,我会去追逐我的成长,因为我要非常严肃地对待我的成长。如果这里面有些技术问题我搞不定,我就要去学习并搞定它。

如果没有资源,时间不够,要拼命的长期的加班,我是不会干这个事的。如果我觉得要延期,那就延呗,如果质效有影响就有呗。关键是,在这个地方我可以失去绩效,但是在别的地方,我要收割绩效。

忽略 Deadline 并不是逃避,而是代表要努力。就像很多名人缀学,并不是不学习,而是要更好的学习。

你想想你个人的发展重要还是 Deadline 到了重要?反正个人发展不上去,你也难受。Deadline 达不到被经理骂,你也难受。

同样都是难受,你觉得是被经理骂难受,还是自己的成长上不去难受?这两种难受,两害相权取其轻。

 

Q23:我发现我这里无论测试还是开发人员,做复习模块的人并不一定熟悉业务,但晋升都比熟悉业务的人要容易,这是晋升制度有偏差还是人员问题?

A23:我讲个故事你可能就明白了。这个故事是这样的,我有个同学在给银行做项目,大概做了 20 年。

在那种企业里晋升是这样的,你不需要技术有多强,但是你需要跟银行的那些领导保持好的关系(这个关系只是会做人,说白了就是要听话,要会捧人)。

然后你需要去做项目经理,因为给银行做的都是外包团队,就是包人头的项目,所以你需要去管一下这些项目进度。

我这个同学在这家公司里做得很成功,成长得也很快。因为这家公司给出的加薪升职的条件是你要跟银行的领导相处好,而且你要对项目管得很好,所以他提拔上来的人基本上都是情商比较高的,或者说是能左右逢源的人,但是他的技术是非常糟糕的。

然后我走了另外一条路,我不知道怎么跟银行里面的那些领导说话,又不听话,但是我喜欢技术,我喜欢做出更 cool 更牛的东西。所以我在银行那种氛围里的发展是非常糟糕的,完全不能晋升。

后来,我跟我那个同学一起创业,然后他就会发现,他的项目管理能力,他的「听话」和「捧人」的能力,在创业时一点用处都没有,因为你一开始是要做产品、做技术的,然而他完全没有这样的能力。

而我是靠自己的技能去生活,而不是靠人际关系去生活的,我自己算是一个手艺人。所以我在创业过程中,一开始我可以很快把产品做出来。

大概是这样,所以回答你这个问题就是,在不同的环境里面,会有不同的升职路径和不同的文化,相应地,你会需要不同的技能。

但是我们要回头问问自己,哪种技能是对自己最有用的?我觉得不需要依赖别人的技能最有用,你可以靠这个技能养活自己,可以打造自己的一片天地,这种技能是最有用的。

 

Q24:「良禽择木而栖」,请问怎么样去识别真正的方向和适合自己的木?

A24:这个问题我前面已经回答过了,但是怎么去识别真正的方向还有适合自己?

这个首先还是要对自己有个评价,我觉得如果自己都无法对自己做出评价,自己都不知道自己对什么地方感兴趣,或者自己也不知道在什么地方有长处,就无法知道什么适合自己。

我觉得现在很多人并不知道什么是自己想要的,就是从众地什么都想要,但并不真正知道自己到底适合走哪条路。

我觉得,这个事,没人能帮你,就像我讲这么一大堆,我说这个东西有营养,那个东西不错,但我没办法替你吃饭。

我告诉你锻炼身体很好,要去跑步,但我没办法替你锻炼身体,所以这个主要还是靠自己。

如果你明确的知道自己要什么,你就一定会明确的知道自己不要什么。如果你明确的知道自己合适什么,你就能明确的知道自己不合适什么

当你看清楚自己,那边你就会很容易找到适合自己的位置。

人们之所以为“错位”,或是找不到适合自己的,通常来说,很多情况下都是高估了自己,错误的混淆了自己的目标和自己当前的能力!

Q25:很多技术实质上就是工具,会用了感觉能力上并没有很大的提升。作为程序员,在个人提高上,是去研究算法还是专注于更熟练地使用工具解决业务问题?

A25:几个建议:

  1. 去探究为什么要有这个工具?这个工具解决什么样的问题?为什么不是别的?

  2. 这个工具里的核心关键技术是什么,设计原理是什么?

  3. 这个技术的短板是什么?适合什么样的场景,不适合什么样的场景?

  4. 如果这个技术或工具是开源的,就到他的社区里,看看那帮开发者们整天在讨论什么

MegaEase的远程工作文化 | 酷 壳 - CoolShell

“努力就会成功” | 酷 壳 - CoolShell

使用简单的逻辑方法进行独立思考 | 酷 壳 - CoolShell

 别让自己“墙”了自己 | 酷 壳 - CoolShell

幸存者偏误 - 维基百科,自由的百科全书