英文:10 habits of 10x developers

译文:iteye

链接:http://www.iteye.com/news/23799

Brad Feld的一篇文章《The Rise of Developeronomics》中提到了“10倍效率的开发人员(10x developer)”的概念(卓越的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving 在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得到了以下的答案。

(编注:一个优秀的程序员的效率会是一个普通的程序员的十倍之上。——《一些鲜为人知的编程真相》全文请阅读4月8日的推送)

1. 只做需要做的工作

  • 使用敏捷方法;

  • 全心全意做UX设计;

  • 沟通第一;

  • 编码也许不是解决问题的办法;

  • 过早的优化是一切罪恶的根源;

  • 选择最简单的解决方案。

2. 站在巨人的肩膀上

  • 使用开源框架;

  • 使用简洁语言;

  • 不要做重复的事情(不要重新发明轮子);

  • 利用包管理器来进行公共和私有代码分配;

  • 不要任凭巨头(如微软)的摆布而修复库中的一个Bug;

  • 不要让你的雇主逼你学习;

  • 自主学习并为自己设定新的目标。

3. 了解数据结构和算法

如果你不知道什么时候应该使用快速排序、不懂辨认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. 推动自身和团队进步

重视批评,以包容的态度接受批评并提升自己是非常重要的事情。没有这个基础,你不可能成为一个高效的开发者。一位智者曾经说过:“聪明的人善于从自己的错误中学习,而智慧的人善于从别人的错误中学习。”

转载于:https://blog.51cto.com/liuqh/1766266

10倍效率的程序员的好习惯,你有几个?相关推荐

  1. 写了 15 年代码,总结出提升 10 倍效率的三件事

    [译者注]本文作者 Matt Watson 已经写了超过 15 年的代码,也由此总结出了提升 10 倍效率的三件事.Matt 表示,一个 10 倍效率的开发人员很快就知道了他们需要做什么,要问什么问题 ...

  2. 如何成为“10倍效率”开发者

    导读:Brad Feld的一篇文章The Rise of Developeronomics中提到了"10倍效率的开发者(10x developer)"的概念(伟大的开发者的效率往往 ...

  3. 10倍效率的开发者即将消亡

    [编者按]这篇文章是作者对于 10 倍效率的开发者这一概念的批判和反思.作者认为,这种概念是基于错误的假设和测量方法,导致了一些不良的后果,比如过度依赖个人英雄主义,忽视团队合作,以及缺乏对软件质量和 ...

  4. Kubernetes如何赋能可再生能源产业提升10倍效率

    KubeCon Keynote演讲:Kubernetes如何赋能可再生能源产业提升10倍效率 2018年11月14日,由云原生计算基金会(CNCF)主办的世界顶级容器盛会KubeCon在上海跨国采购会 ...

  5. 10倍效率提升的低代码IDE

    什么是低代码IDE呢? 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面 ...

  6. 10个方法让程序员更加优秀

    2019独角兽企业重金招聘Python工程师标准>>> 1.掌握基础 对于任何行业任何工作来说,融会贯通是获得成功的关键.一个人想要成为优秀程序员,就必须有坚实的基础.核心理念的理解 ...

  7. 10年老兵给程序员的10条建议!

    2019独角兽企业重金招聘Python工程师标准>>> 程序员虽然薪资待遇好,但是也得付出努力,技术好才行.特别是对于刚刚进入编程工作的新手程序员和正在学习编程的同学来说,一写代码就 ...

  8. 10年老兵给程序员的10条建议! 1

    程序员虽然薪资待遇好,但是也得付出努力,技术好才行.特别是对于刚刚进入编程工作的新手程序员和正在学习编程的同学来说,一写代码就报错,出bug.作为一个工作了10年+的老兵,总结了下面10条建议送给程序 ...

  9. 快10倍效率的3dmax建模技术,这些技巧你不能错过!【上】

    俗话说得好:"工欲善其事必先利其器",配置一个适合自己的工作界面,是可以提高我们的工作效率.让我们做起作品来更加顺手,介绍快10倍效率的3dmax建模技术,这些技巧你不能错过![上 ...

最新文章

  1. ibatis源码浅析- 初探
  2. Android获取和判断当前手机状态和信息
  3. 奠定现代计算机发展的人物和思想,计算机基础第一部分.ppt
  4. 5 随窗口改变大小_C4D默认界面两个关于坐标轴的窗口有什么区别
  5. php 输出 继续执行,使用PHP中的实时输出运行进程
  6. cube station下载_Cube Station
  7. matlab中对正弦信号采样,正弦信号抽样的实验报告(共9篇).doc
  8. Python 爬虫 书籍爬取实例
  9. c语言小车路径规划算法,基于路径规划的室内小车定位系统
  10. JLink引脚定义、JTAG引脚定义、SWD引脚定义
  11. 微信视频通话怎么美颜
  12. 手把带你学会红外避障循迹模块
  13. php下lua的运行,phpStudy中起用lua脚本
  14. 02 | 论文中的「题目、目录、摘要和结论」应该怎么写?
  15. 计算机网络——IPV6基础知识
  16. Oracle-Materialized View
  17. Github域名解析连接慢问题
  18. element card样式无边框
  19. 挖藕!模拟sql抓取qq密码
  20. 西南知识产权大数据中心落地成都

热门文章

  1. php日志接入rsyslog,rsyslog和在PHP上的应用
  2. mysql binlog恢复错误_mysql通过binlog日志来恢复数据
  3. 如何使用matlab的siso,MIMO-SISO-MATLAB-program 和 的 仿真源代码,非常详细,可以参考学习 267万源代码下载- www.pudn.com...
  4. Java获取游戏头像_java爬取堆糖所有头像(高质量版头像)
  5. js 点击侧边栏展示内容_【DEMO】JS实现侧边栏信息展示效果
  6. Redis初学:8(Hash类型)
  7. php常见排序算去,PHP兑现常见排序算法
  8. context.xml mysql_在tomcat下context.xml中配置各种数据库连接池(示例代码)
  9. python实现ssh登录send_Python实现ssh批量登录并执行命令
  10. Injection of @Reference dependencies failed;