2014年成为好程序员的7种途径(节译)

本文是翻译,版权归原作者所有


程序员有办法,没有吗?如果你还没有计划,可以参考其他人的想法并在新年付诸实践,甚至最聪明的家伙也有成长空间。由Kevlin Henny编写的《每个程序员必知的97件事》包括了以下专家。

1.责备别人代码之前先看下你的代码

要对你自己的假设和其他人的假设提出质疑,不同厂商的工具或许有不同的假设,有时候同一厂商的不同工具也有这种情况。

当别人发现了你不能重现的bug时,去看看他们正在做什么,他们可能在做你从来想不到的事情,或者按不同的顺序在操作。

我个人原则是,如果我有个无法确定的bug,我首先考虑编译器的问题,然后再查看栈异常。特别是在增加了跟踪代码之后使得问题发生了变化时。让人抓狂的多线程问题是另一个bug的诱因。当一个系统引入多线程时,所有支持简单代码的建议都会成倍增加。调试和单元测试将不能依据任何一致性来找到bug,因此设计的简单性是最高准则。

因此,在你开始归咎于编译器之前,记住Sherlock Holmes的建议,“如果你排除了不可能的(impossible),那么无论剩下什么,不管多么不可能,它们一定就是了”,还可以参考Dirk Gently的,“如果你排除了不可信的(improbable),那么无论剩下什么,不管多么不可能,它们一定就是了”。 —Allan Kelly

2.持续学习

这是一个有意思的时代。由于全球化的发展,有很多人和你做同样的工作。你需要保持学习以确保竞争力,否则,你将会变成做同样工作的恐龙,直到某一天,你不再被需要,或你的工作被外包给了其他便宜的资源。

因此你打算怎么办?一些雇主比较大方,为你提供培训,提高你的技能。其他雇主或许压根不会抽出时间或资金做培训。保险起见,你需要对自己的教育负责。

这里有些确保你学习的方法,许多都能在网上免费找到:

看看书、杂志、blog、twitter和网站。如果你想深入某个科目,考虑加入邮件列表或新闻组。

如果你真的想专注一门技术,就动手写代码。

总是试着与高手一起工作,没有高手,会阻碍你的进步。你可以从任何人那儿学到东西,因此你能够从聪明的、有经验的人那儿学到更多东西。如果你找不到高手,考虑转行。

使用虚拟高手。在网上找到你真正喜欢的作者或开发者,看他们写的任何东西,订阅他们的blog。

了解你使用的框架和类库,了解工作原理以便于你更好地使用它。如果他们开源了,你就足够幸运。使用调试器逐步通读代码,看看背后都发生了什么,你会发现真正聪明人写的、review过的代码。

当你犯了错误、修复了一个bug或遇到了一个问题,尽量真正弄懂发生了什么。很可能其他人也遇到了同样问题,并发到了网上,Google这里就派上了用场。

学习某样东西的好方法就是去教别人或谈论它,当人们在听你说以及问你问题时,你会更为专注地去学。试着 lunch-’n’-learn(注1),用户小组或当地会议。

参加或举办一个学习小组,或一个针对某种语言、技术、以及你感兴趣的训练的用户小组。

参加会议,如果你未能去成,很多会议免费把对话放在了网上。

……

原文地址:http://programming.oreilly.com/2014/01/7-ways-to-be-a-better-programmer-in-2014.html

注1: lunch-’n’-learn:这个词不好翻译,读者可参看http://management.about.com/od/trainingsites/a/LunchandLearn.htm

译文:2014年成为好程序员的7种途径(节译) 》| 腊八粥