原文:What Makes A Great Programmer?
按:有很多人不关心自己天天使用的工具,这是一个阶段。有一部分人开始关注工具,但却容易忘记使用工具本来的目的。有一段时间确实迷失在各种工具之中,所以文章的开头部分让我很有感触。希望大家能够警惕类似的思维陷阱,分享此文共勉。
我记得仿佛是昨天。那是2000年,Pargas博士站在我们的数据结构课堂上谈论着一些Y数据结构的话题,同时一个SSH会话被投影到我们面前的墙上。有人问了个问题,而他说了些类似于“好吧,如果你成为一个真正的计算机科学家你需要开始使用vi编辑器”。我想当他说这话时他在微笑,而且事后看来他的说法完全不对,但像我当时那样年轻又易受影响,回到宿舍就立即着手训练自己如何使用vi。这大概持续了一阵子,但一旦我开始掌握窍门我发觉我在vi中工作真的很快。
快进6年,我被TextMate迷住了。我当时在做一份Java开发的工作,但同时在空闲时间学习Rails和开发Rails项目。当时感觉似乎我读的每篇文章和我看的每个视频都在展示如何使用TextMate实现文本编辑之禅。事实上当时每天使用Eclipse让我充满了怒火。于是我买了台Mac,在打开它的十分钟内购买了TextMate。
我能坦诚地说没有哪次文本编辑器的改变使我成为了更好的程序员。
强大的工具只是不能使你变得“那么”好。你使用的工具确实重要,它们确实很棒。但老虎伍兹使用俱乐部里的垃圾装备仍然能击败我们所有人,梅西光着脚也会胜过我们,纳达尔也许能用一副60年代的经典木质球拍在网球场上击败我们全部,他也许用乒乓拍就能击败我。
你积累的技巧、知识和经验才是方程式中最重要的部分。
那么工具无法成就程序员,又是什么呢?我想成就一个伟大程序员的很多方面取决于你从事的工作以及和你共事的人,但我也看到了已经在软件开发领域获得大量成功的人们身上存在的、我认为值得分享的共通品质。我不确定这些是你能够掌握的技巧还是你与生俱来的东西。但我很强烈地感觉到如果我少花时间在换文本编辑器,多花精力在这些品质上,我会处于一个了不起的位置。
以人为本
我认识的最好的程序员把人放在第一位。他们认识到他们编写的软件是面向人的,即使这只是某个复杂系统的后端或是除了开发者没人会使用的协议。他们编写文档因为文档是重要的。他们帮助人们使用他们的代码。他们愿意加班处理更复杂的问题,以给予使用他们软件的人正确的解决方案。
求知欲
了不起的程序员对知识的饥渴令人惊讶。他们总是告诉你新的、有趣的东西。他们愿意大量阅读(无论线上线下)并且尝试事物获取经验。他们不担心尝试新的编程语言或新的平台。
技巧地问题模式匹配
一旦你编写软件一段时间,你开始发现出现的问题非常相似于你曾经处理过的其它问题。能够识别这些问题,并转化过去的解决方案,使之有效于当前的局面是一种真正有价值的技能。能够每次改进解决方案则更好。
注意,但这并不意味着你盲目地说因为一个过去的方案有效它就一定有效。这正是有技巧地应用问题模式匹配登场的地方。你必须能够分辨何时应当应用一个过去的方案,何时不行。
一点点疯狂
我的兄弟在高三上过Python课程,当我问他是否喜欢时,他告诉我我成为程序员真是疯了,这是他做过的最无聊的事情之一。某种程度上,我认为他是对的。大部分日子我和计算机交谈多于和人交谈。我得一行行地把人们的叽里咕噜转化为可用的软件,这个事实让我大为震惊。不是这里的每个人都爱做这种事,但我遇到过的最好的程序员绝对热爱开发软件。
坚持
软件开发总是比人们预期得更慢,这很花时间。有时你不得不足够耐心才能鼓捣出你需要写的代码。有时作为开发者我们能写出非常有意思的代码,但有时我们得写很多以前差不多已经写过一百遍代码的代码,得到的只有不爽。我认为最好的开发者能继续前进,因为他们能看到他们正在从事的事物的大局,而且他们热爱一点一点完成最终结果的过程。
还有一些我认为能够成就一个真正的好程序员的品质,但这不是一个一网打尽的列表,我希望听到你的选择。你认为是什么成就一个伟大的程序员?
相关推荐
[译文]程序员能力矩阵 Programmer Competency Matrix.htm
译文 _ 什么是CCPA,你为什么要关心? web安全 APT 安全威胁 数据安全 业务安全
类的伟大之处是什么? 什么是“OOP”?它的伟大之处是什么? 何谓“泛型编程”?其伟大之处何在? 为什么 C++ 允许不安全的代码? 学习 C++: 为了成为真正的 OO 程序员,在学 C++ 之前,我需要先学一门纯 OO 语言吗...
毕业设计中英文全文翻译!需要的同学可以做参考!
比如,标签<p></p>之间的文字就会成为一个段落,在这个段落中可以使用标签<h1></h1>来定义最主要的页面标题。注意大多数开始标签,都会有相应的以开头的结束标签。 .............................. ..................
中庸全文及译文.pdf
土木工程专业 毕业设计译文 国内某985高校
计算机专业 毕业论文 译文及原文,外文文献
VT帮助文档译文 VT帮助文档译文VT帮助文档译文
乌有先生传原文+注释+译文.doc
这是一个用于管理多语言资源的译文管理系统,由于用户分布于全球各地,公司的 App 需要显示多语言,Android 和 iOS 有大量的译文需要管理,手工维护极其麻烦,于是这个系统诞生了,方便 translator 在平台翻译,翻译...
智囊全集 原文和译文都完整
译文|CISO的角色是怎么演变的? 漏洞分析 安全体系 安全管理 云安全 数据分析
一个人受到侮辱,拔剑而起,挺身上前搏斗,这并不算是勇敢。天下有一种真正勇敢的人,遇到突发的情形毫不惊慌,无缘无故侵犯他也不动怒。为什么能够这样呢?因为他胸怀大志,目标高远啊。 张良从桥上老人手里得到...
关于JSP翻译,用来当译文的,全是英文!!O(∩_∩)O
毕业设计 面向高校人才市场信息管理系统 外文文献及译文
大学英语课后课文参考译文,然而并没有什么卵用
易传全文注释译文.doc
外研版八年级上册英语课文译文
【《.千里之马》阅读答案翻译译文中考语文试题】 千里之马 译文.docx