• 2005-01-10

    找寻明师(二)

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/572914.html

    什么是明师?明师不一定是大师,否则我会把标题改为“名师”。水平高固然好,但也要适合我们自身的水平。对于深处蒙古大漠的郭靖来说,有江南七怪已经足够,这时找来洪七公教他降龙十八掌恐怕他也无法领会。没有足够的基础,老师所教的东西对我们来说只能是云里雾里,讲不清楚,浪费我们时间,讲清楚,浪费老师时间。

    运气好的话,我们也许会找到这样一位明师,但能不能从明师身上学到更多的东西可要靠个人的努力。gigix在2005年第一期《程序员》谈及动态代理技术的发展时,这样形容Rickard Oberg:Oberg是一个天才,但和所有天才一样,他也有一个致命的毛病:他痛恨与智商低的人交流——如果对方跟不上他的节奏,他宁可选择缄默。其实,这个结论完全可以用在天才之外,对于热爱软件开发的人,如果交流者不能令他感到激情澎湃,阐述自己的思想简直是在浪费时间。找到宝藏却空手而归比找不到宝藏更加令人懊恼。

    在程序员修炼之路上,我们通常会把这种明师称之为高手。

    如果有幸遇到了这样一位高手,在我们放心大胆与他进行交流之前,先要获得他的信任。交流之初,他通常并不在意我们的水平是否足够高,因为这个时候,我们确实扮演的是一个学生的角色。我们需要表现的是自己对于软件开发的热爱。这种热爱不是通过做作一下就能表现出来的,正是这种热爱使得我们与高手之间有了共同的语言,他才会觉得为我们解释一些东西是值得的。

    与高手的交流,大多是以问答的方式表现。还是在2005年第一期《程序员》上,Danny Thorpe——Delphi的首席架构师谈到自己为经常向Chuck Jazdzewski请教“愚蠢”的问题而道歉时,Chuck说:“令我烦恼的是,当一个人打断我的工作,问的却是通过阅读文档和源代码,或是思考一会儿就能解决的问题,这些问题浪费了我的时间。然而,你的问题常常初级有趣或棘手的话题,这说明你下过工夫并思考了很多问题。我欣赏你去努力地理解问题,而不是指望别人提供所有的答案,我永远欢迎你提问题。”我有一个同事,每次讨论问题,他总能提出让人意想不到的问题,为讨论开启新的方向,以致于大家一致认为,开会少了他就缺少了一半的意义。关于提问,最好的教材是Eric Raymond的《How To Ask Questions The Smart Way》(中文版《提问的智慧》)

    有高手作为自己的老师固然不错,但如果因为高手的存在便放弃自己思考的权力,就有些得不偿失了。一种表现是遇到问题就想问。一个英语老师开玩笑说,你们可别有不认识单词就打电话给我,而手边放了本英语词典却懒得翻。一旦养成了依赖的心理,就等于放弃了自我前行的动力,我们变成“十万个为什么”不要紧,更多的是浪费人家的时间和精力。另一种表现是认为高手说得就是对的,一种绝对盲从。高手也是人,他所涉及的领域固然比我们广阔、深度也在我们之上,但这并不代表他说的一定是对的。出于人品的关系,很少有人愿意故意欺骗我们,但谁能保证他的理解一定是对的,也许当他了解得更多时,他会回过头来否定自己曾经的一些观点。不过,话又说回来,没有来由的质疑一切也不可取,我们需要的是丰富自己,只有这样我们才会有自己的判断力,才能辨别真伪。一旦成功质疑高手一次,他便能够更加信任我们,愿意与我们交流更多的东西,我们也会因此获得更多。

    找寻明师是一种学问,向明师学习何尝不是一种学问!

    分享到:

    历史上的今天:

    引用地址: