本文来自 Totango 的联合创始人兼 CEO 盖伊·尼尔帕兹(Guy Nirpaz),他在本文中列出了优秀的开发者和差的(或还需努力的)开发者之间的区别。
如果你认为使用“优秀”和“差”来区分开发者不妥的话,也可以将这些看作是初级开发者和资深开发者之间的区别。但无论如何,多看看其他的优秀开发者(或资深开发者)是如何做的,对于自身技能、工作方式的提升有很大的帮助。
文章内容如下:
优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。
优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后去实现,同时能够把握大局。差的开发者专注于构建类、方法和配置文件,而不理会大局。
优秀的开发者了解产品的完整架构。差的开发者只知道他写的组件。优秀的开发人员充分理解在产品中使用的技术,了解它们的用途,以及它们在内部如何工作。
优秀的开发者不害怕新技术,并能够很快掌握。差的开发者只坚持他目前掌握的技术,对于任何技术变化持否定态度。
优秀的开发者通过不断学习来提高自己的技能,他们经常阅读技术文章和书籍。差的开发者没有时间来学习,他们总是太忙了,以致于不能干其他事情。
优秀的开发者关心产品的质量,同时也非常关注过程质量,他们努力创造无缺陷的代码。差的开发者将 bug 留给 QA 去发现,然后再修复。
优秀的开发者为客户开发能够创造价值的功能,差的开发者只是想完成任务。优秀的开发者不会声称需求描述是不完整的,并确保充分理解这些特性。差的开发者会等到需求细节完善后才开始工作。优秀的开发者总是确保拥有产品功能的相关信息,一旦信息丢失,他会想办法再得到它。
优秀的开发者不害怕在产品中加入其他人的代码,而差的开发者会担心别人使用他的代码。优秀的开发者认为不应该花费过多的时间来写不言自明 (self-explanatory)和显而易见(well-documented)的代码。差的开发者总是需要分配额外的时间来记录和简化代码。
优秀的开发者永远不会觉得自己的代码已经足够好,相反会持续不断地整理和修复。他们始终致力于创造优雅的解决方案,认为他的工作是向客户提供价值。差的开发者只考虑自己代码是否优雅,将创造价值的工作留给别人。
原文:Good Developer, Bad Developer
分享到:
相关推荐
IOS开发者账号区别IOS开发者账号区别IOS开发者账号区别
HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目...
用友开发者中心提供了开发者社区服务,为开发者提供了解、学习、互动沟通的服务环境,与开发者共建产业生态联盟。 四、开发者经营服务 用友云平台对开发者推出"有参与、可收益、共推广"的保障性服务模式。为合作...
统信UOS 一键开启root权限安装包,一键开启开发者模式,操作简单,deb包安装,一键进入开发者模式 统信UOS的开发者模式是一个为系统开发者或高级用户提供的特殊模式,它类似于Windows系统的管理员权限,允许用户对...
Chrome开发者工具是Google Chrome浏览器内置的一套强大的网页开发和调试工具,它为前端开发者提供了丰富的功能,包括元素检查、网络监控、源代码编辑、性能分析等。这份“Chrome开发者工具中文手册”旨在帮助用户...
本报告是基于一年一度的CSDN开发者大调查数据分析结果形成。CSDN最早从2004年开始针对中国开发者进行大规模调查,是迄今为止覆盖国内各类开发者人群数量最多,辐射地域、行业分布最广的调查活动。该调查旨在全面和...
### GIS开发者群体与《GIS开发者》杂志 #### GIS开发者的重要性及其特性 《GIS开发者》杂志首期刊物聚焦于GIS(Geographic Information System,地理信息系统)开发者群体,这是一群具有跨学科背景的专业人士,...
【标题】"开发者神器库6"是一个专门为开发者设计的实用工具集合,包含了各种有助于优化网络功能的工具。这个工具库的最新版本旨在提供更高效、更便捷的开发环境支持,帮助程序员解决在开发过程中遇到的各种网络相关...
Steam平台开发者游戏上传指南 Steam平台是全球最大的数字发行平台之一,对于游戏开发者来说,上传游戏到Steam平台是非常重要的一步骤。本文将指导开发者如何上传游戏到Steam平台,并对应标签进行详细的解释。 一、...
5. **服务管理与责任承担**:开发者对小程序提供的所有服务负有管理责任,并保证其合法性。如果因服务或运营问题引发争议、纠纷或法律责任,开发者需自行解决并承担责任,且可能需赔偿腾讯因此受到的损失。 综上所...
以下将详细介绍"开发者必须掌握的基础"这一主题,包括与Java相关的基础知识。 首先,我们需要了解计算机基础。"computer-basic.pdf"这个文件很可能包含了计算机系统的基本构成,如硬件(CPU、内存、硬盘等)和软件...
CompactRIO是NI推出的一款工业级实时可重配置I/O平台,它将实时处理器、可重配置FPGA硬件和模块化I/O相结合,适用于复杂、高可靠性要求的控制与监测任务。 文档的前言部分说明了该指南的目的是为了让用户能够快速...
为了帮助开发者简单和高效地开发和调试微信小程序,我们在原有的公众号网页调试工具的基础上,推出了全新的 微信开发者工具,集成了公众号网页调试和小程序调试两种开发模式。版本号:1.02.1808080
HDC 2021年华为开发者大会技术分论坛PPT合集(52份),包含7个主题:Harmony OS测试技术与实战、HarmonyOS Connect智能硬件开发、HarmonyOS架构演进与关键技术、HarmonyOS面向超级终端UX设计、HarmonyOS学生、...
从给定的文件信息来看,标题、...尽管部分内容显示不全,但根据已有的信息,我们可以推测这份报告将涵盖开发者规模与分布、技能与专业领域、生存状态、行业发展趋势与挑战等多个方面,为读者勾勒出一幅详实的行业画卷。
为了帮助开发者简单和高效地开发和调试微信小程序,我们在原有的公众号网页调试工具的基础上,推出了全新的 微信开发者工具,集成了公众号网页调试和小程序调试两种开发模式。版本号:1.02.1808080
在使用谷歌浏览器(Chrome)的过程中,用户可能会遇到一个警告提示:“请停用以开发者模式运行的扩展程序”。这个提示通常是由于安装了非官方市场(如Chrome Web Store)的扩展程序或者是以开发者模式加载的插件导致...
### HarmonyOS应用开发者高级认证题库解析 #### 一、判断题解析 1. **云函数打包完成后,...- **解析**:在HarmonyOS开发中,自定义组件确实拥有自己的生命周期,这与标准UI组件类似,包括初始化、显示、隐藏等阶段。