本文来自 Totango 的联合创始人兼 CEO 盖伊·尼尔帕兹(Guy Nirpaz),他在本文中列出了优秀的开发者和差的(或还需努力的)开发者之间的区别。
如果你认为使用“优秀”和“差”来区分开发者不妥的话,也可以将这些看作是初级开发者和资深开发者之间的区别。但无论如何,多看看其他的优秀开发者(或资深开发者)是如何做的,对于自身技能、工作方式的提升有很大的帮助。
文章内容如下:
优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。
优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后去实现,同时能够把握大局。差的开发者专注于构建类、方法和配置文件,而不理会大局。
优秀的开发者了解产品的完整架构。差的开发者只知道他写的组件。优秀的开发人员充分理解在产品中使用的技术,了解它们的用途,以及它们在内部如何工作。
优秀的开发者不害怕新技术,并能够很快掌握。差的开发者只坚持他目前掌握的技术,对于任何技术变化持否定态度。
优秀的开发者通过不断学习来提高自己的技能,他们经常阅读技术文章和书籍。差的开发者没有时间来学习,他们总是太忙了,以致于不能干其他事情。
优秀的开发者关心产品的质量,同时也非常关注过程质量,他们努力创造无缺陷的代码。差的开发者将 bug 留给 QA 去发现,然后再修复。
优秀的开发者为客户开发能够创造价值的功能,差的开发者只是想完成任务。优秀的开发者不会声称需求描述是不完整的,并确保充分理解这些特性。差的开发者会等到需求细节完善后才开始工作。优秀的开发者总是确保拥有产品功能的相关信息,一旦信息丢失,他会想办法再得到它。
优秀的开发者不害怕在产品中加入其他人的代码,而差的开发者会担心别人使用他的代码。优秀的开发者认为不应该花费过多的时间来写不言自明 (self-explanatory)和显而易见(well-documented)的代码。差的开发者总是需要分配额外的时间来记录和简化代码。
优秀的开发者永远不会觉得自己的代码已经足够好,相反会持续不断地整理和修复。他们始终致力于创造优雅的解决方案,认为他的工作是向客户提供价值。差的开发者只考虑自己代码是否优雅,将创造价值的工作留给别人。
原文:Good Developer, Bad Developer
分享到:
相关推荐
这不仅提高了调试效率,也使得开发者能够更好地模拟真实环境下的小程序运行情况,从而打造出更优秀的微信小程序产品。所以,下次遇到类似需求时,不妨尝试一下这种方法,相信它会成为你开发过程中的得力助手。
【昇腾开发者计划与权益介绍】是华为智能计算战略与业务发展部针对昇腾开发者推出的一项计划,旨在通过丰富的资源和支持,促进人工智能领域的创新和发展。该计划的核心是“1平台+3计划”,即昇腾开发者社区、AI人才...
华为开发者学堂试题答案.zip,HarmonyOS NEXT 开发者预览版 Beta 招募开启,一个实名账号具有 5 次机会,通过要求为 100 分(即满分)。 IT之家注: HarmonyOS NEXT 开发者预览版是在正式版本发布前,为更全面地验证...
**统信UOS开启开发者模式详解** 统信UOS(Unity Operating System)是中国自主研发的一款操作系统,致力于提供安全、稳定、高效、易用的桌面环境。开发者模式是UOS为程序员和高级用户设计的一种特殊模式,它允许...
用友开发者中心提供了开发者社区服务,为开发者提供了解、学习、互动沟通的服务环境,与开发者共建产业生态联盟。 四、开发者经营服务 用友云平台对开发者推出"有参与、可收益、共推广"的保障性服务模式。为合作...
Chrome开发者工具是Google Chrome浏览器内置的一套强大的网页开发和调试工具,它为前端开发者提供了丰富的功能,包括元素检查、网络监控、源代码编辑、性能分析等。这份“Chrome开发者工具中文手册”旨在帮助用户...
本报告是基于一年一度的CSDN开发者大调查数据分析结果形成。CSDN最早从2004年开始针对中国开发者进行大规模调查,是迄今为止覆盖国内各类开发者人群数量最多,辐射地域、行业分布最广的调查活动。该调查旨在全面和...
8. 与硬件交互:Cocoa开发者手册会指导开发者如何利用框架提供的API与硬件设备进行交互,如触摸板、摄像头、麦克风等。 9. 应用程序生命周期管理:掌握应用程序的启动、运行和关闭过程,确保应用程序能够正确地响应...
《2020-2021中国开发者调查报告》作为由CSDN官方发布的调研报告...通过对大量实证数据的综合分析,报告揭示了中国开发者群体的技术行为模式、工具偏好以及未来技术的发展方向,成为连接技术前沿与行业实践之间的桥梁。
8. **故障诊断与调试**:当遇到打印问题时,开发者需要知道如何使用HP提供的诊断工具进行问题定位,以及如何通过日志和错误代码找出问题的根源。 9. **性能优化**:为了获得最佳的打印效果和效率,开发者需要掌握...
在此方面,开发者需要与腾讯公司保持良好的沟通,确保所有信息的及时更新和准确对接。 最后,服务管理与责任承担是开发者应当承担的重要责任。开发者需要对小程序所提供的服务进行全面管理,并确保这些服务的合法性...
这场大会是全球PHP开发者的盛会,标志着2017年时PHP技术的前沿趋势与热点。PHP,全称“Hypertext Preprocessor”(超文本预处理器),是一种广泛用于Web开发的开源脚本语言,尤其在服务器端编程方面具有显著优势。...
1. **嵌入式软件**:在嵌入式系统领域,赛灵思提供了基于Zynq系列的SoC解决方案,集成了高性能的ARM处理器与可编程逻辑,使得开发者能够在同一平台上进行硬件加速和软件处理。大会可能深入讨论了如何利用Vivado HLS...
Firefox开发者版是一款专为网页开发者和设计师打造的高级浏览器版本,它提供了丰富的工具和功能,以便于进行网页调试、性能分析以及代码编辑。这款浏览器基于开源的Gecko引擎,具有高度可定制性和强大的扩展能力,...
Vue DevTools 是一个浏览器扩展,它为Vue应用程序提供了一个方便的开发环境,帮助开发者深入理解应用程序的状态和生命周期。 Vue DevTools 有针对Vue2和Vue3两个版本,因为Vue3引入了一些重大变化。`vue_dev_tools....
- 在学习和开发过程中,可以积极参加华为开发者社区的交流与讨论,以便获得更多的帮助和支持。 ### 结语 HarmonyOS应用开发者高级认证不仅是一个提升个人技术能力的机会,也是一个加速职业发展的平台。通过系统化...
Steam平台开发者游戏上传指南 Steam平台是全球最大的数字发行平台之一,对于游戏开发者来说,上传游戏到Steam平台是非常重要的一步骤。本文将指导开发者如何上传游戏到Steam平台,并对应标签进行详细的解释。 一、...
从提供的文件信息来看,标题是“中国开发者调查报告”,而描述中提及了“云栖社区”,这是阿里巴巴集团旗下的一个技术社区平台。根据这些信息,我们可以推断这份报告应该是关于中国开发者在中国云技术领域的使用情况...
以下将详细介绍"开发者必须掌握的基础"这一主题,包括与Java相关的基础知识。 首先,我们需要了解计算机基础。"computer-basic.pdf"这个文件很可能包含了计算机系统的基本构成,如硬件(CPU、内存、硬盘等)和软件...
本篇文章将详细介绍苹果开发者账号的种类、申请流程以及遇到的问题与解决方案。 首先,苹果开发者账号分为四种类型:个人账号(Individual)、团体账号(Company)、企业账号(Enterprise)和教育账号(University...