为什么一定要了解一种技术的细节

  作为一名好的程序员,重视细节是一个必须要具备的优点。粗枝大叶的人很难成为一名好的程序员,至于好的架构师就更不要指望了。好的架构师来自于好的程序员,认为自己可以不经过多年程序员的严格考验就成为一名合格的架构师,那是癞蛤蟆想吃天鹅肉。

  但是在国内,很多人满足于仅仅知道一些buzzword。他本人在做数据库开发,却不肯去深入了解不同SQL语句的性能差异;本人在做业务层开发,却不肯去深入了解重构为何物;本人在做Web表现层开发,却不肯去深入了解XHTML/CSS(我不提JavaScript,我认为即使在一个传统的Web开发团队中,开发人员也应该真正精通XHTML/CSS)。

  我碰到过一些开发者,他们知道很多的buzzword,然而对于任何一个具体的领域的掌握却非常稀松平常。他们的简历上常常写着这个也会那个也会,但是一问具体的问题就露馅了。他们对于任何一个技术领域都仅仅只知道一点点皮毛,无法满足一般软件项目的开发需要,更无法满足对于质量要求更高的软件产品的开发需要。我带开发团队,其实更喜欢那些真正肯深入钻研,对工作质量精益求精的人,而不大喜欢什么都知道一些,但是遇到真正的困难就畏首畏尾的人。

  国外为何出了这么多大牛,因为他们有着非常丰富的实践经验,他们对于自己所从事的技术领域的理解是非常深刻的。这些经验绝大部分都是来自于实践,来自于书本的经验只占一小部分。国内的一些开发者希望通过半年内读完10本架构师著作速成为一名优秀的架构师,那是不大可能的。通过这种方式,最多也只能拾人牙慧,是不可能成为Eric Gamma和Rod Johnson那样的人的。还有一些人总是喜欢摆出似乎已经无所不知的嘴脸,其实他们并不了解某种技术的细节,所以他们的判断往往失之毫厘,差之千里。

  由此我发现西方人和中国人的一个很大的差别,就是西方人非常注重细节,而中国人则更喜欢观其大略。观其大略在某些领域也许是足够了,但是如果一个程序员也满足于对任何事情都观其大略,那肯定是要误大事的。我只说中国人,不说东方人,是因为我发现日本人在这方面与西方人是相同的。

你可能感兴趣的:(JavaScript,sql,Web,XHTML,css)