Brad Feld 的一篇文章 The Rise of Developeronomics 中提到了“10倍效率的开发者(10x developer)”的概念(伟大的开发者的效率每每比通常的开发者高不少,而不仅是一点点),Adam Loving 在读了以后受到启发,并向多位大牛(Ben Sharpe、Collin Watson 和 Jonathan Locke)询问如何成为“10倍效率的开发者”,最后获得了如下的答案。程序员
1. 只作须要作的工做算法
2. 站在巨人的肩膀上编程
3. 了解数据结构和算法session
若是你不知道何时应该使用快速排序、不懂辨认O(n2)程序、不会写递归函数,你将没法成为 10 倍效率的开发者。使用多种语言你才能清楚不一样的框架是如何解决相同问题的。尽量去了解底层命令(plumbing),以便可以做出明智的决定(Web 框架是怎么存储 session 状态的?Cookie 究竟是什么?)。数据结构
4. 不要怕买工具,它能够节省你的时间框架
Ben 说:“昨天我花 50 美圆买了一个位图字体工具,它帮我节省的时间成本绝对超过 200 元。”数据结构和算法
5. 集中注意力编辑器
不要成天开着你的电子邮件、Twitter、Facebook 等,在工做时将它们最小化或关掉它们,戴上耳机。Tiny hack 说:“即便不听音乐我也戴着耳机工做,这样便不会有人打扰到我。”函数
6. 尽早而且常常性地进行代码重构工具
有时,你不得不放弃漂亮的代码转而去寻找真正对项目有用的代码,但不要紧,若是你的现有项目中有这样的代码,最好的方式即是不要看它,并重构。
7. 只管去作
将你的业余项目分享到 Startup Weekend 中。在我开始转到 Unix 和 Ruby on Rails 上以前,我买了一台 Mac,使用 Windows 虚拟机花了一年时间作 .NET 项目。
8. 挑选一个编辑器,并掌握它
高效开发者喜欢用文本编辑器赛过 IDE 编辑器,由于这样能够学到更多东西。不管什么状况,尽可能使用键盘快捷键,由于熟练使用一件工具的前提是熟悉它。
在选择编辑器时,认真考虑并挑选最好的(Emacs 或 Vim),由于它们是通用的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用 Mac 上的 TextExpander 为整个段落建立快捷方式;使用 Visual Studio 或 SublimeText 的自动补齐功能;使用支持按行/列分割窗口的编辑器,这样你便能同时看到单元测试和代码(或模型、视图)。
必定要想清楚后再写代码。Adam 说,“我有朋友在一个大项目组里工做,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他老是在写代码以前想得很仔细且不多出错。”
9. 整洁的代码赛过巧妙的代码
要想让其余人可以读懂你的代码,尽可能使用最少的代码来完成任务。遵循 DRY(Don't repeat yourself)的原则,使用明肯定义的对象和库,将任务分解成小而简单的代码段。
10. 潜意识是强大的工具
离开 10 分钟每每就能够解决一个问题。控制编程时间,给本身一个多姿多彩的生活,劳逸结合能让你在工做时更高效、更愉悦。固然,即使是上了年纪的程序员也知道,以最少的时间完成最高效的工做是成为 10 倍效率开发者的必要条件。
做为一个程序员,我以为在职业生涯中最好的一件事儿就是从电脑前站起来,去拜访那些在某一领域有所建树的人们。
11. 推进自身和团队进步
重视批评,以包容的态度接受批评并提高本身是很是重要的事情。没有这个基础,你不可能成为一个高效的开发者。一位智者曾经说过:“聪明的人善于从本身的错误中学习,而智慧的人善于从别人的错误中学习。”