程序员人生 网站导航

不安分的工程师

栏目:程序员人生规划时间:2014-09-24 08:00:01

  在超级杯中,拜仁和切尔西战成平手,点球大战中,20岁的年轻的球员卢卡库站出来罚球,遗憾的是罚失点球,令整支球队失败,丢掉冠军。对于失落和愧疚的年轻人,切尔西的传奇射手德罗巴在Instagram上鼓励了他:

“只有那些从不踢点球的人才不会罚失点球,罚点球你足够强大。你需要从中学习,我也有过类似的经历,在莫斯科的决赛中的红牌,还有半决赛对阵巴塞罗的比赛。坚持不懈的奋斗,更好的日子一定会到来。你是切尔西的一员,切尔西的球员永不放弃。”

  弗格森在位曼联主帅二十六年,培养了小贝C罗等等一干球星,拿了无数冠军。一次对曼联主帅弗格森的采访。记者谈到各种各样风格的球员,有的球员踢球非常努力,作风凶狠,但是总是弄伤了自己,或者经常领了红牌罚下场休息。弗格森说:

“假如一个球员多次染红离场,可是他每次都把握训练机会积极表现,我能不要他吗?如果我态度强硬放弃了他,他便不再是他曾经那个富有侵略性的自己了。我要做的事更多关注一个球员的努力而不是他的瑕疵。”

  李娜作为中国网坛的领军人物,却总是被骂为说话不注重场合和自己本人在公众之中的影响力。但是许多球迷就是喜欢她的我行我素,很多时候都可以讲实话和讲真话。在不久前的法网比赛结束以后接受采访,心情郁闷,再加上她是一个直来直去的大嘴,记者又能从她口中大爆猛料了:

记者:这是你参加法网以来最差的战绩,能否对中国球迷说点什么?

李娜:我需要对他们说什么吗?我觉得很奇怪,只是输了一场比赛而已。三叩九拜吗?向他们道歉吗?

  我们可以找得到太多成功者的例子,无一不是极具个性的。没有个性的人、老好人往往很难成功,原因便在于周遭的人事总是平庸的,听命于、屈服于它们可以让自己获得优秀是声誉,良好的品行,但是符合所有人期盼目光的孩子,你指望他将来能做什么大一点的事情?

  在工程师的世界中亦如此。

  我宁可选择在一个团队中多有一些有风格、有观点的工程师存在,每周都可以有足够多的争论。看起来自由散漫但是点子飞跑,敢做和主动去做那些有意思、有挑战的事情,也比一票人大家和和气气,每天就着excel跟踪表单,做那些安安稳稳、丝毫不令人激动的事情来得强。你可能觉得这样的团队不容易管得住,这样的团队不够和谐。没错,可问题是,为什么要管住这票人,这票不安分的人?大家都是成年人,谁也不喜欢被管来管去,不是吗?而看起来和谐的团队除了做那些你和他们说得清清楚楚的既定工作以外,还可以做什么事?我明白许多老板只是希望找一群人可以卖命地为他打工,说一不二地执行……那我提议他所有软件团队都应该军事化管理。

  Amazon有一条领导力守则叫做“Have Backbone”,有一些人在面试的时候会考虑这一点,于我来说这是必要的,我会挑战应聘者的设计、思路或者解法,就算他的做法本来是非常合理正确的。我认为优秀的工程师一定有自己的思考,有自己的判断,不会随便因为其他人的挑战就任意更改自己原来的想法。

  在技术的选择上,理性当然是第一位的,但是,我们一样需要理解一些源自那些不安分的工程师本身的求知欲、探索欲。如果只是为了“规避风险”,只是那些“最小的代价”,技术不会有进步,也不会有人愿意尝试新技术解决问题。新技术的使用一定是有代价的,但是代价在可以承受的范围之内,却足以让工程师快速成长。

  工程师去尝试和实践那些有趣的、新颖的想法的时候,原则上应当被鼓励。就如同GMail等等伟大产品的诞生一样,并不来自于那些正儿八经的渠道。我们经常能够听到一些反面的声音,最常见的就是“这件事情没有业务价值”,但是除了“do cool things that matter”以外,不安分的工程师却总是很想去尝试一些他看好的事情,需要有一些宽容来支持他做这个事情。在Google这个可以做这样的事情的时间比例是20%(宠物计划),这指的是工作时间,不是休息时间,换言之,一周五天工作时间有一天是被允许去做自己想做的,虽说看起来暂时“没有业务价值”的事情。

  在Facebook更是如此,在Facebook的招聘页面上写着它的价值观,其中有这样两条:

Move fast. We have a saying: “Move fast and break things.” The idea is that if you never break anything, you’re probably not moving fast enough. At Facebook, we’re less afraid of making mistakes than we are of losing opportunities.

Be bold. We have another saying: “The riskiest thing is to take no risks.” In a world that’s changing so quickly, you’re guaranteed to fail if you don’t take any risks. We encourage everyone to make bold decisions, even if that means being wrong some of the time.

  这是关于行动和犯错的观点。不同公司和团队的文化不一样,但是很明显,这些话是说给那些不安分的工程师听的。

  • 正如同本文的第一个例子卢卡库一样,不做事,就不会犯错;
  • 不做那么至关重要的事,就不会犯那么重大的错;
  • 没有那些稀奇古怪的想法,不去尝试新事物,就不会犯别人没犯过的错。

  但是我们总是在鼓励、容忍和批评、约束之间寻找某种平衡。我对绝大多数对待犯错的处理方式都表示尊敬,大多是不同的企业文化所致。在我刚工作的时候,我们平均每个月都会学习那些代码里面遗留bug的典型案例,诚惶诚恐、如履薄冰;现在则少得多了,大多就问题的反省活动都源自工程师自己。正是这样的权衡,很多时候自己都说不清楚,到底怎样的方式,可以帮助不安分的工程师尽可能地在更小的风险下,却创造更多的价值?

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐