本文来自Totango的联合创始人兼CEO盖伊•尼尔帕兹(Guy Nirpaz),他在本文中列出了优秀的开发者和差的(或还需努力的)开发者之间的区别。
如果你认为使用“优秀”和“差”来区分开发者不妥的话,也可以将这些看作是初级开发者和资深开发者之间的区别。但无论如何,多看看其他的优秀开发者(或资深开发者)是如何做的,对于自身技能、工作方式的提升有很大的帮助。
文章内容如下:
优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。
优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后去实现,同时能够把握大局。差的开发者专注于构建类、方法和配置文件,而不理会大局。
优秀的开发者了解产品的完整架构。差的开发者只知道他写的组件。优秀的开发人员充分理解在产品中使用的技术,了解它们的用途,以及它们在内部如何工作。
优秀的开发者不害怕新技术,并能够很快掌握。差的开发者只坚持他目前掌握的技术,对于任何技术变化持否定态度。
优秀的开发者通过不断学习来提高自己的技能,他们经常阅读技术文章和书籍。差的开发者没有时间来学习,他们总是太忙了,以致于不能干其他事情。
优秀的开发者关心产品的质量,同时也非常关注过程质量,他们努力创造无缺陷的代码。差的开发者将bug留给QA去发现,然后再修复。
优秀的开发者为客户开发能够创造价值的功能,差的开发者只是想完成任务。优秀的开发者不会声称需求描述是不完整的,并确保充分理解这些特性。差的开发者会等到需求细节完善后才开始工作。优秀的开发者总是确保拥有产品功能的相关信息,一旦信息丢失,他会想办法再得到它。
优秀的开发者不害怕在产品中加入其他人的代码,而差的开发者会担心别人使用他的代码。优秀的开发者认为不应该花费过多的时间来写不言自明(self-explanatory)和显而易见(well-documented)的代码。差的开发者总是需要分配额外的时间来记录和简化代码。
优秀的开发者永远不会觉得自己的代码已经足够好,相反会持续不断地整理和修复。他们始终致力于创造优雅的解决方案,认为他的工作是向客户提供价值。差的开发者只考虑自己代码是否优雅,将创造价值的工作留给别人。
最为开发者努力的目标是是自己成为优秀的开发者。
原文:Good Developer, Bad Developer
分享到:
相关推荐
华为云提供了针对不同层次开发者的在线课程、认证路径、实践训练营、云端实验室等,旨在覆盖从初级开发者到资深开发者的学习与实践需求。此外,还有华为云认证体系,包括架构师、开发者、管理员等多层次职业认证,...
- **初级开发者**:如果你是一名刚接触Linux编程的新手,这本书将为你提供一个全面的学习框架。 - **中级开发者**:对于有一定经验的开发者而言,本书可以帮助你深入了解Linux内核工作原理及高级特性。 - **高级...
初级开发者到资深专家,涵盖了全行业的各个阶段。调查发现,Python开发者普遍具有较强的自学能力,这与Python语言易学易用的特点相吻合。同时,许多开发者还具备跨领域的技能,如数据分析、人工智能和云计算等,这...
【程序员从初级到高级知识汇集】是一本涵盖了程序员从入门到精通所需掌握的全面知识的资料集合。本书针对初级和高级程序员,旨在提供一个...无论是初级程序员寻求进阶,还是资深开发者巩固知识,都是宝贵的参考资料。
适合人群:旨在为准备面试或希望提高Java编程技能的专业人士提供有用指南,无论是对于初级程序员还是资深开发者都有所帮助。 使用场景及目标:适用于Java学习阶段,帮助理解和记忆相关的关键术语和复杂理论;作为...
【Java初级程序员必备知识点】 Java 是一种广泛使用的高级编程语言,尤其在企业级应用开发中占有重要地位。对于初级Java程序员来说,理解...不断学习和实践,将有助于提升技能水平,逐渐成长为一名资深的Java开发者。
这些小组提供了一个平台,使得经验丰富的开发者能够指导新手,同时也让初级开发者有机会向同行学习,共同提升技能。这种互动学习模式不仅强化了个人的专业能力,还促进了社区内的合作与交流。 该项目的核心理念是...
学习汇编语言不仅能够提升编程技能,还能帮助理解计算机系统的工作原理,为成为资深开发者或系统工程师奠定坚实基础。通过《学习汇编语言从初级到高级教程》,结合NLC阅读工具,学习者可以逐步深入这个领域,体验到...
### Java咖啡馆学习资料初级知识点...无论是初学者还是资深开发者,都能在Java的世界里找到适合自己的发展路径。随着技术的不断进步和发展,Java的应用场景也在不断扩大,未来仍将持续保持其在软件开发领域的领先地位。
对于初级开发者来说,这是一个很好的实践项目,可以直接应用于自己的网站,提高用户服务体验。对于有经验的开发者,这些代码可以作为参考,进行二次修改和定制,以满足特定项目需求。例如,可以修改CSS以改变颜色...
### C语言初级教程详解 #### 一、C语言的起源与发展历程 C语言,作为现代编程语言中的基石,诞生于1972年,由美国贝尔实验室的Dennis ...无论是初学者还是资深开发者,都能在C语言的世界里找到无限的可能和乐趣。
例如,从P25到P90的数值变化,反映出从初级到资深开发者的薪酬跨度,这鼓励着技术人员不断提升自己的专业技能和经验,以获取更高的薪资回报。 总的来说,这份报告为榆林地区的ERP技术开发者提供了关于职业发展和...
- **高级开发者**:资深开发者可以从本书中获取到关于WinRT架构和内部机制的深入了解,从而更好地优化自己的应用。 #### 五、结论 总之,《WinRT.揭秘》是一本非常实用且全面的WinRT入门指南。无论你是初学者还是...
《高质量C++/C编程指南》是一份由林锐博士编写的详尽的编程规范文档,旨在提升C++和C语言编程的质量。该指南不仅涵盖了基础的编程规则,还深入探讨...无论是编程新手还是资深开发者,都能从中获得有价值的指导和启示。
1. **IO流**:理解输入输出流的使用,包括文件操作、字符流和字节流的区别与应用。 2. **多线程**:介绍并发编程的基础,包括线程的创建、同步机制(如synchronized关键字和Lock接口)以及线程池。 3. **网络编程**...
【标题】:“CSDN 高手开发”通常指的是在CSDN(China Software Developer Network)平台上,由技术专家或资深开发者分享的高级编程、软件开发、系统设计等相关技术资源和经验总结。CSDN是中国最大的IT技术社区,...
初级开发者通常起薪较低,而资深开发者或架构师则可能拥有更丰厚的待遇。 地理位置也是一个关键因素。在科技产业发达的城市,如硅谷、北京、上海、班加罗尔等地,软件开发人员的薪资普遍较高,因为这些地方的企业...
- **初级开发者**:对于刚开始接触Symbian OS或C++语言的新手来说,本书提供了全面的基础知识介绍,有助于快速上手。 - **中级开发者**:有一定经验的开发者可以通过本书深化对Symbian OS的理解,学习更多实用的编程...