作为一名好的程序员,重视细节是一个必须要具备的优点。粗枝大叶的人很难成为一名好的程序员,至于好的架构师就更不要指望了。好的架构师来自于好的程序员,认为自己可以不经过多年程序员的严格考验就成为一名合格的架构师,那是癞蛤蟆想吃天鹅肉。
但是在国内,很多人满足于仅仅知道一些buzzword。他本人在做数据库开发,却不肯去深入了解不同SQL语句的性能差异;本人在做业务层开发,却不肯去深入了解重构为何物;本人在做Web表现层开发,却不肯去深入了解XHTML/CSS(我不提JavaScript,我认为即使在一个传统的Web开发团队中,开发人员也应该真正精通XHTML/CSS)。
我碰到过一些开发者,他们知道很多的buzzword,然而对于任何一个具体的领域的掌握却非常稀松平常。他们的简历上常常写着这个也会那个也会,但是一问具体的问题就露馅了。他们对于任何一个技术领域都仅仅只知道一点点皮毛,无法满足一般软件项目的开发需要,更无法满足对于质量要求更高的软件产品的开发需要。我带开发团队,其实更喜欢那些真正肯深入钻研,对工作质量精益求精的人,而不大喜欢什么都知道一些,但是遇到真正的困难就畏首畏尾的人。
国外为何出了这么多大牛,因为他们有着非常丰富的实践经验,他们对于自己所从事的技术领域的理解是非常深刻的。这些经验绝大部分都是来自于实践,来自于书本的经验只占一小部分。国内的一些开发者希望通过半年内读完10本架构师著作速成为一名优秀的架构师,那是不大可能的。通过这种方式,最多也只能拾人牙慧,是不可能成为Eric Gamma和Rod Johnson那样的人的。还有一些人总是喜欢摆出似乎已经无所不知的嘴脸,其实他们并不了解某种技术的细节,所以他们的判断往往失之毫厘,差之千里。
由此我发现西方人和中国人的一个很大的差别,就是西方人非常注重细节,而中国人则更喜欢观其大略。观其大略在某些领域也许是足够了,但是如果一个程序员也满足于对任何事情都观其大略,那肯定是要误大事的。我只说中国人,不说东方人,是因为我发现日本人在这方面与西方人是相同的。
分享到:
相关推荐
Java逆向破解技术是针对Java编程语言的一种安全研究方法,旨在分析和研究被加密或混淆的Java程序,以便理解其原理和功能,或者找到其中的漏洞和弱点。逆向破解技术在安全研究和漏洞挖掘中具有重要作用,并为黑客攻击...
书中在介绍每一种扫描器的时候,都是先介绍相应协议,然后对扫描器中要使用的API函数进行详细说明,使读者知道该扫描器的各种技术细节;还介绍了Windows中相关协议程序的安装、配置、测试和验证等,使读者有了演习...
让你明白为什么要采用和推广Web 标准。第二部分从技术细节上讲解了网站实际制作开发过程中如何向Web标准过渡,如何采用和符合Web标准。通过阅读本书,你可以清楚一些基本问题: Web标准是什么? 网站一定要用...
系统思维是一种从宏观角度了解系统,对事情进行全面思考、统筹兼顾的思维方式,对于解决选煤厂一些常见的洗选技术性难题具有很大优势。以解决中联选煤厂末精煤离心机脱水效果差的技术问题为例,对系统思维的应用思路...
1.引言: 柔性测试”是什么?是产品?是系统?还是一整套解决方案?这似乎是所有人都想了解清楚的一个问题。...所以从这个角度来讲,“柔性测试”实际上是一种技术。更为准确地定义“柔性测试”
移动IP是一种允许移动终端在任何网络环境下都能保持连接的技术,它能够解决传统IP网络中由于终端移动导致网络连接中断的问题。 首先,课件从移动IP的基本概念出发,解释了其工作原理和特点,如跨网连接、位置更新、...
复数混频器、零中频架构和算法开发之间存在一种有趣的联系。本文旨在明确以上三者各自的基本概念,即工作原理以及它们 给系统设计带来的价值,并阐述它们之间的相互依赖关系。 RF工程常被视为电子领域的黑魔法...
1.引言: 柔性测试”是什么?是产品?是系统?还是一整套解决方案?这似乎是所有人都想了解清楚的一个问题。当人们越来越关注于具有某...所以从这个角度来讲,“柔性测试”实际上是一种技术。更为准确地定义“柔性测
架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件...
根据传感器本体的知识结构,将关键字查询转换成更为准确的结构化查询,这样用户就不需要了解具体的转换细节和掌握相关的查询技术;构建签名图后创建查询树,用来缩小查询范围。最后通过与其他经典的传感器查询方法...
ChatGPT是一种由OpenAI开发的自然语言处理(NLP)模型,它能够理解和生成自然语言,并在各种领域中取得了显著的成果。本文将介绍ChatGPT的基本原理、适用人群、使用场景及目标、与其他机器学习技术的比较,以及对...
但是,Ajax 不仅仅 是一种时尚,它是一种构建网站的强大方法,而且不像学习一种全新的语言那样困难。 但在详细探讨 Ajax 是什么之前,先让我们花几分钟了解 Ajax 做 什么。目前,编写应用程序时有两种基本的选择: ...
摘要:本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计和测试等阶段,可以全面了解该框架的设计思路和实现细节,掌握相关...
摘要:本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计和测试等阶段,可以全面了解该框架的设计思路和实现细节,掌握相关...
摘要:本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计和测试等阶段,可以全面了解该框架的设计思路和实现细节,掌握相关...
2.为什么要用模式???因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。??为什么要用框架???因为软件系统发展到...
摘要:本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计和测试等阶段,可以全面了解该框架的设计思路和实现细节,掌握相关...
摘要:本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计和测试等阶段,可以全面了解该框架的设计思路和实现细节,掌握相关...
使用微软Kinect平台进行3D扫描是一种常见方法,如今计算机工程师吉安卡洛已经找到了一种新的方式:使用对焦堆叠。这个概念被称为焦点深度,通常使 用在显微镜中。吉安卡洛将其进行了简化,设法建立一个超级实惠的...
通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的...