Back to normal life
《快乐的小侏儒》 海尔曼·黑塞

画地为牢(转)

scturtle posted @ 2010年5月25日 16:16 in 随笔 , 1395 阅读

两个项目之间喘息之际,帮着做招聘是每个ThoughtWorker义不容辞的责任。这不,一回到办公室坐下来,就有人给安排活。

这 次是一个电话面试,一个C#程序员。这个应聘者表达能力很不错,和他聊天感觉还很舒服。聊着聊着,我们谈到了.NET版本的问题。
我:你们用 的.NET是哪个版本的?
应聘者:2.0。
我:那你对新版本的.NET了解多少?
应聘者:不怎么了解。
我:没尝试着了解 一下?
应聘者:我们的项目比较稳定,不会轻易更换底层的库。
我:我是说,你自己没有了解一下?
应聘者:学了也用不到。

这 不是我第一次在面试的过程中问这个问题,也不是我第一次得到这样的回答。在那些咨询的日子里,我也曾与人讨论过这个话题,得到的答案大体也是类似的,用不 到。

很多程序员都把目光放在眼皮底下的一亩三分地,绝不越雷池半步。所以,我们有机会看到,有些程序员写着照猫画虎的代码,鲜有属于自己 的思考在里面。

我曾经看过这样的代码,一个实现了IEnumerable的类,要对它的一个实例进行遍历。这段代码通过 getEnumerator,然后用while循环,自己判断还有没有元素,再把它下一个元素取出来。
问:为什么不直接用foreach循环?
答: 前面的代码也是这么写的。

我也见过,原本用LINQ可以一句搞定的代码,然后自己一句一句把所有的逻辑堆砌出来,长长的代码让人不知所 云。能写出这样代码的人,多半是不知道LINQ存在的,或是仅仅知道存在而已。

这个问题的背后,我的关注点在于开放的心态。

自 己的学习和成长是为了谁呢?为了别人而学习,大可不必继续,那会是一件非常无趣的事。自以为优秀的人常常会丧失前进的动力,而许多优秀的人并不会觉得自己 多么优秀。打开自己的心,才能学到更多的东西。学然后知不足。

我所接触过的优秀程序员大多是视野极宽的人,与他们讨论问题,经常为自己的无知暗自羞愧。曾和WPC聊过,他说,自己在写Ruby的第一年完全就是 在写Java代码,这让他痛苦万分,不断的学习让他的Ruby代码有了Ruby的味道。我也曾见过很多用Java或C++写就C代码,而作者们浑然不知。

别 人不会限制你学习,也不会限制你成长,但自己可以画地为牢。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter