阅读更多

34顶
2踩

研发管理

翻译新闻 如何成为“10倍效率”开发者

2011-12-23 17:39 by 正式编辑 sherry617 评论(21) 有18080人浏览
Brad Feld的一篇文章The Rise of Developeronomics中提到了“10倍效率的开发者(10x developer)”的概念(伟大的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得到了以下的答案。

1. 只做需要做的工作

  • 使用敏捷方法;
  • 全心全意做UX设计;
  • 沟通第一;
  • 编码也许不是解决问题的办法;
  • 过早的优化是一切罪恶的根源;
  • 选择最简单的解决方案。
2. 站在巨人的肩膀上

  • 使用开源框架;
  • 使用简洁语言(如HAML、Jade、Coffeescript);
  • 不要做重复的事情(不要重新发明轮子);
  • 利用包管理器来进行公共和私有代码分配;
  • 不要任凭巨头(如微软)的摆布而修复库中的一个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. 推动自身和团队进步

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

英文原文:http://adamloving.com/internet-programming/10x-developers
34
2
评论 共 21 条 请登录后发表评论
21 楼 feikiss 2013-06-03 17:03
seamount 写道
cloud4aiyou 写道
全部满足的飘过

大牛啊。。。膜拜~~~

不对啊,他说的是全部满足呢还是敲错了?是全不满足? 
20 楼 seamount 2012-04-01 09:37
cloud4aiyou 写道
全部满足的飘过

大牛啊。。。膜拜~~~
19 楼 lichungao 2012-01-12 09:56
数据结构已经快忘光了,还是要多学习啊
18 楼 西北汉子 2011-12-27 11:31
写的很好的东西,这种境界不是我们一般人可以达到的
17 楼 悲剧了 2011-12-26 13:46
10倍,是个诱人的数字,太通常都是理想化想法
16 楼 nkhanxh 2011-12-26 13:21
shuaiji 写道
UX
egmacross 写道
Ben说:“昨天我花50美元买了一个位图字体工具,它帮我节省的时间成本绝对超过200元。”

吃饱撑的。。。

不是,人家美国人讲究的就是,得到就要付出代价。不像中国人,就算买的起也不买。也要买破解的。既然你能说出来时吃饱撑的,说明你的版权意识很差。

支持!
15 楼 shuaiji 2011-12-26 09:54
UX
egmacross 写道
Ben说:“昨天我花50美元买了一个位图字体工具,它帮我节省的时间成本绝对超过200元。”

吃饱撑的。。。

不是,人家美国人讲究的就是,得到就要付出代价。不像中国人,就算买的起也不买。也要买破解的。既然你能说出来时吃饱撑的,说明你的版权意识很差。
14 楼 egmacross 2011-12-26 09:37
Ben说:“昨天我花50美元买了一个位图字体工具,它帮我节省的时间成本绝对超过200元。”

吃饱撑的。。。
13 楼 cloud4aiyou 2011-12-26 09:25
全部满足的飘过
12 楼 caizi12 2011-12-26 09:13
hantsy 写道
3. 了解数据结构和算法 。。。工作几年才知道这个重要,可是回头买一本数据结构的时候,我已经看不懂数学符号了。


彼此彼此,数学快忘完了。
11 楼 bluend1004 2011-12-26 08:42
这个真的受教了!!!
10 楼 java-007 2011-12-25 22:39
不错,受教。
9 楼 liyueling 2011-12-25 21:37
说的很有道理。
8 楼 cats_tiger 2011-12-25 18:17
戴耳机,的确有效
7 楼 kuchaguangjie 2011-12-25 14:29
戴耳机,有效!
6 楼 caoyangx 2011-12-24 22:30
他总是在写代码之前想得很仔细且很少出错。
hantsy 写道
3. 了解数据结构和算法 。。。工作几年才知道这个重要,可是回头买一本数据结构的时候,我已经看不懂数学符号了。

出来混,总是要还的。大家都一样。
5 楼 yida1313 2011-12-24 21:22
我有朋友在一个大项目组里工作,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他总是在写代码之前想得很仔细且很少出错。
------------------------------

说的太好了。。。
4 楼 ol_beta 2011-12-24 15:35
说的很好。
3 楼 tlde_ti 2011-12-24 12:07
“我有朋友在一个大项目组里工作,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他总是在写代码之前想得很仔细且很少出错。"
---------------
cool
2 楼 agile_boy 2011-12-24 12:03
这个要收藏,虽然全新观点不多,不过确实很实用。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 如何成为10倍效率开发者

    如何成为10倍效率开发者,如何成为10倍效率开发者

  • 如何成为十倍效率开发者

    本文教你如何成为一个高效开发者,而不是代码工人

  • [转] 如何成为“10倍效率”开发者

    而不只是一点点),Adam Loving在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”...

  • 如何成为“10倍效率的开发者(10x developer)

    而不只是一点点),Adam Loving在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得到

  • 如何成为“10倍效率的开发者”

    ...而不只是一点点),Adam Loving在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得...

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

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

  • springboot(酒店管理系统)

    开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! 需要加v19306446185

  • BP神经网络matlab实例.doc

    数学模型算法

  • 设计.zip

    设计.zip

  • 基于 Spring Cloud 组件构建的分布式服务架构

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,用于开发企业级应用。它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、渲染视图和管理流程的功能。 3. MyBatis框架:MyBatis是一个持久层框架,用于与数据库进行交互。它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程

  • 【微信小程序毕业设计】书店系统开发项目(源码+演示视频+说明).rar

    【微信小程序毕业设计】书店系统开发项目(源码+演示视频+说明).rar 【项目技术】 微信小程序开发工具+java后端+mysql 【演示视频-编号:246】 https://pan.quark.cn/s/cb634e7c02b5 【实现功能】 用户信息管理,图书信息管理,图书类型管理,图书留言管理,论坛信息管理等

  • 基于java的-44-17-宠物销售系统-源码.zip

    提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

  • Web开发工具和方法课程的学术项目Java、Spring、Hibernate、Angular

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,用于开发企业级应用。它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、渲染视图和管理流程的功能。 3. MyBatis框架:MyBatis是一个持久层框架,用于与数据库进行交互。它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程

  • spring-boot 集成geotools工具包(高分项目).zip

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,用于开发企业级应用。它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、渲染视图和管理流程的功能。 3. MyBatis框架:MyBatis是一个持久层框架,用于与数据库进行交互。它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程

  • 决策树.zip0002

    决策树, 决策树(Decision Tree)是一种常见的数据挖掘算法,它模仿人类决策过程来预测数据。决策树是一种树形结构,它从根节点开始,分支延伸至叶节点,每个内部节点代表了某个特征的测试,而每个叶节点代表了最终的预测结果。

  • 小程序-24-基于微信小程序的美容院管理系统-源码.zip

    提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

  • 基于java的-15-[计算机毕业设计]基于SSM的四六级在线考试系统-源码.zip

    提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

  • 小程序-33-基于微信小程序的新生自助报到系统--LW-源码.zip

    提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

  • Java网络爬虫源代码

    附件是Java网络爬虫源代码的压缩包,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流!

Global site tag (gtag.js) - Google Analytics