`

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

 
阅读更多

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
分享到:
评论

相关推荐

    如何成为10倍效率开发者

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

    如何成为十倍效率开发者

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

    10个步骤让你成为高效的Web开发者

    该资源讲述了10个要点,是对开发者的提高效率的很好的建议,我认为可以作为戒条去完善自己的开发过程!推荐!

    前端必备vue浏览器插件贴心指南,助你成为高效前端开发者!

    一招get!vue浏览器插件开发新技巧!vue浏览器插件神器,让你的开发效率翻倍提升

    Android Studio下载示例.pdf

    在数字化快速发展的今天,Android Studio已成为众多开发者必备的工具之一。它凭借强大的功能和友好的界面设计,极大地提高了Android应用程序的开发效率。本示例将详细介绍如何下载Android Studio,以便读者能够顺利...

    MongoDB数据库基本操作方法

    对于开发者而言,掌握MongoDB的基本操作至关重要,它不仅能提升数据处理效率,还能为应用程序带来更高的灵活性和可扩展性。 本资源详细介绍了MongoDB的核心操作,包括数据库的创建与删除、集合的管理、数据的增删改...

    Delphi的概要介绍与分析

    这种快速应用程序开发(RAD)模式极大地提高了开发者的效率,缩短了开发周期。 此外,Delphi具有强大的第三方库支持,这些库涵盖了各种常见的开发需求,如数据库访问、网络编程、图形图像处理等。开发者可以通过...

    掌握Eclipse高频面试题,轻松应对Java开发面试!.zip

    eclipse 在当今的软件开发领域,Java作为一种广泛使用的编程语言,其开发环境Eclipse也成为了许多开发者的首选。对于即将参加Java开发岗位面试的求职者来说,掌握Eclipse的相关知识点是至关重要的。本内容旨在通过...

    医药店库存管理系统.doc

    目前很多医院的信息管理还比较落后,劳动 强度大且效率低,因此,开发医院管理信息系统将提高医院的各项工作效率。医院的药 品管理师一个非常重要的和繁杂的事务,需要完成药品的入库、存储、出库等很多操作 ,这就...

    2024 NLP面试必备:掌握这些高频题,成为行业高手!.zip

    为了帮助求职者准备面试,以及帮助开发者了解行业动态,本文整理了10道关于NLP开发的高频面试题,涵盖了最新的技术趋势、基础知识点以及行业挑战。 适应人群: 即将参加NLP相关岗位面试的求职者 希望提升NLP技能的...

    asp.net快速开发框架(eFrameWork) v4.0.16

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    asp.net快速开发框架(eFrameWork) v4.0.15

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    软件项目绩效管理.doc

    规范化项目管理成为所有小型软件公司必行之路,唯有如此才能激进和开发员工潜能,通过本案提出的积分制管理方案,可有效提升软件开发者工作效率及工作责任心,对拥有效率和责任心的程序员予以重点嘉奖及提高相应待遇...

    VisualBasic的概要介绍与分析

    Visual Basic(简称VB)是一种由Microsoft公司开发的面向对象的编程语言,以其直观易用的界面和强大的功能,成为初学者和专业开发者广泛使用的工具。 Visual Basic的“Visual”部分体现在其强大的图形用户界面(GUI...

    asp.net快速开发框架(eFrameWork)v3.0.2

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    pandas_validator-0.2.0-cp34-cp34m-macosx_10_10_x86_64.whl

    这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...

    pandas_validator-0.3.0-cp34-cp34m-macosx_10_10_x86_64.whl

    这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...

    pandas_validator-0.1.0-cp34-cp34m-macosx_10_10_x86_64.whl

    这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...

    基础篇必看,史上最全的iOS开发教程集锦,没有之一.zip

    通过学习本文,读者可以提高开发效率、代码质量,成为一名出色的iOS开发者。 适用人群:适用于iOS编程初学者、小程序开发者以及对iOS开发感兴趣的技术人员。 使用场景及目标:本文旨在帮助读者掌握iOS开发的基本技巧...

    Python-3.9.10.tar.xz

    这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...

Global site tag (gtag.js) - Google Analytics