Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

程序员要注重沟通能力的提升

$
0
0

你曾经在应聘一份编程工作的面试中被问及一些解谜类的问题吗?我反正碰到过。我被问到的那个问题是:

你最喜欢的那个牌子的苏打,有多少是在本省被消费的?

拜托,正确的答案不能是“关我什么事”,除非你不想得到这份工作了。我当时对这个问题毫无头绪,后来才知道这是一个“费米问题”(Fermi Question)。

译者注:恩里科·费米(Enrico Fermi),美籍意大利裔物理学家,曾经荣获1938年的诺贝尔物理学奖。他能够通过非常少量或者不精确的数据,来得到比较好的估计,费米问题或费米估算因此得名。一个经典的费米问题的例子是,“在芝加哥有多少位钢琴调琴师?”

谜题作为一种新生事物,在1990年代的程序员面试里风靡一时。这在《How Would YouMove Mount Fuji?》(如何移动富士山?)一书中有很好的记载,书中还强调微软公司在招聘过程中就使用了谜题。

如果你已经知道你将去应聘的公司会问这类谜题,预先研究一下常见的面试谜题是很明智的。如果你觉得你已经对一般的谜题很在行了,那我就要来考验你一下,看看下面这道史上最难的面试谜题吧:

这里省略N字...... 这里有很多谜题:http://www.cartalk.com/content/puzzlers/2011

换句话说,我讨厌谜题!(但愿那些谜题狂热者们都能解答出来……)意料之中,我没有通过那次面试。我当时很失望,因为那份工作还是挺酷的!

倒不是说我在“与程序员面谈”一节里给出的建议会更受欢迎,但我确实认为那要好得多!

在前一节,我给大家介绍了一种我自创的方法,那也是面试程序员最理想的方式:让候选人在你的团队面前就他们做过的某样东西做10分钟闲聊式的演讲。你当然还可以用一些实际的需要动手的编程测试来作为补充,以确保那位候选人不是在招摇撞骗——尽管我坚信,如果你不是真的理解你正在谈论的东西的话,你是不可能在一个技术性演讲里糊弄一群同仁的。(如果你真能这么糊弄,你现在应该已经成为一家创业公司的CEO了!)

我在这里要强调的是沟通能力。对于大部分程序员来说,在他们通过了“Fizz-Buzz”级别的能力测试之后,他们看起来已经相当不错了。但只会写代码还不够。如果想从优秀发展到卓越,你必须培养起有效沟通的能力:与你的同事沟通,与你的老板沟通,与用户沟通,最终与全世界沟通。

因为我们第一个小孩的出生,我和我的妻子在一家医院里待了5天。在住院期间,我们受到了很多名护士的协助——每天至少两名不同的护士,有时还会更多,因为我们要去不同的科室就诊,而且护士每天还有换班。这家医院的护理质量总体来说是相当高的,但我们也为从最差的护士那里和最好的护士那里分别得到的护理之间的差距倍感困惑。几天之后,我终于发现了一个共性——最差护士的沟通能力必定最差的!这些护士无法跟我们进行有效的沟通,比如:

  • 为什么她们需要做某事
  • 可选方案有哪些
  • 提供建议
  • 排解我们的问题

这让我们觉得,她们都是些死板的、只知道照章办事的人,她们不会照顾人,或者她们没有主见(必须不断地请示上级)。当然,事实不是这样的。我相信,她们都是完全合格的专业护士。但在必要的沟通缺失的时候,她们确实看起来很糟糕!我还得说句公道话,这些护士常常(也不总是)不是本地人(她们的母语不是英语)。

即使在最佳的条件下,招聘也不是件易事!但如果让面试流程太过依赖于谜题就太冒险了。当然,程序员们最终可能把你扔给他们的蹩脚谜题解决了(我猜他们也许只是记住了答案)。但是,把那些解决方案有效地解释给团队中的其他人听,难道这不同样重要吗?对于很多程序员来说,那是谜题中最难的部分。

 

作者:happydeer 发表于2012-12-28 20:52:10 原文链接
阅读:74 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>